信息论知识:互信息、交叉熵、KL散度
信息论的基本想法是一个不太可能的事件居然发生了,要比一个非常可能的事件发生,能提供更多的信息。消息说:‘‘今天早上太阳升起’’ 信息量是如此之少以至于没有必要发送,但一条消息说:‘‘今天早上有日食’’ 信息量就很丰富。
我们想要通过这种基本想法来量化信息。定义三个性质
- 非常可能发生的事件信息量要比较少,并且极端情况下,确保能够发生的事件应该没有信息量。
- 较不可能发生的事件具有更高的信息量。
- 独立事件应具有增量的信息。例如,投掷的硬币两次正面朝上传递的信息量,应该是投掷一次硬币正面朝上的信息量的两倍。
在两元随机变量情况下,可以使用下图帮助理解和记忆

自信息
为了满足上述三个性质,我们定义一个事件 x = x 的自信息(self-information):
I(x)=-logP(x) ,log为自然对数
I(x) 的单位是奈特(nats),1 nats是以1/e 的概率观测到一个事件时获得的信息量。如果是以2的对数计算,单位就是比特(bit)或香农(shannons)。
香农熵
自信息只处理单个的输出,用香农熵(Shannon entropy)来对整个概率分布中的不确定性总量进行量化:
H(X)=E(I(x))=-\sum_{x \in X} P(x)logP(x)
一个分布的香农熵是指遵循这个分布的事件所产生的期望信息总量。
联合熵 joint entropy
联合熵 :表示随机变量X,Y同时发生的不确定性。
H(X,Y)=-\sum_{x \in X, y \in Y}P(x,y)logP(x,y)
对于多变量:

性质
非负性:H(X,Y) \ge 0
大于单个变量的熵 H(X,Y) \ge max[H(X),H(Y)]
H(X,Y) \le H(X)+H(Y)
条件熵
条件熵 :在已知一个变量发生的条件下,另一个变量发生所新增加的不确定性:
H(Y|X=x) 是X取值为x时随机变量y的熵,H(Y|X) 为当X遍历所有取值时,Y的熵的期望。
H(Y|X)=H(X,Y)-H(X) ,可以理解为,X,Y同时发生的不确定性,减去X发生的不确定性。具体可以写成下式:

条件熵中X也是一个变量,意思是在一个变量X的条件下(变量X的每个值都会取),另一个变量Y熵对X的期望 .
性质
当且仅当Y完全由X决定时,H(Y|X)=0
当且仅当X与Y无关时,H(Y|X)=H(Y)
链式法则:H(X_1,X_2,\cdots,X_n)=\sum_{i=1}^nH(X_i|X_1,\cdots,X_{i-1}) ,特别地,H(X,Y)=H(X)+H(Y|X)
这个链式法则和概率的链式法则类似,只是变成了累加。
贝叶斯法则:
H(Y|X)=H(X|Y)+H(Y)-H(X)

互信息 mutual information
互信息:已知X发生的条件下Y不确定性减小的程度。这个定义在ID3算法中,也称为信息增益 。
对于两个离散随机变量X,Y,他们的互信息计算如下:

其中,p(x,y)是联合概率分布,p(x),p(y)是边缘概率分布。
对于连续随机变量,求和使用双重积分替代:

互信息具有非负性 和对称性 ,即I(X;Y) \ge 0, I(X;Y)=I(Y;X)
如果两个随机变量是相互独立的,那么I(X;Y)=0
与条件熵和联合熵的关系
H(Y) 是度量一个随机变量的不确定性, 度量了当X已知后,Y剩余的不确定性,因此I(X;Y) 就是随机变量Y的不确定性,减去已知X后,Y的剩余不确定性,也就等于由于已知X导致的Y的不确定性的降低。
具体推导如下:

需要注意的是,H(X,X)=0 , 因此H(X)=I(X;X) ,且I(X;X) \ge I(X;Y) 也就是一个随机变量包含关于它自身的信息至少和另一个随机变量提供的一样多。
与KL散度的关系

KL散度/相对熵
随机分布Q到P的KL散度,记为D_{KL}(P\|Q). 在机器学习中, 称为如果用Q代替P获得的信息增益,为了类比信息论,也称为P关于Q的相对熵(relative entropy)。从编码学角度, 用来衡量 the expected number of extra bits required to
(https://en.wikipedia.org/wiki/Huffman_coding) samples from _P_ using a code optimized for _Q_ rather than the code optimized for _P_.
从贝叶斯推论(Bayesian inference)角度, 衡量了当将条件从先验概率分布Q上切换到后验概率分布P上所获得信息。也就是当用Q来近似P时的信息损失。在实践中,P一般代表了数据的真实分布,Q代表了模型,用于近似P。为了获得最接近P的Q,可以最小化
对于离散概率分布:
$D_{KL}(P\|Q) = \sum_i P(i)log(\dfrac{P(i)}{Q(i)}))=\sum_iP(i)logP(i)-\sum_iP(i)logQ(i)$
注意,上式右边第一项为-H(P)
这是一个使用P分布计算得到的期望。
对于连续概率分布:

KL散度一个重要的性质是非负性,KL 散度为 0 当且仅当P 和 Q 在离散型变量的情况下是相同的分布,或者在连续型变量的情况下是 ‘‘几乎处处’’ 相同的。
因为 KL 散度是非负的并且衡量的是两个分布之间的差异,它经常被用作分布之间的某种距离。但是它是不对称的。
不对称性:$D_{KL}(P\|Q) \ne D_{KL}(Q\|P) $
#### 交叉熵
交叉熵(cross entropy):两个概率分布p,q之间的交叉熵写为:
$H(p,q)=E_p[-log q] = H(p)+D_{KL}(p\|q)$
其中$E_p[-log q]$ 是指以p的概率分布求$-log q$ 的期望。$H(p)$ 为p的熵。
不对称性
