我有一个我认为涉及信息论领域的“条件熵”的问题。我试图绕过它,但可以使用一些帮助。考虑一个我们有四个房子的例子。一屋八人,二屋四人,三屋二人,四屋二人。所以,四间房子和十六个人。如果我只是随机选择其中一个人,那么该选择是从 16 个人中选择的,为该选择产生 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
所以,我的数字中缺少一些东西。谁能指出我正确的方向?