信息量与信息熵

之前在浅说熵中介绍过熵这个概念,自我感觉说得不够清晰明了,决定再来谈谈熵,以及熵在实际生活中的应用。熵最初是物理学中的概念,用于描述一个系统的混乱程度,越是无序的系统,熵越大;在没有外部能量输入的情况下,系统的演化方向是朝着熵增加的方向。

信息量

在信息学中,香浓(Shannon)借用了这个概念,引入了信息熵,用来描述接收的每条消息中包含的信息的平均量,又被称为信息熵、信源熵、平均自信息量。这里出现了 信息量 这个概念,信息量(也称为自信息)就是事件发生的概率再取负对数,信息量 I=logapI=-\log_a p,其中底数aa为2,信息量的单位是比特(bit),aae\mathrm e信息量的单位为奈特(nat)。

这是因为信息论的基本想法是一个不太可能的事件居然发生了,要比一个非常可能的事件发生,能提供更多的信息。也就是概率越小的事件发生了,提供的信息量更大,越有价值。比如事件“太阳从东边升起,西边下落”,发生的概率几乎就是1,其信息量为0,一个确定发生的事情,不包含任何信息。对于投掷硬币来说,事件“正面朝上的概率”,这个事件发生的概率为1/2,信息量为log212=1-\log_2 \frac 1 2=1个比特;假定彩票中特等奖的概率为百万分之一,这个事件发生的所带来的信息量为log21106=19.93-\log_2 \frac 1 {10^6}=19.93.

信息熵

一个系统中会包含多个事件,用随机变量来描述,就是系统中随机变量取值有多个。例如投掷6面体的骰子,随机变量的取值为X=1,2,3,4,5,6X=1,2,3,4,5,6,如果骰子是均匀的,则随机变量对应的概率为p(X=xi)=16p(X=x_i) = \frac 1 6,变量取每个值对应的信息量为I(X=xi)=log216=2.58I(X=x_i) = -\log_2 \frac 1 6 = 2.58,这个系统包含6个事件,平均信息量就是信息熵为H(X)=i=16p(X=xi)I(X=xi)=2.58H(X) = \sum_{i=1}^6 p(X=x_i)I(X=x_i) = 2.58

熵是信息量的平均值,用概率来描述其计算公式为:

H(X)=E[I(X)]=iNpilogpiH(X) = \mathbb E[I(X)]= -\sum_i^N p_i \log p_i

对于连续的概率分布把求和换成积分就可以了。

抛硬币的例子

抛掷一枚硬币,正面朝上的概率为pp,反面朝上的概率为1p1-p.信息熵为

H(p)=plogp(1p)log(1p)H(p) = -p\log p - (1-p)\log(1-p)

熵最大的时候,正面朝上的概率等于反面朝上的概率等于1/2.也就意味着在没有别的约束条件下,意味着正面出现的概率与反面出现的概率是等价的,熵最大的情况必然对应着正面朝上的概率等于1/2;如果这枚硬币不均匀(有约束条件),如何估计这枚硬币正面朝上的概率呢?这里就需要极大似然估计了,根据样本出现的概率最大化,来估计概率p。先占个坑,下一篇文章接着说。

一篇文章的信息熵

一篇中文文章由若干字组成,有些字会重复出现,每个字出现的概率不同,由此我们可以计算这篇文章的信息熵。如果我们假定一篇文章的价值就是信息熵,我们就可以用熵来衡量文章的价值了。假如这篇文章只有一个字组成的,那么这篇文章信息熵为0,也就是平均信息量0比特,毫无价值。

如果一篇文章用词丰富,那么这篇文章的熵就会很大,其价值也很大。极端情况下,每个字都不重复,达到最大熵。当然这种衡量手段是比较粗略的。因为如果知道这样衡量文章价值的算法以后,很容易凑出“高质量”的文章,因此文章的信息熵可以作为衡量文章价值的一个特征。

总结

本文主要介绍了两个概念,信息量和信息熵。一个事件发生的概率越低,这个事件发生以后其信息量越大;而信息熵则是衡量系统的平均信息量。