前言
在机器学习课程中,对于决策树学习不同节点属性的选择,引入了信息熵的概念来做判断。下面总结一下查阅的信息熵相关的资料以及互信息一些性质的推导过程。
信息熵
这里用到的信息熵是C.E.Shannon(香农)从热力学中借用过来的。热力学中的热熵是表示分子状态混乱程度的物理量。香农用信息熵的概念来描述信源的不确定度。
不确定性函数
通常,一个信源发送出什么符号是不确定的,衡量它可以根据其出现的概率来度量。概率大,出现机会多,不确定性小;反之不确定性就大。
不确定性函数f是概率P的减函数;两个独立符号所产生的不确定性应等于各自不确定性之和,即f(P1,P2)=f(P1)+f(P2),这称为可加性。同时满足这两个条件的函数f是对数函数:
f
(
P
)
=
l
o
g
n
1
P
=
−
l
o
g
n
P
(1)
f(P)=log_n\frac{1}{P}=-log_nP \tag1
f(P)=lognP1=−lognP(1) 其中底数n与信息的进制有关,通常为2。
信息熵
在信源中,考虑的不是某一单个符号发生的不确定性,而是要考虑这个信源所有可能发生情况的平均不确定性。若信源符号有n种取值: U 1 , U 2 , ⋯ , U n U_1,U_2,\cdots,U_n U1,U2,⋯,Un,对应概率为: P 1 , P 2 , ⋯ , P n P_1,P_2,\cdots,P_n P1,P2,⋯,Pn,且各种符号的出现彼此独立。这时,信源的平均不确定性应当为单个符号不确定性 − l o g P i -log{P_i} −logPi的统计平均值 ( E ) (E) (E),可称为信息熵,即: H ( U ) = E [ − l o g P i ] = − ∑ i = 1 n ( P i l o g P i ) (2) H(U)=E[-log{P_i}]=-\sum_{i=1}^n(P_ilog{P_i}) \tag{2} H(U)=E[−logPi]=−i=1∑n(PilogPi)(2)式中对数一般取2为底,单位为比特。但是,也可以取其它对数底,采用其它相应的单位,它们间可用换底公式换算。
互信息
在概率论和信息论中,两个随机变量的互信息(Mutual Information,简称MI)或转移信息(transinformation)是变量间相互依赖性的量度。不同于相关系数,互信息并不局限于实值随机变量,它更加一般且决定着联合分布 p ( X , Y ) p(X,Y) p(X,Y) 和分解的边缘分布的乘积 p ( X ) p ( Y ) p(X)p(Y) p(X)p(Y) 的相似程度。互信息(Mutual Information)是度量两个事件集合之间的相关性(mutual dependence)。互信息是点间互信息(PMI)的期望值。互信息最常用的单位是bit。
互信息的等式关系
条件熵
在探究两种信息的关系时,引入条件熵的概念:条件熵
H
(
X
∣
Y
)
H(X|Y)
H(X∣Y)表示在已知随机变量Y的条件下,随机变量 X 的不确定性。
𝐻(X|Y)定义为在给定条件 𝑌 下,X 的条件概率分布的熵对 Y 的数学期望:
H
(
X
∣
Y
)
=
∑
y
p
(
y
)
H
(
X
∣
Y
=
y
)
=
−
∑
y
p
(
y
)
∑
x
p
(
x
∣
y
)
log
(
p
(
x
∣
y
)
)
=
−
∑
y
∑
x
p
(
x
,
y
)
l
o
g
(
p
(
x
∣
y
)
)
=
−
∑
x
,
y
p
(
x
,
y
)
l
o
g
(
p
(
x
∣
y
)
)
\begin{aligned} H(X|Y)&=\sum_y{p(y)H(X|Y=y)}\\ &=-\sum_y{p(y)}\sum_xp(x|y)\log(p(x|y))\\ &=-\sum_y\sum_xp(x,y)log(p(x|y))\\ &=-\sum_{x,y}p(x,y)log(p(x|y)) \end{aligned}
H(X∣Y)=y∑p(y)H(X∣Y=y)=−y∑p(y)x∑p(x∣y)log(p(x∣y))=−y∑x∑p(x,y)log(p(x∣y))=−x,y∑p(x,y)log(p(x∣y))
互信息
通俗的讲,如果说条件熵
H
(
X
∣
Y
)
H(X|Y)
H(X∣Y)代表着Y确定后X“剩余”的不确定性,那么X本身的不确定性减去这个Y确定后X“剩余”的不确定性,便是Y确定后带走的X的不确定性,或者说是二者之间的相关性,即:
I
(
X
;
Y
)
=
H
(
X
)
−
H
(
X
∣
Y
)
I(X;Y)=H(X)-H(X|Y)
I(X;Y)=H(X)−H(X∣Y)
下面证明XY的互信息与YX的互信息相同:
H
(
X
)
−
H
(
X
∣
Y
)
=
−
∑
x
p
(
x
)
l
o
g
(
p
(
x
)
)
−
∑
y
p
(
y
)
H
(
X
∣
Y
=
y
)
=
−
∑
x
∑
y
p
(
x
,
y
)
l
o
g
(
p
(
x
)
)
+
∑
y
p
(
y
)
∑
x
p
(
x
∣
y
)
l
o
g
(
p
(
x
∣
y
)
)
=
−
∑
x
,
y
p
(
x
,
y
)
l
o
g
(
p
(
x
)
)
+
∑
x
,
y
p
(
x
,
y
)
l
o
g
(
p
(
x
,
y
)
p
(
y
)
)
=
∑
x
,
y
p
(
x
,
y
)
l
o
g
(
p
(
x
,
y
)
p
(
x
)
p
(
y
)
)
=
−
∑
x
,
y
p
(
x
,
y
)
l
o
g
(
p
(
y
)
)
+
∑
x
,
y
p
(
x
,
y
)
l
o
g
(
p
(
x
,
y
)
p
(
x
)
)
=
−
∑
y
∑
x
p
(
x
,
y
)
l
o
g
(
p
(
y
)
)
+
∑
x
p
(
x
)
∑
y
p
(
y
∣
x
)
l
o
g
(
p
(
y
∣
x
)
)
=
−
∑
y
p
(
y
)
l
o
g
(
p
(
y
)
)
−
∑
x
p
(
x
)
H
(
Y
∣
X
=
x
)
=
H
(
Y
)
−
H
(
Y
∣
X
)
\begin{aligned} H(X)-H(X|Y)&=-\sum_xp(x)log(p(x))-\sum_yp(y)H(X|Y=y)\\ &=-\sum_x\sum_yp(x,y)log(p(x))+\sum_yp(y)\sum_xp(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(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)})\\ &=-\sum_y\sum_xp(x,y)log(p(y))+\sum_xp(x)\sum_yp(y|x)log(p(y|x))\\ &=-\sum_yp(y)log(p(y))-\sum_xp(x)H(Y|X=x)\\ &=H(Y)-H(Y|X) \end{aligned}
H(X)−H(X∣Y)=−x∑p(x)log(p(x))−y∑p(y)H(X∣Y=y)=−x∑y∑p(x,y)log(p(x))+y∑p(y)x∑p(x∣y)log(p(x∣y))=−x,y∑p(x,y)log(p(x))+x,y∑p(x,y)log(p(y)p(x,y))=x,y∑p(x,y)log(p(x)p(y)p(x,y))=−x,y∑p(x,y)log(p(y))+x,y∑p(x,y)log(p(x)p(x,y))=−y∑x∑p(x,y)log(p(y))+x∑p(x)y∑p(y∣x)log(p(y∣x))=−y∑p(y)log(p(y))−x∑p(x)H(Y∣X=x)=H(Y)−H(Y∣X)
同时我们可以得到:
I
(
X
;
Y
)
=
∑
x
,
y
p
(
x
,
y
)
l
o
g
(
p
(
x
,
y
)
p
(
x
)
p
(
y
)
)
I(X;Y)=\sum_{x,y}p(x,y)log(\frac{p(x,y)}{p(x)p(y)})
I(X;Y)=x,y∑p(x,y)log(p(x)p(y)p(x,y))
互信息的性质
接下来开始探讨互信息的性质
(1)对称性
显然 I ( X ; Y ) = I ( Y ; X ) I(X;Y)=I(Y;X) I(X;Y)=I(Y;X)从Y中提取X和从X中提取Y的信息都是在讨论X与Y的互信息。
(2)极值性
I
(
X
;
Y
)
≤
H
(
X
)
I
(
Y
;
X
)
≤
H
(
Y
)
I(X;Y)≤H(X)\\I(Y;X)≤H(Y)
I(X;Y)≤H(X)I(Y;X)≤H(Y)
从一个事件提取关于另一个事件的信息量, 至多是另一个事件的熵那么多, 不会超过另一个事件自身所含的信息量。当X和Y是一一对应关系时:
I
(
X
;
Y
)
=
H
(
X
)
I(X;Y)=H(X)
I(X;Y)=H(X), 这时
H
(
X
∣
Y
)
=
0
H(X|Y)=0
H(X∣Y)=0。从一个事件可以充分获得关于另一个事件的信息, 从平均意义上来说, 代表信源的信息量可全部通过信道。当X和Y相互独立时:
H
(
X
∣
Y
)
=
H
(
X
)
,
I
(
Y
;
X
)
=
0
H(X|Y) =H(X), I(Y;X)=0
H(X∣Y)=H(X),I(Y;X)=0。 从一个事件不能得到另一个事件的任何信息,这等效于信道中断的情况。
(3)非负性
I
(
X
;
Y
)
≥
0
I(X;Y)\ge0
I(X;Y)≥0
逻辑上讲,互信息描述的是X与Y的相关程度,最坏情况下X与Y无关,那互信息为0,负互信息无法解释,并不是真实存在。
KL散度
为了方便阐述,引入KL散度的概念:对于某个未知的分布𝑝(𝑥),我们用𝑞(𝑥)进行建模并且传递信息,为了衡量这两个分布是否匹配,我们用附加信息量的期望表示:
K
L
(
p
∣
∣
q
)
=
−
∫
p
(
x
)
ln
q
(
x
)
d
x
−
(
−
∫
p
(
x
)
ln
p
(
x
)
d
x
)
=
−
∫
p
(
x
)
ln
(
q
(
x
)
p
(
x
)
)
\begin{aligned} KL(p||q)&=-\int p(x)\ln q(x)dx-(-\int p(x)\ln p(x)dx)\\ &=-\int p(x)\ln(\frac{q(x)}{p(x)}) \end{aligned}
KL(p∣∣q)=−∫p(x)lnq(x)dx−(−∫p(x)lnp(x)dx)=−∫p(x)ln(p(x)q(x))
KL散度又称相对熵,表示用𝑞(𝑥)去表示𝑝(𝑥)时需要的附加信息量。
对凸函数
f
(
x
)
f(x)
f(x),由Jensen不等式:
f
(
∑
i
=
1
M
λ
i
x
i
)
≤
∑
i
=
1
M
λ
i
f
(
x
i
)
,
s
.
t
.
λ
i
≥
0
a
n
d
∑
i
λ
i
=
1
f(\sum_{i=1}^M\lambda_ix_i)\le\sum_{i=1}^M\lambda_if(x_i), s.t. \ \lambda_i\ge0 \ and\ \sum_i\lambda_i=1
f(i=1∑Mλixi)≤i=1∑Mλif(xi),s.t. λi≥0 and i∑λi=1
将
λ
\lambda
λ看做概率,则
f
(
E
(
x
)
)
≤
E
(
f
(
x
)
)
f(E(x))\le E(f(x))
f(E(x))≤E(f(x))
对于连续变量
f
(
∫
x
p
(
x
)
d
x
)
≤
∫
f
(
x
)
p
(
x
)
d
x
f(\int xp(x)dx)\le\int f(x)p(x)dx
f(∫xp(x)dx)≤∫f(x)p(x)dx
因为
−
ln
x
-\ln x
−lnx为凸函数,且
E
(
ξ
(
x
)
)
=
∫
p
(
x
)
ξ
(
x
)
E(\xi(x))=\int p(x)\xi(x)
E(ξ(x))=∫p(x)ξ(x)
不妨取
ξ
(
x
)
=
q
(
x
)
p
(
x
)
\xi(x)=\frac{q(x)}{p(x)}
ξ(x)=p(x)q(x)
K
L
=
−
∫
p
(
x
)
l
n
(
q
(
x
)
p
(
x
)
)
≥
−
l
n
(
∫
q
(
x
)
p
(
x
)
p
(
x
)
d
x
)
=
−
l
n
(
∫
q
(
x
)
d
x
)
=
0
\begin{aligned} KL&=-\int p(x)ln(\frac{q(x)}{p(x)})\\ &\ge-ln(\int\frac{q(x)}{p(x)}p(x)dx)\\ &=-ln(\int q(x)dx)=0 \end{aligned}
KL=−∫p(x)ln(p(x)q(x))≥−ln(∫p(x)q(x)p(x)dx)=−ln(∫q(x)dx)=0
得KL散度非负
非负性证明
I ( x , y ) = − ∬ p ( x , y ) l n ( p ( x ) p ( y ) p ( x , y ) d x d y ) = K L [ p ( x , y ) ∣ ∣ p ( x ) p ( y ) ] ≥ 0 \begin{aligned} I(x,y)&=-\iint p(x,y)ln(\frac{p(x)p(y)}{p(x,y)}dxdy)\\ &=KL[p(x,y)||p(x)p(y)]\\ &\ge0 \end{aligned} I(x,y)=−∬p(x,y)ln(p(x,y)p(x)p(y)dxdy)=KL[p(x,y)∣∣p(x)p(y)]≥0