关于这些概念看过很多次了,但一直都记不住,索性用笔记形式记下来备查吧。

1. 熵Entropy

关于熵的基本概念就不说了,可以认为是用来描述随机变量的不确定性,也可以说是用来描述随机变量平均信息量(信息量用编码长度表示,熵即为编码长度的期望形式)。公式如下:

H(X)=∑x∈Xp(x)logap(x)
当a=2时,即熵的单位为比特。可以看到,当有必然事件p(x)=1发生时,熵值达到最小值0;当所有概率均相等时,熵值达到最大。



2. 联合熵Joint Entropy、条件熵Conditional Entropy

设X,Y

是两个离散型随机变量,它们的联合分布密度为p(x,y),则X和Y的联合熵定义为:


H(X,Y)=∑x∈X,y∈Yp(x,y)logp(x,y)
条件熵定义为:
H(Y|X)=∑x∈Xp(x)H(Y|X=x)=∑x∈Xp(x) ∑y∈Yp(y|x)logp(y|x) =∑x∈X,y∈Yp(x,y)logp(y|x)



3. 互信息Mutual Information

根据以上的定义,有链式规则:

H(X,Y)=H(X)+H(Y|X)=H(Y)+H(X|Y)
证明如下:
H(X)+H(Y|X)=∑x∈Xp(x)logp(x)–∑x∈X,y∈Yp(x,y)logp(y|x)=∑x∈X,y∈Yp(x,y)logp(x)–∑x∈X,y∈Yp(x,y)logp(y|x)=–∑x∈X,y∈Yp(x,y)logp(x,y)=H(X,Y)
同理交换X和Y则可证明H(X,Y)=H(Y)+H(X|Y)。
同时,根据链式规则可推导出互信息的定义:
MI(X,Y)=H(X)–H(X|Y)=H(Y)–H(Y|X)
根据定义,可推导出:
MI(X,Y)=H(X)–H(X|Y)=–∑x∈Xp(x)logp(x)+∑x∈X,y∈Yp(x,y)logp(x|y)=∑x∈X,y∈Yp(x,y)logp(x)+∑x∈X,y∈Yp(x,y)logp(x|y)=–∑x∈X,y∈Yp(x,y)logp(x)p(x|y)=–∑x∈X,y∈Yp(x,y)logp(x)p(y)p(x,y)=∑x∈X,y∈Yp(x,y)logp(x,y)p(x)p(y)
互信息用来描述包含在X中有关Y的信息量,或包含在Y中有关X的信息量,在形式上可理解为在确定了其中的Y后X的熵值保留。根据互信息,可以来判定相关性:
- 当MI(X,Y)>>0时,X和Y高度相关;
- 当MI(X,Y)=0时,X和Y相互独立;
- 当MI(X,Y)<<0时,X和Y互补相关。


上面的定义均可以表达在Venn韦恩图中:
熵、条件熵、互信息等概念_概念

两个集合A,B,其中A代表H(X)

,B代表H(Y),交集为MI(X,Y),并集为H(X,Y)。



4. 交叉熵Cross Entropy

设随机变量X

的分布密度为p(x),在很多情况下该密度是未知的,通过使用统计手段得到X的近似分布q(x),则将随机变量X的交叉熵定义为:


H(X,q)=–∑x∈Xp(x)logq(x)
形式上可以理解为使用q(x)来代替原来p(x)的信息量。



5. 相对熵Relative Entropy

设p(x)

、q(x)是随机变量X的两个不同分布密度,则它们的相对熵定义为:


D(p||q)=∑x∈Xp(x)logp(x)q(x)=∑x∈Xp(x)logp(x)–∑x∈Xp(x)logq(x)=H(X,q)–H(q)
相对熵一般也称为Kullback-Leibler散度或Kullback-Leibler距离,可以用来度量一个随机变量不同分布的差异程度,描述了因为错用分布密度而增加的信息量。



参考:

[1] 常宝宝, 熵和语言模型评价, 北京大学计算语言学研究所, http://www.icl.pku.edu.cn/member/chbb/lecture/CL/Computational_Linguistics_04.pdf