熵告诉你系统中有多少不确定性。假设您正在寻找一只猫,并且您知道它位于您的房子和 1 英里外的邻居之间。你的孩子告诉你,猫在离你家距离处的概率最好用beta 分布来描述。所以一只猫可能在 0 和 1 之间的任何地方,但更有可能在中间,即。x f(x;2,2)xmax=1/2
让我们将 beta 分布代入方程,然后得到。H=−0.125
接下来,您问您的妻子,她告诉您,描述她对您的猫的了解的最佳分布是均匀分布。如果将其插入熵方程,则会得到。H=0
制服和 beta 分布都让猫在离你家 0 到 1 英里之间的任何地方,但是制服有更多的不确定性,因为你的妻子真的不知道猫藏在哪里,而孩子们有一些想法,他们认为这更多可能在中间的某个地方。这就是 Beta 的熵低于 Uniform 的原因。
你可以尝试其他分布,也许你的邻居告诉你猫喜欢靠近任何一个房子,所以他的 beta 分布是。它的必须再次低于制服的 H,因为您对在哪里寻找猫有所了解。猜猜你邻居的信息熵比你孩子的高还是低?在这些问题上,我随时都会押注孩子们。α=β=1/2H
更新:
这是如何运作的?考虑这一点的一种方法是从均匀分布开始。如果你同意它是最不确定的那个,那就考虑去打扰它。为简单起见,让我们看一下离散情况。从一个点取并将其添加到另一个点,如下所示:
Δp
p′i=p−Δp
p′j=p+Δp
现在,让我们看看熵是如何变化的:
这意味着来自均匀分布的任何干扰都会降低熵(不确定性)。为了在连续情况下显示相同,我必须使用变分法或沿着这条线的东西,但原则上你会得到相同的结果。
H−H′=pilnpi−piln(pi−Δp)+pjlnpj−pjln(pj+Δp)
=plnp−pln[p(1−Δp/p)]+plnp−pln[p(1+Δp/p)]
=−ln(1−Δp/p)−ln(1+Δp/p)>0
统一随机变量的平均值本身就是一个随机变量,它来自Bates distribution。从CLT我们知道这个新的随机变量的方差缩小为。因此,其位置的不确定性必须随着的增加而减少:我们越来越确定猫在中间。我的下一个图和 MATLAB 代码显示了熵如何从(均匀分布)的 0 减少到。我在这里使用distributions31库。nn→∞nn=1n=13
x = 0:0.01:1;
for k=1:5
i = 1 + (k-1)*3;
idx(k) = i;
f = @(x)bates_pdf(x,i);
funb=@(x)f(x).*log(f(x));
fun = @(x)arrayfun(funb,x);
h(k) = -integral(fun,0,1);
subplot(1,5+1,k)
plot(x,arrayfun(f,x))
title(['Bates(x,' num2str(i) ')'])
ylim([0 6])
end
subplot(1,5+1,5+1)
plot(idx,h)
title 'Entropy'