pi=1n 时,下面的 H 取得最大值。
H=−∑i=1npilogpi=logn
证明: 先证明一个结论:
两个概率变量 x,y 满足 x+y=p,0<p≤1, p 为一定值,当 x 越靠近 p2 时,下面的z越大
z=−(xlogx+(p−x)log(p−x))
对x求导
z′=−(logx+x1x−log(p−x)−(p−x)1p−x)=−logxp−x
当 x=p2 时,z′=0;
当 x<p2 时,z′>0; 单调递增;
当 x>p2 时,z′<0; 单调递减;
所以,x=p2 为最大值点,x 越靠近 p2 时 z 越大。
下面是 z 函数示意图, 注意这里对数是以 e 为底的,如果以 2 为底,最大值为 1 。
回过头来,证明命题。假设 p=1n, 定义
x1=min(pi)<max(pi)=x2
则必有 x1<p<x2, 由此可推出
−(plogp+(x1+x2−p)log(x1+x2−p))>−(x1logx1+x2logx2)
这是因为若 p≤x1+x22, 则 p 比 x1 靠近 x1+x22, 所以左式大;若p>x1+x22, 则 p 比 x2 靠近 x1+x22, 所以左式大。
每一轮我们都把最小、最大的 pi 所对应的两项 −pilogpi 的值变成了 −(plogp+(x1+x2−p)log(x1+x2−p)) , 并且 H 增大,∑ni=1pi=1 保持了概率和为1。
经过 n-1 轮后,所有的项的值都变成了 −plogp, 达到最大值。 所以 p=1n 时H 取得最大值logn。