首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >互信息/熵计算帮助

互信息/熵计算帮助
EN

Stack Overflow用户
提问于 2010-05-02 02:37:38
回答 1查看 2K关注 0票数 1

希望有人能在这个熵问题上给我一些指点。

假设X是从均匀的整数分布0-32 (包括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)应用于此问题。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2010-05-02 03:09:52

如果这是作业,我会给你提示的。(另外,我假设X~ unif0,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)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2751114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档