1. 熵Entropy
关于熵的基本概念就不说了,可以认为是用来描述随机变量的不确定性,也可以说是用来描述随机变量平均信息量(信息量用编码长度表示,熵即为编码长度的期望形式)。公式如下:
当a=2时,即熵的单位为比特。可以看到,当有必然事件p(x)=1发生时,熵值达到最小值0;当所有概率均相等时,熵值达到最大。
2. 联合熵Joint Entropy、条件熵Conditional Entropy
设X,Y
是两个离散型随机变量,它们的联合分布密度为p(x,y),则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)+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互补相关。
两个集合A,B,其中A代表H(X)
,B代表H(Y),交集为MI(X,Y),并集为H(X,Y)。4. 交叉熵Cross Entropy
设随机变量X
的分布密度为p(x),在很多情况下该密度是未知的,通过使用统计手段得到X的近似分布q(x),则将随机变量X的交叉熵定义为:形式上可以理解为使用q(x)来代替原来p(x)的信息量。
5. 相对熵Relative Entropy
设p(x)
、q(x)是随机变量X的两个不同分布密度,则它们的相对熵定义为:相对熵一般也称为Kullback-Leibler散度或Kullback-Leibler距离,可以用来度量一个随机变量不同分布的差异程度,描述了因为错用分布密度而增加的信息量。
参考:
[1] 常宝宝, 熵和语言模型评价, 北京大学计算语言学研究所, http://www.icl.pku.edu.cn/member/chbb/lecture/CL/Computational_Linguistics_04.pdf