熵
熵是表示随机变量不确定性的度量。
设
X
X
X是一个有N个取值有限的随机变量,其概率分布为:
P
(
X
=
i
)
=
p
i
,
i
=
1
,
2...
N
P(X=i)=p_i , i= 1, 2 ...N
P(X=i)=pi,i=1,2...N
则随机变量X的熵为:
H
(
X
)
=
−
∑
i
=
1
N
p
i
log
p
i
H(X)=-\sum_{i=1}^Np_i \log p_i
H(X)=−i=1∑Npilogpi
在这里熵的大小与 X X X取值的大小无关,只与 X X X的分布有关。
从 H ( x ) H(x) H(x)的取值可以得出, 0 < = H ( x ) < = l o g ( N ) 0<=H(x)<=log(N) 0<=H(x)<=log(N), 当 X X X只有一个取值的时候, H ( x ) H(x) H(x)为0。当 X X X取值均匀分布在N个值上时, H ( x ) H(x) H(x)的取值为 l o g ( N ) log(N) log(N)。
熵越大,代表随机变量X的取值越混乱。
条件熵
条件熵
H
(
Y
∣
X
)
H(Y|X)
H(Y∣X)代表在随机变量
X
X
X确定的情况下,随机变量
Y
Y
Y的不确定性。
H
(
Y
∣
X
)
=
∑
i
=
1
N
p
i
H
(
Y
∣
X
=
x
i
)
H(Y|X)=\sum_{i=1}^Np_iH(Y|X=x_i)
H(Y∣X)=i=1∑NpiH(Y∣X=xi)
这里 p i p_i pi为随机变量 X X X取值为 x i x_i xi的概率。
KL散度(相对熵)
KL散度是衡量两个分布之间匹配程度的指标。
设一个随机变量
X
X
X有两个概率分布
P
(
x
)
P(x)
P(x)和
Q
(
x
)
Q(x)
Q(x),我们可以用KL散度来衡量这两个分布的差异。
D
(
p
∣
∣
q
)
=
∑
i
=
1
N
p
i
log
p
i
q
i
D(p||q)=\sum_{i=1}^N p_i\log \frac{p_i}{q_i}
D(p∣∣q)=i=1∑Npilogqipi
KL散度也可以用来衡量预测分布和真实分布之间的差异,这时候一般用 P ( x ) P(x) P(x)代表真实的分布, Q ( x ) Q(x) Q(x)代表预测的分布。
KL散度的值越小,代表两个分布匹配的越好。相反KL散度的值越大,则代表两个分布差别越大。
交叉熵
将KL散度(相对熵)的公式展开
D
(
p
∣
∣
q
)
=
∑
i
=
1
N
p
i
log
p
i
q
i
=
∑
i
=
1
N
p
i
log
p
i
−
∑
i
=
1
N
p
i
log
q
i
=
−
H
(
P
)
+
(
−
∑
i
=
1
N
p
i
log
q
i
)
D(p||q)=\sum_{i=1}^N p_i \log \frac{p_i}{q_i}= \sum_{i=1}^N p_i\log p_i-\sum_{i=1}^N p_i\log q_i=-H(P)+(-\sum_{i=1}^Np_i\log q_i)
D(p∣∣q)=i=1∑Npilogqipi=i=1∑Npilogpi−i=1∑Npilogqi=−H(P)+(−i=1∑Npilogqi)
一般来说,在机器学习中
P
(
x
)
P(x)
P(x)通常代表真实值,而真实值通常是不变的,所以其真实值的熵
H
(
P
)
H(P)
H(P)不变,这个KL散度展开后,变化的只有后半部分,而这部分就是交叉熵。
H
(
P
∣
Q
)
=
−
∑
i
=
1
N
p
i
log
q
i
H(P|Q)=-\sum_{i=1}^N p_i \log q_i
H(P∣Q)=−i=1∑Npilogqi
联合熵
对于随机变量X和Y,可以计算得到联合熵:
H
(
X
,
Y
)
=
−
∑
x
,
y
p
(
x
,
y
)
l
o
g
p
(
x
,
y
)
H(X,Y)=-\sum_{x,y}p(x,y)logp(x,y)
H(X,Y)=−x,y∑p(x,y)logp(x,y)
条件熵与联合熵之间的关系:
H
(
X
,
Y
)
−
H
(
X
)
=
H
(
Y
∣
X
)
H(X,Y)-H(X)=H(Y|X)
H(X,Y)−H(X)=H(Y∣X)
信息增益
信息增益是在熵与条件熵的基础上定义出来的,常见的一个应用就是ID3决策树上的分类准则。
根据前文的定义,熵 H ( Y ) H(Y) H(Y)代表的是随机变量 Y Y Y的混乱程度。条件熵 H ( Y ∣ X ) H(Y|X) H(Y∣X)代表的是随机变量 X X X确定时,随机变量 Y Y Y的混乱程度。
信息增益是在随机变量 X X X和 Y Y Y存在某种联合概率分布的情况下,确定随机变量 X X X后,随机变量 Y Y Y的不确定性减少的程度。
也就是用随机变量
Y
Y
Y的混乱程度,减去随机变量
X
X
X确定时,随机变量
Y
Y
Y的混乱程度:
g
(
Y
,
X
)
=
H
(
Y
)
−
H
(
Y
∣
X
)
g(Y,X)=H(Y)-H(Y|X)
g(Y,X)=H(Y)−H(Y∣X)
信息增益比
这里是作为C4.5决策树划分的准则,是关于ID3中信息增益的一个改进。因为从决策树的角度来说,单个特征的取值越多,带来的信息增益往往越好,因为划分的更细致。所以为了克服这一点,在C4.5决策树中,适用了信息增益比作为准则。
它与信息增益的不同就是,对于信息增益 g ( Y ∣ X ) g(Y|X) g(Y∣X)来说要除于一个随机变量X(在决策树中可以认为是特征X)的熵。
g
r
(
Y
,
X
)
=
g
(
Y
,
X
)
/
H
(
X
)
g_r(Y,X)=g(Y,X)/H(X)
gr(Y,X)=g(Y,X)/H(X)
这里实际上除于X的熵,就是平衡了X取值多的问题。
GINI系数
Gini系数也是用了描述随机变量 X X X混乱程度的一种指标。
设
X
X
X是一个有N个取值有限的随机变量,其概率分布为:
P
(
X
=
i
)
=
p
i
,
i
=
1
,
2...
N
P(X=i)=p_i , i= 1, 2 ...N
P(X=i)=pi,i=1,2...N
则随机变量
X
X
X的GINI系数为:
G
i
n
i
(
X
)
=
1
−
∑
i
=
1
N
p
i
2
Gini(X)=1-\sum_{i=1}^Np_i^2
Gini(X)=1−i=1∑Npi2