1、编码
常见的计算机是以二进制进行编码,如果四个词汇则需要两个二进制才能进行传输。如:狗猫鱼鸟”的编码是00011011
- 狗 00
- 猫 01
- 鱼 10
- 鸟 11
但是当提到狗的次数,多于其他词汇。假定概率分布如下。
- 狗:50%
- 猫:25%
- 鱼:12.5%
- 鸟:12.5%
小张的最新一封信是这样的。
狗狗狗狗猫猫鱼鸟
上面这封信,用前一节的方法进行编码。
0000000001011011
一共需要16个二进制。互联网的流量费很贵,有没有可能找到一种更短编码方式?很容易想到,”狗”的出现次数最多,给它分配更短的编码,就能减少总的长度。请看下面的编码方式。
- 狗 0
- 猫 10
- 鱼 110
- 鸟 111
使用新的编码方式,小张的信”狗狗狗狗猫猫鱼鸟”编码如下。
00001010110111
这时只需要14个二进制位,相当于把原来的编码压缩了12.5%。
根据新的编码,每个词只需要1.75个二进制位(14 / 8)。
下面是数学证明。一个二进制位有两种可能0和1,如果某个事件有多于两种的结果(比如本例是四种可能),就只能让0或1其中一个拥有特殊含义,另一个必须空出来,保证能够唯一解码。比如,0表示狗,1就必须空出来,不能有特殊含义。
同理,两个二进制位可以表示四种可能:00、01、10和11。上例中,0开头的编码不能用了,只剩下10和11可用,用10表示猫,为了表示”鱼”和”鸟”,必须将11空出来,使用三个二进制位表示。
2、信息量
根据前面的讨论,可以得到一个结论:概率越大,所需要的二进制位越少。
- 狗的概率是50%,表示每两个词汇里面,就有一个是狗,因此单独分配给它1个二进制位。
- 猫的概率是25%,分配给它两个二进制位。
- 鱼和鸟的概率是12.5%,分配给它们三个二进制位。
香农给出了一个数学公式。L表示所需要的二进制位,p(x)表示发生的概率,它们的关系如下。
通过上面的公式,可以计算出某种概率的结果所需要的二进制位,也就是我们常说的信息量,单位是比特(bit)。本质是求得一个以2为底的对数,信息是以指数的形式发展(符合逻辑)
很显然,不均匀分布时,某个词出现的概率越高,编码长度就会越短。
从信息的角度看,如果信息内容存在大量冗余,重复内容越多,可以压缩的余地就越大。日常生活的经验也是如此,一篇文章翻来覆去都是讲同样的内容,摘要就会很短。反倒是,每句话意思都不一样的文章,很难提炼出摘要。
由于信息量的多少与概率分布相关,所以在信息论里面,信息被定义成不确定性的相关概念:概率分布越分散,不确定性越高,信息量越大;反之,信息量越小。
3、信息熵
知道了每种概率对应的编码长度,就可以计算出一种概率分布的平均编码长度。
上面公式的H,就是该种概率分布的平均编码长度。理论上,这也是最优编码长度,不可能获得比它更短的编码了。
接着上面的例子,看看这个公式怎么用。小张养狗之前,”狗猫鱼鸟”是均匀分布,每个词平均需要2个二进制位。
H = 0.25 x 2 + 0.25 x 2 + 0.25 x 2 + 0.25 x 2 = 2
养狗之后,”狗猫鱼鸟”不是均匀分布,每个词平均需要1.75个二进制位。
H = 0.5 x 1 + 0.25 x 2 + 0.125 x 3 + 0.125 x 3 = 1.75
既然每个词是 1.75 个二进制位,”狗狗狗狗猫猫鱼鸟”这8个词的句子,总共需要14个二进制位(8 x 1.75)。
前面公式里的H(平均编码长度),其实就是信息量的度量。H越大,表示需要的二进制位越多,即可能发生的结果越多,不确定性越高。比如,H为1,表示只需要一个二进制位,就能表示所有可能性,那就只可能有两种结果。如果H为6,六个二进制位表示有64种可能性,不确定性大大提高。
信息论借鉴了物理学,将H(p)称为”信息熵”(information entropy)。在物理学里,熵表示无序,越无序的状态,熵越高。
4、特殊条件下的信息熵
联合熵
两个随机变量 X 和 Y 的联合分布可以形成联合熵,定义为联合自信息的数学期望,它是二维随机变量 XY 的不确定性的度量,用H(X,Y)表示:
条件熵
在随机变量 X 发生的前提下,随机变量 Y 发生新带来的熵,定义为 Y 的条件熵,用H(Y|X)表示:
条件熵用来衡量在已知随机变量 X 的条件下,随机变量 Y 的不确定性。
实际上,熵、联合熵和条件熵之间存在以下关系:
推导过程略
相对熵
相对熵又称互熵、交叉熵、KL 散度、信息增益,是描述两个概率分布 P 和 Q 差异的一种方法,记为D(P||Q)。
在信息论中,D(P||Q) 表示当用概率分布 Q 来拟合真实分布 P 时,产生的信息损耗,其中 P 表示真实分布,Q 表示 P 的拟合分布。
对于一个离散随机变量的两个概率分布 P 和 Q 来说,它们的相对熵定义为:
注意:
5、互信息
两个随机变量 X,Y 的互信息定义为 X,Y 的联合分布和各自独立分布乘积的相对熵称为互信息,用I(X,Y)表示。
有时,熵称为自信息。
互信息是信息论里一种度量两个事件集合之间的相关性的方式,它可以看成是给定Y知识的条件下X不确定度的缩减。
互信息和相对熵的区别
衡量相关性的两个参数:
相对熵表示两个随机分布之间距离的度量,或者说是两者之间的差异。作用对象是随机分分布,也就是函数之间的相关性。
互信息是随机变量包含另一个随机变量信息量的度量。作用对象是变量。
6、最大熵模型
最大熵原理是概率模型学习的一个准则,它认为:学习概率模型时,在所有可能的概率分布中,熵最大的模型是最好的模型。通常用约束条件来确定模型的集合,所以,最大熵模型原理也可以表述为:在满足约束条件的模型集合中选取熵最大的模型。
熵满足下列不等式:
式中,|X | 是 X 的取值个数,当且仅当 X 的分布是均匀分布时右边的等号成立。也就是说,当 X 服从均匀分布时,熵最大。
直观地看,最大熵原理认为:要选择概率模型,首先必须满足已有的事实,即约束条件;在没有更多信息的情况下,那些不确定的部分都是 “等可能的”。最大熵原理通过熵的最大化来表示等可能性;“等可能” 不易操作,而熵则是一个可优化的指标。
