首页 文章

互信息/熵计算帮助

提问于
浏览
1

希望有人可以给我一些关于这个熵问题的指示 .

假设X是从均匀整数分布0-32(包括)中随机选择的 .

我计算熵,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)应用于该问题 .

谢谢

1 回答

  • 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) .

相关问题