统计自然语言处理---信息论基础
李亚超 2010-10-29
1 简介
信息论产生于20世纪,最早由Shannon(Claude Shannon)提出。 那时Shannon在研究如何在由噪音的通信链路上尽量提高数据的传输量,为了能够从理论上求出最大的数据压缩律,Shannon提出了熵(Entropy)的概念。注意这个概念很重要,是信息论的基本理论,以后会多次用到。这里我要 介绍的包括熵(Entropy),联合熵和交叉熵(Joint entropy and conditional entropy),互信息(Mutual information ),噪声信道模型(The noisy channel model),相对熵(Relative entropy or Kullback-Leibler divergence)。这些信息论上的理论在用到统计自然语言处理时,会产生意想不到效果。
2 信息论
2.1 熵(Entropy)
熵(自信息,self-information)是度量信息量的一种方法。一条信息的信息量大小和他的不确定性有直接的关系,比如我们要搞清楚一个不一无所知的问题需要大量的信息,相反如果要我们已经对一件事有所了解,那么就不需要太多的信息就可以把它搞清楚。从这个意义上说熵就是平均不确定性的多少。
熵的大小用bits来衡量,这里我们用得到数学公式log是以2为基底,并且定义和log0=0。
离散型随机变量X包含一系列值{x1,x2,...,xn}的熵H为: H(X) =E(I (X) ) 。 E是期望值, I 是X的信息内容,I(X)是自我随机变量(I(X) is itself a random variable),如果p表示x的概率的质量函数( probability mass function),那么熵可以写为:
b是对数的底,通常为2,欧拉数e和10。当b=2时熵的单位为bit,b=e是熵的单位为nat,b=10时熵的单位为dit(gigit)。我们通常用的b=2。
2.2 联合熵和条件熵(Joint entropy and conditional entropy)
联合熵是对一对离散的随机变量的信息量的度量,比如X,Y~P(x,y)