前言
机器学习领域有一个十分重要的概念:熵。大家或多或少都听过一些熵的概念和定义,但是可能对他们的关系不是很清楚,本文就熵,联合熵,条件熵,互信息的推导展开介绍。
熵
H ( X ) = − ∑ x ε X P ( x ) log P ( x ) H(X)=-\sum_{x\varepsilon X}{P}(x)\log P(x) H(X)=−xεX∑P(x)logP(x)
联合熵
H ( X , Y ) = − ∑ x , y p ( x , y ) log p ( x , y ) H(X,Y)=-\sum_{x,y}{p}(x,y)\log p(x,y) H(X,Y)=−x,y∑p(x,y)logp(x,y)
条件熵
H ( X ∣ Y ) = H ( X , Y ) − H ( Y ) \mathrm{H(X}\mid \mathrm{Y)}=\mathrm{H(X},\mathrm{Y)}-\mathrm{H(Y)} H(X∣Y)=H(X,Y)−H(Y)
推导:
H
(
X
,
Y
)
−
H
(
X
)
=
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
x
,
y
)
+
∑
x
p
(
x
)
log
p
(
x
)
=
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
x
,
y
)
+
∑
x
(
∑
y
p
(
x
,
y
)
)
log
p
(
x
)
=
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
x
,
y
)
+
∑
x
,
y
p
(
x
,
y
)
log
p
(
x
)
=
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
x
,
y
)
p
(
x
)
H(X,Y)-H(X) \\ =-\sum_{x,y}{p}(x,y)\log p(x,y)+\sum_x{p}(x)\log p(x) \\ =-\sum_{x,y}{p}(x,y)\log p(x,y)+\sum_x{\left( \sum_y{p}(x,y) \right)}\log p(x) \\ =-\sum_{x,y}{p}(x,y)\log p(x,y)+\sum_{x,y}{p}(x,y)\log p(x) \\ =-\sum_{x,y}{p}(x,y)\log \frac{p(x,y)}{p(x)}
H(X,Y)−H(X)=−x,y∑p(x,y)logp(x,y)+x∑p(x)logp(x)=−x,y∑p(x,y)logp(x,y)+x∑(y∑p(x,y))logp(x)=−x,y∑p(x,y)logp(x,y)+x,y∑p(x,y)logp(x)=−x,y∑p(x,y)logp(x)p(x,y)
但是上述推导的最后一项显得并不直观,可能有人会疑惑为什么是
p
(
x
,
y
)
{p}(x,y)
p(x,y),而不是
p
(
y
∣
x
)
{p}(y\mid x)
p(y∣x)。我们便从另一个角度来推导:
H
(
X
,
Y
)
−
H
(
X
)
=
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
y
∣
x
)
=
−
∑
x
∑
y
p
(
x
,
y
)
log
p
(
y
∣
x
)
=
−
∑
x
∑
y
p
(
x
)
p
(
y
∣
x
)
log
p
(
y
∣
x
)
=
−
∑
x
p
(
x
)
∑
y
p
(
y
∣
x
)
log
p
(
y
∣
x
)
=
∑
x
p
(
x
)
(
−
∑
y
p
(
y
∣
x
)
log
p
(
y
∣
x
)
)
=
∑
x
p
(
x
)
H
(
Y
∣
X
=
x
)
H(X,Y)-H(X)=-\sum_{x,y}{p}(x,y)\log p(y\mid x) \\ =-\sum_x{\sum_y{p}}(x,y)\log p(y\mid x) \\ =-\sum_x{\sum_y{p}}(x)p(y\mid x)\log p(y\mid x) \\ =-\sum_x{p}(x)\sum_y{p}(y\mid x)\log p(y\mid x) \\ =\sum_x{p}(x)\left( -\sum_y{p}(y\mid x)\log p(y\mid x) \right) \\ =\sum_x{p}(x)H(Y\mid X=x)
H(X,Y)−H(X)=−x,y∑p(x,y)logp(y∣x)=−x∑y∑p(x,y)logp(y∣x)=−x∑y∑p(x)p(y∣x)logp(y∣x)=−x∑p(x)y∑p(y∣x)logp(y∣x)=x∑p(x)(−y∑p(y∣x)logp(y∣x))=x∑p(x)H(Y∣X=x)
简单理解就是给一个x的定值,但并不是整个变量都满足这个表达。
互信息
直接求KL散度:
I
(
X
,
Y
)
=
D
(
(
P
(
X
,
Y
)
∣
∣
P
(
X
)
P
(
Y
)
)
\mathrm{I(X},\mathrm{Y)}=\mathrm{D}\left( (\mathrm{P(X},\mathrm{Y)}||\mathrm{P(X)P(Y)} \right)
I(X,Y)=D((P(X,Y)∣∣P(X)P(Y))
I
(
X
,
Y
)
=
∑
x
,
y
p
(
x
,
y
)
log
p
(
x
,
y
)
p
(
x
)
p
(
y
)
I(X,Y)=\sum_{x,y}{p}(x,y)\log \frac{p\left( x,y \right)}{p(x)p(y)}
I(X,Y)=x,y∑p(x,y)logp(x)p(y)p(x,y)
如果独立的话,最后一项为1,整个值就为0。只要大于0,说明不是完全独立的。
H
(
Y
)
−
I
(
X
,
Y
)
=
−
∑
y
p
(
y
)
log
p
(
y
)
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
x
,
y
)
p
(
x
)
p
(
y
)
=
−
∑
y
(
∑
x
p
(
x
,
y
)
)
log
p
(
y
)
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
x
,
y
)
p
(
x
)
p
(
y
)
=
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
y
)
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
x
,
y
)
p
(
x
)
p
(
y
)
=
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
x
,
y
)
p
(
x
)
=
−
∑
x
,
y
p
(
x
,
y
)
log
p
(
y
∣
x
)
=
H
(
Y
∣
X
)
H(Y)-I(X,Y) \\ =-\sum_y{p}(y)\log p(y)-\sum_{x,y}{p}(x,y)\log \frac{p(x,y)}{p(x)p(y)} \\ =-\sum_y{\left( \sum_x{p}(x,y) \right)}\log p(y)-\sum_{x,y}{p}(x,y)\log \frac{p(x,y)}{p(x)p(y)} \\ =-\sum_{x,y}{p}(x,y)\log p(y)-\sum_{x,y}{p}(x,y)\log \frac{p(x,y)}{p(x)p(y)} \\ =-\sum_{x,y}{p}(x,y)\log \frac{p(x,y)}{p(x)} \\ =-\sum_{x,y}{p}(x,y)\log p(y\mid x) \\ =H(Y\mid X)
H(Y)−I(X,Y)=−y∑p(y)logp(y)−x,y∑p(x,y)logp(x)p(y)p(x,y)=−y∑(x∑p(x,y))logp(y)−x,y∑p(x,y)logp(x)p(y)p(x,y)=−x,y∑p(x,y)logp(y)−x,y∑p(x,y)logp(x)p(y)p(x,y)=−x,y∑p(x,y)logp(x)p(x,y)=−x,y∑p(x,y)logp(y∣x)=H(Y∣X)
几种熵之间的关系
推论1:
H
(
X
∣
Y
)
=
H
(
X
,
Y
)
−
H
(
Y
)
\mathrm{H(X}\mid \mathrm{Y)}=\mathrm{H(X},\mathrm{Y)}-\mathrm{H(Y)}
H(X∣Y)=H(X,Y)−H(Y)
推论2:
H
(
X
∣
Y
)
=
H
(
X
)
−
I
(
X
,
Y
)
\mathrm{H(X}\mid \mathrm{Y)}=\mathrm{H(X)}-\mathrm{I(X},\mathrm{Y)}
H(X∣Y)=H(X)−I(X,Y)
推论3:
I
(
X
,
Y
)
=
H
(
X
)
+
H
(
Y
)
−
H
(
X
,
Y
)
\mathrm{I(X},\mathrm{Y)}=\mathrm{H(X)}+\mathrm{H(Y)}-\mathrm{H(X},\mathrm{Y)}
I(X,Y)=H(X)+H(Y)−H(X,Y)
直接上图: