本文为鄙人的网摘与总结,参考链接见文末,侵删。
目录
- 香农熵(Shannon entropy)
- 熵(entropy)
- 信息(Information)
香农熵(Shannon entropy)
信息量:对某个事件发生或者变量出现的概率的度量,一般一个事件发生的概率越低,则这个事件包含的信息量越大,这跟我们直观上的认知也是吻合的,越稀奇新闻包含的信息量越大,因为这种新闻出现的概率低。
香农对信息量的衡量:
l o g 1 p = − l o g p log\ \frac{1}{p}=-log\ p log p1=−log p
一条信息的[信息量]大小和它的不确定性有直接的关系。比如说,我们要搞清楚一件非常非常不确定的事,或是我们一无所知的事情,就需要了解大量的信息。相反,如果我们对某件事已经有了较多的了解,我们不需要太多的信息就能把它搞清楚。所以,从这个角度,我们可以认为,信息量的度量就等于不确定性的多少。变量的不确定性越大,熵也就越大,把它搞清楚所需要的信息量也就越大。
香农熵定义:对于任意一个随机变量 X X X:
H ( X ) = − ∑ x P ( X ) l o g 2 [ P ( x ) ] H(X)=-\sum_x P(X) log_2 [P(x)] H(X)=−x∑P(X)log2[P(x)]
对于随机变量而言,其取值是不确定的。在做随机试验之前,我们只了解各取值的概率分布,而做完随机试验后,我们就确切地知道了取值,不确定性完全消失。这样,通过随机试验我们获得了信息,且该信息的数量恰好等于随机变量的熵。在这个意义上,我们可以把熵作为信息的量度。
熵(entropy)
熵是衡量一个系统的稳定程度,也是一个系统所有变量信息量的期望或者均值。当一个系统越不稳定,或者事件发生的不确定性越高,它的熵就越高。如下所示(同eq. 2),对数的底数没有确定:
H ( X ) = − ∑ x ∈ X P ( x ) l o g P ( x ) = − E l o g P ( X ) H(X)=-\sum_{x\in X} P(x) log P(x)=-E\ log \ P(X) H(X)=−x∈X∑P(x)logP(x)=−E log P(X)
熵的变体:
-
连续变量的熵:
H ( X ) = ∫ P ( x ) ⋅ l o g 1 P ( x ) d x H(X)=\int P(x) · log\frac{1}{P(x)}dx H(X)=∫P(x)⋅logP(x)1dx -
联合熵(joint entropy):
H ( X , Y ) = ∑ x ∈ X ∑ y ∈ Y P ( x , y ) l o g 1 P ( x , y ) = − E l o g P ( X , Y ) H(X,Y)=\sum_{x\in X}\sum_{y\in Y}P(x,y)log\frac{1}{P(x,y)}=-E\ log P(X,Y) H(X,Y)=x∈X∑y∈Y∑P(x,y)logP(x,y)1=−E logP(X,Y) -
条件熵(conditional entropy):
H ( Y ∣ X ) = ∑ x ∈ X P ( x ) H ( Y ∣ X = x ) = − E l o g P ( Y ∣ X ) H(Y|X)=\sum_{x\in X}P(x)H(Y|X=x)=-E log\ P(Y|X) H(Y∣X)=x∈X∑P(x)H(Y∣X=x)=−Elog P(Y∣X) -
相对熵(relative entropy),即KL散度(Kullback–Leibler divergence),用于衡量两个分布对于同一个变量的差异:
D K L ( p ∣ ∣ q ) = ∑ i p ( x i ) ⋅ [ l o g 1 q ( x i ) − l o g 1 p ( x i ) ] = ∑ i p ( x i ) ⋅ l o g p ( x i ) q ( x i ) D_{KL}(p||q)=\sum_{i}p(x_i)·[log\frac{1}{q(x_i)}-log\frac{1}{p(x_i)}] =\sum_{i}p(x_i)·log\frac{p(x_i)}{q(x_i)} DKL(p∣∣q)=i∑p(xi)⋅[logq(xi)1−logp(xi)1]=i∑p(xi)⋅logq(xi)p(xi)
其中 p p p 是观察到的变量分布, q q q 是我们找到的一个尽量分布。
备注:
(1) K L 散 度 = 交 叉 熵 − 熵 KL散度=交叉熵-熵 KL散度=交叉熵−熵:
D K L ( p ∣ ∣ q ) = H ( p , q ) − H ( p ) D_{KL}(p||q)=H(p,q)-H(p) DKL(p∣∣q)=H(p,q)−H(p)
(2) KL散度是非对称度量,故不能作为距离计算,因为 D K L ( p ∣ ∣ q ) ≠ D K L ( q ∣ ∣ p ) D_{KL}(p||q)\neq D_{KL}(q||p) DKL(p∣∣q)=DKL(q∣∣p)。
-
交叉熵(cross entropy),也可以用来衡量两个分布之间的差异性。
H C E ( p , q ) = ∑ i p ( x i ) ⋅ l o g 1 q ( x i ) H_{CE}(p,q)=\sum_i p(x_i)·log\ \frac{1}{q(x_i)} HCE(p,q)=i∑p(xi)⋅log q(xi)1
显然交叉熵是相对熵的一部分,因为在通常情况下我们是已知 p p p的分布,即第二部分是常量,此时交叉熵和相对熵是一个线性关系。我们常常在神经网络中使用交叉熵作为损失函数。 -
JS散度(Jensen-Shannon divergence):为解决相对熵即KL散度的不对称问题,进而延伸的变体。
D J S ( p ∣ ∣ q ) = 0.5 × [ D K L ( p ∣ ∣ p + q 2 ) + D K L ( q ∣ ∣ p + q 2 ) ] D_{JS}(p||q) =0.5\times[D_{KL}(p||\frac{p+q}{2})+D_{KL}(q||\frac{p+q}{2})] DJS(p∣∣q)=0.5×[DKL(p∣∣2p+q)+DKL(q∣∣2p+q)]
注:JS散度有上界 1 2 l o g 2 \frac{1}{2}log\ 2 21log 2.
信息(Information)
信息增益(Information Gain):在一个训练集上,用来衡量一个变量 a a a对其的影响。
G a i n ( D , a ) = H ( D ) − H ( D ∣ a ) Gain(D,a)=H(D)-H(D|a) Gain(D,a)=H(D)−H(D∣a)
可知 信 息 增 益 = 信 息 熵 − 条 件 熵 信息增益=信息熵-条件熵 信息增益=信息熵−条件熵 ,信息熵是代表随机变量的复杂度(不确定度),条件熵代表在某一个条件下,随机变量的复杂度(不确定度),故信息增益代表了在一个条件下,信息复杂度(不确定性)减少的程度。
互信息(Mutual Information):
I ( X , Y ) = H ( X ) − H ( X ∣ Y ) = H ( Y ) − H ( Y ∣ X ) = H ( X ) + H ( Y ) − H ( X , Y ) I(X,Y)=H(X)-H(X|Y)=H(Y)-H(Y|X)=H(X)+H(Y)-H(X,Y) I(X,Y)=H(X)−H(X∣Y)=H(Y)−H(Y∣X)=H(X)+H(Y)−H(X,Y)
如图所示,互信息即为两边熵的交叉部分。
我们也可以从另一个角度进行理解。设随机变量 ( X , Y ) (X,Y) (X,Y)的联合分布及边缘分布分别为 p ( x , y ) 、 p ( x ) 、 p ( y ) p(x,y)、p(x)、p(y) p(x,y)、p(x)、p(y)。互信息就是联合分布与乘积分布的相对熵:
I ( X ; Y ) = ∑ x ∑ y p ( x , y ) l o g p ( x , y ) p ( x ) p ( y ) = K L ( p ( x , y ) ∣ ∣ p ( x ) p ( y ) ) I(X;Y)=\sum_x \sum_y p(x,y)log \frac{p(x,y)}{p(x)p(y)}=KL(p(x,y)||p(x)p(y)) I(X;Y)=x∑y∑p(x,y)logp(x)p(y)p(x,y)=KL(p(x,y)∣∣p(x)p(y))
I ( X ; Y ) = ∑ x ∑ y p ( y ∣ x ) l o g p ( y ∣ x ) p ( y ) = K L ( p ( y ∣ x ) ∣ ∣ p ( y ) ) I(X;Y)=\sum_x \sum_y p(y|x)log \frac{p(y|x)}{p(y)}=KL(p(y|x)||p(y)) I(X;Y)=x∑y∑p(y∣x)logp(y)p(y∣x)=KL(p(y∣x)∣∣p(y))
互信息可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。
互信息与信息增益的关系与区别:
- 互信息描述的是同一个系统下两个子系统的对应部分的信息量;信息增益描述的是同一个系统下,不同状态的信息量。
- 互信息是指一些物体以不同属性进行分类时的信息量,评价的是属性的关键程度;信息增益是指在已知一个事件后, 事件的不确定程度。
- 信息增益是互信息的无偏估计,所以在决策树的训练过程中, 两者是等价的。
3. 归一化互信息(NMI,Normal Mutual Information):
将互信息放在[0,1]之间,用于算法的评价:
N M I ( X ; Y ) = 2 I ( X , Y ) H ( X ) + H ( Y ) NMI(X;Y)=\frac{2I(X,Y)}{H(X)+H(Y)} NMI(X;Y)=H(X)+H(Y)2I(X,Y)
- 聚类中的标准互信息NMI
N M I ( Ω ; C ) = 2 I ( Ω , C ) H ( Ω ) + H ( C ) NMI(\Omega ;C)=\frac{2I(\Omega,C)}{H(\Omega)+H(C)} NMI(Ω;C)=H(Ω)+H(C)2I(Ω,C)
其中:
I ( Ω , C ) = ∑ k ∑ j P ( w k ∩ c j ) l o g P ( w k ∩ c j ) P ( w k ) P ( c j ) = ∑ k ∑ j ∣ w k ∩ c j ∣ N l o g N ∣ w k ∩ c j ∣ ∣ w k ∣ ∣ c c ∣ I(\Omega,C)=\sum_k \sum_j P(w_k \cap c_j)log\frac{P(w_k \cap c_j)}{P(w_k) P(c_j)} =\sum_k \sum_j \frac{|w_k \cap c_j|}{N}log\frac{N|w_k \cap c_j|}{|w_k||c_c|} I(Ω,C)=k∑j∑P(wk∩cj)logP(wk)P(cj)P(wk∩cj)=k∑j∑N∣wk∩cj∣log∣wk∣∣cc∣N∣wk∩cj∣
P ( w k ) P(w_k) P(wk), P ( c j ) P(c_j) P(cj), P ( w k ∩ c j ) P(w_k \cap c_j) P(wk∩cj)可以分别看做样本属于聚类簇 w k w_k wk,属于类别 C j C_j Cj,同时属于两者的概率。第二个等价式子则由概率的极大似然估计推导得出:
H ( Ω ) = − ∑ k P ( w k ) l o g P ( w k ) = − ∑ k ∣ w k ∣ N l o g ∣ w k ∣ N H(\Omega)=-\sum_k P(w_k)logP(w_k)=-\sum_k\frac{|w_k|}{N}log\frac{|w_k|}{N} H(Ω)=−k∑P(wk)logP(wk)=−k∑N∣wk∣logN∣wk∣
I ( Ω , C ) I(\Omega,C) I(Ω,C)表示给定类簇信息 C C C的前提下,类别信息 Ω \Omega Ω的增加量,或者说其不确定度的减少量。
- 点互信息(Pointwise Mutual Information)
P M I ( x : y ) = l o g p ( x , y ) p ( x ) p ( y ) = l o g p ( x ∣ y ) p ( x ) = l o g p ( y ∣ x ) p ( y ) PMI(x:y)=log\frac{p(x,y)}{p(x)p(y)}=log\frac{p(x|y)}{p(x)}=log\frac{p(y|x)}{p(y)} PMI(x:y)=logp(x)p(y)p(x,y)=logp(x)p(x∣y)=logp(y)p(y∣x)
如果 x x x跟 y y y不相关,则 p ( x , y ) = p ( x ) p ( y ) p(x,y)=p(x)p(y) p(x,y)=p(x)p(y)。二者相关性越大,则 p ( x , y ) p(x,y) p(x,y)就相比于 p ( x ) p ( y ) p(x)p(y) p(x)p(y)越大。用后面的式子可能更好理解,在 y y y出现的情况下x出现的条件概率 p ( x ∣ y ) p(x|y) p(x∣y)除以 x x x本身出现的概率 p ( x ) p(x) p(x),自然就表示x跟y的相关程度。
参考:
- 互信息(Mutual Information)浅尝辄止(一):基础概念
- 为什么样本方差的分母为 n − 1 n-1 n−1?
- 香农熵-百度百科
- 如何理解K-L散度(相对熵)
- 归一化互信息(NMI)评价指标
- 深度聚类评估指标(Purity、NMI、RI、ARI)
- 什么是点互信息
- 互信息(Mutual Information)