希望有人能给我一些关于这个熵问题的指示。
假设 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) 应用于这个问题。
谢谢
希望有人能给我一些关于这个熵问题的指示。
假设 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) 应用于这个问题。
谢谢
如果这是家庭作业,那么我会给出提示。(另外,我假设 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)。