希望有人能给我一些关于这个熵问题的指示。
假设从整数分布0-32(含)中随机选择X.
我计算熵,H(X)= 32位,因为每个Xi具有相同的发生概率。
现在,请说下面的伪代码执行。
int r = rand(0,1); //随机整数0或1
r = r * 33 + X;
我如何计算两个变量r和X之间的互信息?
互信息被定义为I(X; Y)= H(X) - H(X | Y)但我真的不明白如何将条件熵H(X | Y)应用于这个问题。 / p>
由于
答案 0 :(得分:1)
如果这是作业,那么我会给出提示。 (另外,我假设X~unif [0,31]所以这些数字很好。你确定它是[0,32]而不是[0,31]吗?)
首先,检查您的H(X)计算。 H(X)= 5,而不是32。
其次,等式r = 33r + X没有意义。让我使用不同的变量:
Y = 32R + X
第三,你没有陈述R的概率分布。假设0和1是等概率的,那么H(R)= 1.
如上所述,I(X; Y)= H(X)-H(X | Y)= H(Y)-H(Y | X)。考虑H(Y | X)。如果给出X,即保持不变,则Y仅取决于R,对吗?因此,H(Y | X)= H(R)。
最后,使用总概率定律计算Y的概率分布。(提示:它是一个简单的。)然后你可以计算H(Y),最后计算I(X; Y)。