互信息/熵计算帮助

时间:2010-05-01 18:37:38

标签: computer-science entropy information-theory

希望有人能给我一些关于这个熵问题的指示。

假设从整数分布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>

由于

1 个答案:

答案 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)。

相关问题