信息论中一些易混淆概念
熵
熵表示一个系统的不确定程度,对于一个服从离散分布函数p(x)的随机变量,其熵为
H
(
X
)
=
−
∑
i
=
1
n
p
(
x
i
)
log
p
(
x
i
)
H(X)=-\sum_{i=1}^n p(x_i)\log p(x_i)
H(X)=−i=1∑np(xi)logp(xi)
其物理意义是对于一段信息来说,编码(单位长度信息)最少需要用多少bits
交叉熵
交叉熵用来衡量两个分布的差异程度,常用来做多标签分类问题的损失函数
H
(
X
,
Y
)
=
−
∑
i
=
1
n
p
(
x
i
)
log
p
(
y
i
)
H(X,Y)=-\sum_{i=1}^n p(x_i)\log p(y_i)
H(X,Y)=−i=1∑np(xi)logp(yi)
若将交叉熵H(X,Y)视为关于Y的分布的函数进行优化,利用拉格朗日乘子法易证当Y的分布与X相同时,H(X,Y)取最小值H(X)
其物理意义是用一段信息依据不确切的分布进行编码需要的bits数
条件熵
条件熵表示在可观测分布的条件下,另一不可观测分布的不确定性
H
(
X
∣
Y
)
=
−
∑
j
=
1
m
p
(
y
j
)
H
(
X
∣
Y
=
y
j
)
H(X|Y)=-\sum_{j=1}^{m}p(y_j)H(X|Y=y_j)
H(X∣Y)=−j=1∑mp(yj)H(X∣Y=yj)
这个公式非常直观,我们可以举个例子
对于一个人,我们先验的认为男生和女生的可能性都是1/2,现在我们知道,在我们的采样群体里,头发长度(长短)和性别(男女)的联合分布为p(长发男)=0, p(短发男)=1, p(长发女)=1, p(短发女)=0,那么我们考虑性别在头发长度下的条件熵,即1/2H(X|长发)+1/2(H|短发)=0,即在Y和X完全相关的情况下,系统的不确定性因为有可观测信息的存在而完全消除了
KL散度(相对熵,信息差)与互信息(信息增益)
KL散度又称信息差别,网上经常有人将KL散度和信息增益混为一谈,下面一起说明一下
D
(
X
∣
∣
Y
)
=
H
(
X
,
Y
)
−
H
(
X
)
I
(
X
,
Y
)
=
H
(
X
)
−
H
(
X
∣
Y
)
D(X||Y)=H(X,Y)-H(X)\\ I(X,Y)=H(X)-H(X|Y)
D(X∣∣Y)=H(X,Y)−H(X)I(X,Y)=H(X)−H(X∣Y)
从公式里可以看出,信息增益就是其字面意义——原本系统的不确定程度是H(X),现在在观测到Y的情况下减小为H(X|Y),很显然,Y这一信息为解决系统的不确定性提供了大量信息,信息量即两者之差;信息差也很明显,H(X,Y)是用错误编码(单位长度信息)使用的bits位,H(X)是最少使用的bits位,两者之差就反映了分布间的差别大小