文章目录
1948年,香农在著名的论文“通信的数学原理”中首次提出了熵(Entropy)的概念,这也解决了信息的度量问题,并量化了信息的作用。
1 信息熵
一条信息的信息量的多少,在直观上我们认为是和内容的多少有关,科学一点讲就是与不确定性有关,信息的不确定性越强,携带的信息量就越多。如果对于一件事一无所知,则这件事对于我们而言就具有极大的信息量,反之信息就极少。我们考虑以下一个问题:
- 在2014年的世界杯,32支球队参加了决赛,如果我们没有看世界杯,朋友也不直接告诉我们谁嬴得了冠军,通过猜的方式,我们需要几次才可以得到正确答案?(假设是7号得到冠军)
在最差的情况下,我们需要猜测五次。
1.冠军在1-16号球队? yes
2. 冠军在1-8号球队? yes
3. 冠军在1-4号球队? no
4. 冠军在5-6号球队?no
5. 冠军在7号球队?yes
所以对于谁是冠军这条信息而言,他的信息量为5,在信息里面,单位是比特(Bit)。如果是64只球队,那我们就需要多猜一次,需要6次得到答案,我们发现了信息的多少取决于log函数。
l o g 2 32 = 5 , l o g 2 64 = 6 log_232=5, log_264=6 log232=5,log264=6
当然这是最差的情况下,我们需要5次才能猜出,在实际生活中,如果我们知道里面有巴西,德国等等强队,我们可能只需要3-4次就可以猜出来。这是因为引入了我们的先验知识,即各个球队夺冠的概率。记为 P i P_i Pi。所以香农基于此提出了准确的信息量的度量——信息熵。
H ( X ) = − ∑ p i l o g ( p i ) H(X)=-\sum p_ilog(p_i) H(X)=−∑pilog(pi)
当所有球队的获胜概率一样时,信息量最大,不确定性越大,即最难猜出来。
2 条件熵
一直以来,信息和不确定性是联系在一起的,而信息和情报的英文表示都是information,情报是为了消除消息的不确定性,比如战争上的一句话的情报都可以改变战场。
一个事物X本身具有不确定性,记作U,为了消除这种不确定性,我们从外部引入信息I,当引入的信息I>U的时候,就可以事物的不确定性。当I<U时,就消除一部分的不确定性,得到新的不确定性 U ′ = U − I U'=U-I U′=U−I。
假设X,Y时两个随机变量,对于信息X,他的信息熵已经固定。随后我们知道了外部信息Y的情况,定义条件熵(conditional entropy)为:Y条件下X的条件概率分布的熵对Y的数学期望:
H ( X ∣ Y ) = ∑ y p ( y ) H ( X ∣ Y = y ) 进 一 步 推 导 : = − ∑ y p ( y ) ∑ x p ( x ∣ y ) l o g ( p ( x ∣ y ) ) = − ∑ y ∑ x p ( x , y ) l o g ( p ( x ∣ y ) ) = − ∑ x , y p ( x , y ) l o g P ( x ∣ y ) \begin{aligned} H(X|Y)=&\sum_{y}p(y)H(X|Y=y)\\ 进一步推导: =&-\sum_yp(y)\sum_xp(x|y)log(p(x|y))\\ =&-\sum_y\sum_xp(x,y)log(p(x|y))\\ =& -\sum_{x,y} p(x,y)logP(x|y) \\ \end{aligned} H(X∣Y)=