关于信息熵的解释
最近在面试的时候被问到了信息熵,回答的不是很流利,很是汗颜,于是复习一下记录一下,也能加深一下对信息熵的理解
为什么信息熵的形式是 − ∑ p ∗ log 2 p -\sum{p*\log_2p} −∑p∗log2p ?
这里有两点解释:
-
第一。假设存在一个随机变量 x x x,当我们观测到这个随机变量的一个样本时,我们接收到了多少的信息量呢,这里有一个基本的解释,越是不可能发生的事情的发生的时候,信息量越大,越是可能发生的事它的信息量越少,因此信息量的度量应该依赖于概率分布 p ( x ) p(x) p(x),所以说熵的定义应该是概率的单调函数。
-
第二,假设存在两个相互独立的随机变量 x x x, y y y,那么分别观测这两个这两个随机变量和同时观测这两个随机变量得到的信息量是一样的,即有如下的表达:
h ( x + y ) = h ( x ) + h ( y ) h(x + y) = h(x) + h(y) h(x+y)=h(x)+h(y) (1)
从概率的角度来看有:
p ( x , y ) = p ( x ) p ( y ) p(x, y) = p(x)p(y) p(x,y)=p(x)p(y) (2)
从公式(1)(2)来看,信息熵 h h h的定义应该是一个概率 p ( x ) p(x) p(x)的 l o g log log函数,为什么这么说呢?因为 l o g log log函数的性质呀,接下来解释一哈
-
log a x y = log a x + log a y \log_axy = \log_ax + \log_ay logaxy=logax+logay ,那么 log a p ( x , y ) = log a p ( x ) p ( y ) \log_ap(x,y) = \log_ap(x)p(y) logap(x,y)=logap(x)p(y)
= l o g a p ( x ) + l o g a p ( y ) =log_ap(x) + log_ap(y) =logap(x)+logap(y)
这不就是和上面的两个公式(1)(2)对应起来的吗,声明一下,最后关于log函数的解释仅仅是个人的一点见解,如有错误还望指出!另外个人觉得公式(1)的 h ( x + y ) h(x+y) h(x+y)写成 h ( x , y ) h(x, y) h(x,y)会更好一点。
最后呢,我们用熵来评价整个随机变量 x x x的平均信息量,而平均最好的度量就是随机变量的期望啦,即:
H ( x ) = − ∑ p ( x ) l o g 2 p ( x ) H(x) = -\sum{p(x)log_2p(x)} H(x)=−∑p(x)log2p(x)
负号仅仅是用来保证熵为正数
-