熵
在信息论中,熵(entropy)是表示随机变量不确定性的度量,如果一个事件是必然发生的,那么他的不确定度为0,不包含信息。假设
X
X
X是一个取有限个值的离散随机变量,其概率分布为:
P
(
X
=
x
i
)
=
p
i
P(X=x_i)=p_i
P(X=xi)=pi
则随机变量
X
X
X的熵定义为:
H
(
X
)
=
−
∑
i
=
1
n
p
i
l
o
g
(
p
i
)
H(X)=-\sum_{i=1}^np_ilog(p_i)
H(X)=−i=1∑npilog(pi)
通常上式中
l
o
g
log
log的底数为2或
e
e
e(自然对数),这时熵的单位分别称作比特(bit)或纳特(nat)。并且通过上述定义可知,熵的取值只依赖于
X
X
X的分布,而与
X
X
X的具体值无关。
以
P
=
0.5
P=0.5
P=0.5的二项分布为例,熵
H
H
H随概率
p
p
p变化的曲线如下所示:
条件熵
设有随机变量
(
X
,
Y
)
(X, Y)
(X,Y),其联合概率分布为:
P
(
X
=
x
i
,
Y
=
y
j
)
=
p
i
j
,
i
=
1
,
2
,
.
.
.
,
n
;
j
=
1
,
2
,
.
.
.
,
m
P(X=x_i,Y=y_j)=p_{ij},\ i=1,2,...,n;\ j=1,2,...,m
P(X=xi,Y=yj)=pij, i=1,2,...,n; j=1,2,...,m
条件熵(conditional entropy)表示在已知随机变量
X
X
X的条件下随机变量
Y
Y
Y的不确定性,定义为
X
X
X给定条件下
Y
Y
Y的条件概率分布的熵对
X
X
X的数学期望:
H
(
Y
∣
X
)
=
∑
i
=
1
n
p
i
H
(
Y
∣
X
=
x
i
)
,
p
i
=
P
(
X
=
x
i
)
,
i
=
1
,
2
,
.
.
.
,
n
.
H(Y|X)=\sum_{i = 1}^{n}p_iH(Y|X=x_i),\quad p_i=P(X=x_i),i=1,2,...,n.
H(Y∣X)=i=1∑npiH(Y∣X=xi),pi=P(X=xi),i=1,2,...,n.
在计算条件熵时,需要先分别计算
X
X
X取不同值时变量
Y
Y
Y的熵,即
H
(
Y
∣
X
=
x
i
)
H(Y|X=x_i)
H(Y∣X=xi),总共
n
n
n个(假设
X
X
X有
n
n
n种不同取值),然后求其对
X
X
X的期望。
互信息
互信息,在机器学习(决策树算法)中也称为信息增益。特征
A
A
A对训练数据集
D
D
D的信息增益
g
(
D
,
A
)
g(D,A)
g(D,A),定义为集合
D
D
D的经验熵
H
(
D
)
H(D)
H(D)与特征
A
A
A给定的条件下
D
D
D的经验条件熵
H
(
D
∣
A
)
H(D|A)
H(D∣A)之差,即:
g
(
D
∣
A
)
=
H
(
D
)
−
H
(
D
∣
A
)
g(D|A)=H(D)-H(D|A)
g(D∣A)=H(D)−H(D∣A)
联合熵
联合熵度量的是一个联合分布的随机系统的不确定度,同样以联合概率分布
(
X
,
Y
)
(X, Y)
(X,Y)为例,
P
(
X
=
x
i
,
Y
=
y
j
)
=
p
i
j
,
i
=
1
,
2
,
.
.
.
,
n
;
j
=
1
,
2
,
.
.
.
,
m
P(X=x_i,Y=y_j)=p_{ij},\ i=1,2,...,n;\ j=1,2,...,m
P(X=xi,Y=yj)=pij, i=1,2,...,n; j=1,2,...,m,则联合熵
H
(
X
,
Y
)
H(X,Y)
H(X,Y)的定义为:
H
(
X
,
Y
)
=
−
∑
i
=
1
n
∑
j
=
1
m
p
i
j
l
o
g
(
p
i
j
)
H(X,Y)=-\sum_{i=1}^{n}\sum_{j=1}^{m}p_{ij}log(p_{ij})
H(X,Y)=−i=1∑nj=1∑mpijlog(pij)
联合熵具有以下性质(对于变量数目大于2的情况同样成立):
- 联合熵大于其中任一变量独立的熵: H ( X , Y ) > m a x { H ( X ) , H ( Y ) } H(X,Y)>max\{H(X),H(Y)\} H(X,Y)>max{H(X),H(Y)}
- 联合熵小于所有变量独立熵之和: H ( X , Y ) < H ( X ) + H ( Y ) H(X,Y)<H(X)+H(Y) H(X,Y)<H(X)+H(Y)
- H ( X , Y ) = H ( Y ∣ X ) + H ( X ) = H ( X ∣ Y ) + H ( Y ) H(X,Y)=H(Y|X)+H(X)=H(X|Y)+H(Y) H(X,Y)=H(Y∣X)+H(X)=H(X∣Y)+H(Y)
- g ( Y ∣ X ) = H ( X ) + H ( Y ) − H ( X , Y ) g(Y|X)=H(X)+H(Y)-H(X,Y) g(Y∣X)=H(X)+H(Y)−H(X,Y)