如何在两步决策中计算信息熵?

时间:2010-02-24 05:33:12

标签: information-theory

我有一个问题,我认为它涉及信息理论领域的“条件熵”。我试图绕过它,但可以使用一些帮助。考虑一个我们有四个房子的例子。在第一个房子里有八个人,四个人住在第二个房子里,第三个房子里有两个人,第四个房子里有两个人。所以,四个房子和十六个人。如果我只是随机选择其中一个人,那么这个选择是从十六个人中选出的,产生一个4比特的信息熵。

但现在考虑一个两步选择,首先我随机选择一个房子,然后我选择所选房屋中的一个人。因此,从可用的四个房屋中挑选一个房屋的第一步,产生两位信息熵。但是现在,在我选择第一所房子的25%的时间里,第二步在第一宫的八个人中选择一个人时又增加了三个位。在另外25%的情况下,我只需要另外两位来从居住在第二宫的四个人中选择一个人。最后,在完全一半的情况下,我只需要一个位来从生活在第三或第四宫的一对中挑选一个人。

在某种程度上,在我看来,两步法的位计数的加权平均值应该产生与单步法所需的相同的四位总数。但是我无法将这些数字加起来,所以显然我的数学比我考虑的更多。我期待你应该简单地将这样的概率加起来:

(picking a house) + (picking a person in that house) ==

log(4) + [(1/4)*log(8) + (1/4)*log(4) + (1/4)*log(2) + (1/4)*log(2)]

但是这会产生3.75位的结果,而不是我期望的4位。这是我用来评估它的一些python。

from math import log
def log2(x):
    return log(x,2)
x = log2(4) + ((1.0/4)*log2(8) + (1.0/4)*log2(4) + (1.0/4)*log2(2) + (1.0/4)*log2(2))
print x

所以,我的数字中缺少一些东西。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

如果你随机选择一个房子(统一概率,简称UP),然后选择一个随机居民(UP),你选择一个16 UP - 你有一些偏斜的分布,毫不奇怪地产生较低的熵(UP最大化熵)。选择8个人,每个人的概率为1/32,其中4人的概率为1/16,其他4人的概率为1/8。 分布的熵为3.75位,正如您使用不同方法计算的那样。

相关问题