信息量、熵、相对熵、互信息、散度

来自PRML的1.6

一个随机变量可以取多个值,每取一个值相当于发生了一个event,不同event发生后产生的信息量不同,这个信息量应该如何度量呢?

首先,信息量应该与这件事发生的概率有关,越小概率的事情发生了产生的信息量越大,如地震了;越大概率的事情发生了产生的信息量越小,如太阳从东边升起来了。因此一个event的信息量应该是随着其发生概率而递减的,且不能为负。

其次,两个独立event同时发生的概率等于两者概率之积,而产生的信息量是两者信息量之和。

综上,event x发生的信息量定义为

h(x)=-log p(x)

是合适的。底数若取2,则得到的信息量单位为bits。

信息量度量的是一个具体event发生了所带来的信息,而熵则是在结果出来之前对可能产生的信息量的期望——考虑该随机变量的所有可能取值,即所有可能发生event所带来的信息量的期望。即

H[x]=-Sum over x p(x)log p(x)

是对x最优编码的长度,或者说对x编码的长度下限。

该期望在p(x)取值越均匀的时候越大,因此最大熵模型就是仅令p(x)满足已知限制所得到的模型。

条件熵(conditional entropy)H[y|x]是描述在已知x取值的情况下,再获知y所能获得的信息量大小期望。H[x,y]=H[x]+H[y|x],当x与y独立时有H[x,y]=H[x]+H[y],即H[y]=H[y|x]。

相对熵(relative entropy)亦称KL散度(KL divergence),写作KL(p||q)。描述的是:x的分布实际是p(x),但建模结果是q(x),用q(x)来指导对x的编码时由于q(x)与p(x)的差异所带来的额外编码长度,可以用来度量q(x)原理p(x)的程度。

互信息(Mutual Information)使用相对熵定义的:I[x,y]=KL(p(x,y)||p(x)p(y)),即若认为x和y是独立的,那么将由于没有考虑x和y之间相关性而浪费多少信息量,浪费的越多说明x和y的相关程度越高。

微分熵(differential entropy)就是将离散随机变量的熵概念扩展到连续型随机变量上。

posted @ 2013-01-15 17:10  ChrisMachineLearning  阅读(1992)  评论(0)    收藏  举报