You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

从联合概率表计算熵:信息论自学中的若干疑问

解答你的信息论疑问

1. 关于H(1/8, 7/8)中出现的(1/8, 3/4)指代什么

咱先明确:H(p₁, p₂, ..., pₙ)是离散熵的标准写法,输入必须是和为1的概率分布(毕竟概率加起来得是1对吧)。你提到的(1/8, 3/4)加起来是7/8,显然不是熵函数的参数——大概率是你看资料时把联合概率/边缘概率和熵的参数搞混了。

结合哈佛那章常用的条件熵例子推测:假设X、Y是两个离散变量,Y有两个取值1和2,其中P(Y=1)=3/4P(Y=2)=1/4;当Y=1时,X的条件分布是(1/8,7/8)(所以对应H(X|Y=1)=H(1/8,7/8))。你看到的(1/8,3/4)可能是**联合概率P(X=x₁,Y=1)**或者Y=1的边缘概率P(Y=1)和某个条件概率的组合?总之记住:熵的参数一定是和为1的概率集合,其他数值对都是概率值(联合/边缘/条件),不是熵的输入。

2. 为何H(X|Y = 2) = 1?

这是个很典型的熵值情况!离散熵的公式是H(X) = -Σpᵢlog₂pᵢ。当H(X|Y=2)=1时,说明在Y=2的条件下,X的条件分布是两个等概率的结果——比如P(X=x₁|Y=2)=1/2P(X=x₂|Y=2)=1/2。代入算一下:

H(X|Y=2) = -[(1/2)log₂(1/2) + (1/2)log₂(1/2)] = -[(1/2)(-1) + (1/2)(-1)] = 1

说白了,这时候X的不确定性正好是1比特——你需要1个二进制位(0或1)就能确定它的取值,完全符合熵的物理意义。

3. 1/4 H(X|Y = 2)中的1/4系数来源是什么?

这个1/4就是Y取2这个值的概率,也就是P(Y=2)=1/4。条件熵H(X|Y)的本质是加权平均:对Y的每个可能取值,先算该条件下X的熵,再用Y取这个值的概率作为权重,把所有结果加起来。公式是:

H(X|Y) = Σₚ P(Y=y) * H(X|Y=y)

所以如果Y=2发生的概率是1/4,那对应的项自然就是1/4 * H(X|Y=2)——这个系数用来体现这个条件在整体中占的比重,概率越大,对应的条件熵对整体的影响就越大。

4. log₂(0)无定义,计算H(X|...)时该如何理解?

这是信息论里早就约定好的处理方式:我们直接定义0*log₂0 = 0。为啥这么定?用极限就能解释:当概率p趋近于0时,p*log₂p的极限是0(用洛必达法则算一下就知道,lim(p→0+) p*lnp = 0,换成log₂只是乘个常数,极限还是0)。

实际计算时,只要某个结果的概率是0,那对应的项就直接当0处理就行——毕竟概率为0的事件根本不会发生,自然不会给系统带来任何不确定性(熵),完全不影响计算结果。


内容的提问来源于stack exchange,提问作者John

火山引擎 最新活动