上一篇文章我们简单介绍了香农信息量的概念,由香农信息量我们可以知道对于一个已知概率的事件,我们需要多少的数据量能完整地把它表达清楚,不与外界产生歧义。但对于整个系统而言,其实我们更加关心的是表达系统整体所需要的信息量。比如我们上面举例的 a a B a a a V a a a a a aaBaaaVaaaaa aaBaaaVaaaaa这段字母,虽然 B B B和 V V V的香农信息量比较大,但他们出现的次数明显要比 a a a少很多,因此我们需要有一个方法来评估整体系统的信息量。
相信你可以很容易想到利用期望这个东西,因此评估的方法可以是:“事件香农信息量×事件概率”的累加。这也正是信息熵的概念。
如 a a B a a a V a a a a a aaBaaaVaaaaa aaBaaaVaaaaa这段字母,信息熵为: − 5 6 l o g 2 5 6 − 2 × 1 12 l o g 2 1 12 = 0.817 -\frac{5}{6}log_2\frac{5}{6}-2×\frac{1}{12}log_2\frac{1}{12}=0.817 −65log265−2×121log2121=0.817
a b B c d e V f h g i m abBcdeVfhgim abBcdeVfhgim这段字母,信息熵为: − 12 × 1 12 l o g 2 1 12 = 3.585 -12×\frac{1}{12}log_2\frac{1}{12}=3.585 −12×121log2121=3.585
从数值上可以很直观地看出,第二段字母信息量大,和观察相一致。
对于连续型随机变量,信息熵公式变为积分的形式,如下:
H ( p ) = H ( X ) = E x ∼ p ( x ) [ − log p ( x ) ] = − ∫ p ( x ) log p ( x ) d x H ( p ) = H ( X ) = \mathrm { E } _ { x \sim p ( x ) } [ - \log p ( x ) ] = - \int p ( x ) \log p ( x ) d x H(p)=H(X)=Ex∼p(x)[−logp(x)]=−∫p(x)logp(x)dx