信息熵、交叉熵、相对熵、条件熵、互信息的讲解和推导

信息熵、交叉熵、相对熵、条件熵、互信息的讲解和推导

最近阅读的几篇paper中都大量使用到了信息论中的概念,在此进行整理。日后如有遇到其他理论,将会不定期更新。。。
为了避免拾人牙慧,我尽量用自己的理解进行叙述,并且给出互相之间的关系推导,难免会有些错误,欢迎评论区批评指正。

1.概率 p ( x ) p(x) p(x)

一件事发生的概率记作 p ( x ) p(x) p(x),且有 p ( x ) ∈ [ 0 , 1 ] p(x)\in[0,1] p(x)[0,1]

2.信息 − log ⁡ p ( x ) -\log{p(x)} logp(x)

信息,又叫自信息,其定义式为:
I ( X ) = log ⁡ 1 P ( X ) I(X) = \log \frac{1}{P(X)} I(X)=logP(X)1

承接上文,那么已知一件事发生的概率,如何衡量它所带来的信息量呢?

一件事发生的概率越高,包含的信息量也就越小,因为它越确定。所以我们取负对数得到 − log ⁡ p ( x ) -\log{p(x)} logp(x)作为信息量的度量。

说到这里,想起来高中的一个荤段子:
小明天生体质比较特殊,因为他有三个蛋(信息量)。
小明突然有一天把好朋友小刚叫到角落,神神秘秘地跟小刚说:"告诉你一个秘密,咱们俩加起来一共有五个蛋。”小刚十分惊讶:“什么???难道你有四个?(信息量爆炸)。”
通过这个小故事我们可以体会一下什么叫信息量。

3.信息熵Entropy

信息熵,也就是我们所熟知的Shannon熵,为信息的期望:
H ( X ) = − ∫ p ( x ) log ⁡ p ( x ) d x ( 连 续 形 式 ) = − ∑ p ( x ) log ⁡ p ( x ) ( 离 散 形 式 ) \begin{aligned} H(X) &= -\int{p(x) \log{p(x)} }dx (连续形式) \\ &= -\sum{p(x) \log{p(x)} } (离散形式) \end{aligned} H(X)=p(x)logp(x)dx=p(x)logp(x)
信息熵度量的是同一分布下的信息的期望值。

4.交叉熵 H ( P , Q ) H(P,Q) H(P,Q)

交叉熵度量的是不同分布下的信息的平均
E = − ∫ p ( x ) log ⁡ q ( x ) d x ( 连 续 形 式 ) = − ∑ p ( x ) log ⁡ q ( x ) ( 离 散 形 式 ) \begin{aligned} \mathbb{E} &= -\int{p(x) \log{q(x)} }dx (连续形式) \\ &= -\sum{p(x) \log{q(x)} } (离散形式) \end{aligned} E=p(x)logq(x)dx=p(x)logq(x)

5.联合熵

对于一个联合概率分布 P ( X , Y ) P(X,Y) P(X,Y)

其信息熵为
H ( X , Y ) = − ∫ p ( x , y ) log ⁡ p ( x , y ) d x = − ∑ p ( x , y ) l o g ( x , y ) \begin{aligned} H(X,Y) &= -\int{p(x,y) \log{p(x,y)}}dx \\ &= -\sum{p(x,y)log(x,y)} \end{aligned} H(X,Y)=p(x,y)logp(x,y)dx=p(x,y)log(x,y)
上式被称作联合概率分布的信息熵即联合熵。

6.相对熵

相对熵也就是我们熟悉的KL散度,
D K L ( P ( X ) ∣ ∣ Q ( X ) ) = − ∫ p ( x ) log ⁡ q ( x ) p ( x ) d x = ∫ p ( x ) log ⁡ p ( x ) q ( x ) d x = ∫ [ p ( x ) log ⁡ p ( x ) − p ( x ) log ⁡ q ( x ) ] d x = H ( P ) − H ( P , Q ) \begin{aligned} DKL(P(X)||Q(X)) &= -\int{ p(x) \log{ \frac{ q(x) }{ p(x) } } }dx \\ &=\int{ p(x) \log{ \frac{p(x)}{q(x)}}}dx \\ &=\int{ [p(x) \log{p(x)}- p(x)\log{q(x)}]}dx \\ &=H(P)-H(P,Q) \end{aligned} DKL(P(X)Q(X))=p(x)logp(x)q(x)dx=p(x)logq(x)p(x)dx=[p(x)logp(x)p(x)logq(x)]dx=H(P)H(P,Q)
也就是说,相对熵=信息熵-交叉熵。相对熵是两个分布 P ( X ) P(X) P(X) Q ( X ) Q(X) Q(X)差别的非对称性度量。

以信息论来解释,则KL散度是用来度量使用基于Q的分布来编码服从P的分布的样本所需的额外的平均比特数。通常 P ( X ) P(X) P(X)表示数据的真实分布, Q ( X ) Q(X) Q(X)表示数据的理论分布、估计的模型分布、或 P ( X ) P(X) P(X)的近似分布。
通俗来说,KL散度度量了两个分布之间的差异度。

7.条件熵 H ( X ∣ Y ) H(X|Y) H(XY)

条件熵的推导可以对应到条件概率去理解,也就是对于给定 Y = y Y=y Y=y的条件下求得 X X X的熵 H ( X ∣ Y = y ) H(X|Y=y) H(XY=y)
则求 Y Y Y取到所有可能的 y y y的期望便得到条件熵:
H ( X ∣ Y ) = ∫ Y p ( y ) H ( X ∣ Y = y ) d y ( 连 续 形 式 ) = − ∫ Y p ( y ) ∫ X p ( x ∣ y ) log ⁡ p ( x ∣ y ) d x d y = ∑ y ∈ Y p ( y ) H ( X ∣ Y = y ) ( 离 散 形 式 ) = − ∑ y ∈ Y p ( y ) ∑ x ∈ X p ( x ∣ y ) log ⁡ p ( x ∣ y ) \begin{aligned} H(X|Y) &= \int_Y{p(y)H(X|Y=y)}dy (连续形式) \\ &=-\int_Y{p(y)\int_X{p(x|y)\log{p(x|y)}}dx}dy \\ &= \sum_{y\in Y}{ p(y)H(X|Y=y)} (离散形式) \\ &= -\sum_{y \in Y}{ p(y) \sum_{x \in X}p(x|y) \log{p(x|y)}} \\ \end{aligned} H(XY)=Yp(y)H(XY=y)dy=Yp(y)Xp(xy)logp(xy)dxdy=yYp(y)H(XY=y)=yYp(y)xXp(xy)logp(xy)

8.互信息 I ( X , Y ) I(X,Y) I(X,Y)

考虑一对随机变量的联合分布 P ( X , Y ) P(X,Y) P(X,Y),其边缘分布为 P ( X ) , P ( Y ) P(X),P(Y) P(X),P(Y)
定义其互信息为:
I ( X , Y ) = K L ( P ( X , Y ) ∣ ∣ P ( X ) ⊗ P ( Y ) ) = ∬ p ( x , y ) log ⁡ p ( x , y ) p ( x ) p ( y ) d x d y = ∬ [ p ( x , y ) log ⁡ p ( x , y ) p ( x ) − p ( x , y ) log ⁡ p ( y ) ] d x d y = ∬ [ p ( x , y ) log ⁡ p ( y ∣ x ) − p ( x , y ) log ⁡ p ( y ) ] d x d y = ∬ [ p ( x ) p ( y ∣ x ) log ⁡ p ( y ∣ x ) ] d x d y − ∫ Y log ⁡ p ( y ) ∫ X p ( x , y ) d x d y = ∫ X p ( x ) ∫ Y P ( y ∣ x ) log ⁡ P ( y ∣ x ) d y d x − ∫ p ( y ) log ⁡ p ( y ) d y = ∫ X − H ( Y ∣ X = x ) d x + H ( Y ) = H ( Y ) − H ( Y ∣ X ) = H ( X ) − H ( X ∣ Y ) \begin{aligned} I(X,Y) &= KL(P(X,Y)||P(X)\otimes P(Y)) \\ &=\iint p(x, y) \log \frac{p(x, y)}{p(x) p(y)} d x d y \\ &=\iint \left[ p(x, y) \log \frac{p(x, y)}{p(x)}-p(x, y) \log p(y) \right] d x d y \\ &=\iint\left[ p(x, y) \log p(y|x)-p(x, y) \log p(y)\right] dx d y \\ &=\iint \left[ p(x) p(y|x) \log p(y|x) \right] dx dy-\int_Y \log p(y)\int_X p(x, y) dx dy \\ &=\int_X p(x) \int_Y P(y \mid x) \log P(y \mid x) dy dx-\int p(y) \log p(y) dy\\ &=\int_X{-H(Y|X=x)}dx + H(Y) \\ &=H(Y) - H(Y|X) \\ &=H(X) - H(X|Y) \end{aligned} I(X,Y)=KL(P(X,Y)P(X)P(Y))=p(x,y)logp(x)p(y)p(x,y)dxdy=[p(x,y)logp(x)p(x,y)p(x,y)logp(y)]dxdy=[p(x,y)logp(yx)p(x,y)logp(y)]dxdy=[p(x)p(yx)logp(yx)]dxdyYlogp(y)Xp(x,y)dxdy=Xp(x)YP(yx)logP(yx)dydxp(y)logp(y)dy=XH(YX=x)dx+H(Y)=H(Y)H(YX)=H(X)H(XY)
互信息的定义式比较难以理解,但是经过推导之后倒显得直观些:
我们把 X X X Y Y Y之间的互信息可以理解为, Y Y Y的熵减去在 X X X发生的条件下 Y Y Y发生的熵(或 X X X的熵减去在 Y Y Y发生的条件下 X X X发生的熵),也就是说对于 Y Y Y事件的信息量,有多少是由 X X X发生所带来的
互信息用于度量两个随机变量之间的依赖程度,也就是说如果两个变量之间相互独立,则 I ( X , Y = 0 ) I(X,Y=0) I(X,Y=0)

猜你喜欢

转载自blog.csdn.net/qq_45802280/article/details/128139974