【机器学习】信息熵 交叉熵和相对熵
信息熵,交叉熵和相对熵
- V1.0
- 信息熵 交叉熵和相对熵
- 信息熵
- 信息熵的性质
- 类别越多,信息熵越高
- 各类别的概率越平均,信息熵越高
- 模型中有1个类别的概率为1时,信息熵为0
- 交叉熵
- 交叉熵的性质
- 相对熵(KL散度)
- 相对熵的性质
V1.0
信息熵 交叉熵和相对熵
熵最初是一个热力学概念,用来衡量一个系统的混乱程度。和距离,面积等一样,都是一种度量。1948年美国数学家香农提出信息熵的概念,之后又有科学家提出了相对熵(也就是KL散度)和交叉熵的概念。
信息熵
有概率模型
P
P
P,其中有多个类别,每个类别的概率为
P
(
x
i
)
P(x_i)
P(xi),
P
(
x
i
)
P(x_i)
P(xi)之和为
1
1
1。
信息熵用来衡量概率模型
P
P
P的概率分布的分散性。
信息熵的公式如下:
H
(
P
)
=
−
∑
i
P
(
x
i
)
log
P
(
x
i
)
H(P)=-\sum_iP(x_i)\log{P(x_i)}
H(P)=−i∑P(xi)logP(xi)
信息熵的性质
类别越多,信息熵越高
设模型
A
A
A有
10
10
10个类别,每个类别的概率都是
0.1
0.1
0.1,则其信息熵为
H
(
P
A
)
=
−
∑
i
=
1
10
0.1
⋅
log
0.1
≈
3.3219
H(P_A)=-\sum_{i=1}^{10}0.1\cdot{\log{0.1}}\approx3.3219
H(PA)=−i=1∑100.1⋅log0.1≈3.3219
设模型
B
B
B有5个类别,每个类别的概率都是
0.2
0.2
0.2,则其信息熵为
H
(
P
B
)
=
−
∑
i
=
1
5
0.2
⋅
log
0.2
≈
2.3219
H(P_B)=-\sum_{i=1}^{5}0.2\cdot{\log{0.2}}\approx2.3219
H(PB)=−i=1∑50.2⋅log0.2≈2.3219
通过比较发现,在概率分布都是均匀分布的情况下,
10
10
10个类别的模型
A
A
A信息熵比
5
5
5个类别的模型B的信息熵更高。
用分散性来理解,即类别越分散,越多,信息熵越高。
各类别的概率越平均,信息熵越高
设有两个概率模型 A A A和 B B B。模型 A A A和 B B B均有5个类别,模型 A A A的各类别概率均为 0.2 0.2 0.2,模型B各类别的概率为 { 0.125 , 0.125 , 0.125 , 0.125 , 0.5 } \{0.125,0.125,0.125,0.125,0.5\} {0.125,0.125,0.125,0.125,0.5}。
模型
A
A
A的信息熵为
H
(
P
A
)
=
−
∑
i
=
1
5
0.2
⋅
log
0.2
≈
2.3219
H(P_A)=-\sum_{i=1}^{5}0.2\cdot{\log{0.2}}\approx2.3219
H(PA)=−i=1∑50.2⋅log0.2≈2.3219
模型
B
B
B的信息熵为
H
(
P
B
)
=
−
∑
i
=
1
5
P
(
x
i
)
⋅
log
0.2
=
2
H(P_B)=-\sum_{i=1}^{5}{P({x_i})}\cdot{\log{0.2}}=2
H(PB)=−i=1∑5P(xi)⋅log0.2=2
通过比较发现模型
A
A
A的信息熵更高。
用分散性来理解,概率模型中不同类别的概率越平均,也就是更分散而不集中,则信息熵越大。如果概率模型的类别中有1个或几个类别的概率更大,也就是概率更集中,则其信息熵越小。
模型中有1个类别的概率为1时,信息熵为0
概率模型 p p p中一个类别的概率为 0 0 0时,此时概率从平均程度上来讲,完全集中,此时信息熵为 0 0 0。
交叉熵
交叉熵用来描述目标概率模型
P
P
P与我们拥有的概率模型
Q
Q
Q的差异。
在这里
P
P
P和
Q
Q
Q都用来描述同一随机变量,因此拥有相同的概率种类,而同一类别的概率不一定相同,即
q
(
x
i
)
q(x_i)
q(xi)不一定等于
p
(
x
i
)
p(x_i)
p(xi)。
设
P
P
P是真实的概率分布模型,
Q
Q
Q是我们拥有的概率分布模型,则交叉熵
H
(
P
,
Q
)
H(P,Q)
H(P,Q)的公式为
H
(
P
,
Q
)
=
−
∑
i
p
(
x
i
)
log
q
(
x
i
)
H(P,Q)=-\sum_{i}p(x_i)\log{q(x_i)}
H(P,Q)=−i∑p(xi)logq(xi)
交叉熵的性质
在我们拥有的模型
Q
Q
Q完全等于目标模型
P
P
P时,可以通过数学证明,此时交叉熵
H
(
P
,
Q
)
H(P,Q)
H(P,Q)是对于模型
P
P
P时最小的,此时交叉熵即退化为信息熵,即信息熵的取值是对于目标概率模型P的交叉熵中最小的。
当
Q
Q
Q等于
P
P
P时,交叉熵是对于
P
P
P模型中最小的,但这并不意味着此时的交叉熵为0。交叉熵在此时退化为信息熵,而信息熵只有在概率模型的概率分布完全集中,也就是其中1个类别的概率为
1
1
1时,信息熵才为
0
0
0。
相对熵(KL散度)
相对熵就是KL散度。对于目标概率模型
P
P
P和我们拥有的概率模型
Q
Q
Q,相对熵
D
K
L
(
p
∣
∣
q
)
D_{KL}(p||q)
DKL(p∣∣q)即为
Q
Q
Q对
P
P
P的交叉熵
H
(
p
,
q
)
H(p,q)
H(p,q)与
P
P
P的信息熵
H
(
p
)
H(p)
H(p)的差值。
其中信息熵为交叉熵的下界(即最低取值)。相对熵的公式为
D
K
L
(
p
∣
∣
q
)
=
∑
i
p
(
x
i
)
log
p
(
x
i
)
q
(
x
i
)
D_{KL}(p||q)=\sum_i{p(x_i)\log{\frac{p(x_i)}{q(x_i)}}}
DKL(p∣∣q)=i∑p(xi)logq(xi)p(xi)
相对熵的公式可以转化为交叉熵与信息熵的差值,以下为推导
D
K
L
(
p
∣
∣
q
)
=
∑
i
p
(
x
i
)
log
p
(
x
i
)
−
∑
p
(
x
i
)
log
q
(
x
i
)
=
−
(
−
∑
i
p
(
x
i
)
log
p
(
x
i
)
−
(
−
∑
p
(
x
i
)
log
q
(
x
i
)
)
)
=
−
(
H
(
p
)
−
(
H
(
p
,
q
)
)
)
=
H
(
p
,
q
)
−
H
(
p
)
\begin{align} D_{KL}(p||q)&=\sum_i{p(x_i)}\log{p(x_i)}-\sum{p(x_i)\log{q(x_i)}}\\[1.2em] &=-(-\sum_i{p(x_i)}\log{p(x_i)}-(-\sum{p(x_i)\log{q(x_i)}}))\\[1.2em] &=-(H(p)-(H(p,q)))\\[1.2em] &=H(p,q)-H(p)\\[1.2em] \end{align}
DKL(p∣∣q)=i∑p(xi)logp(xi)−∑p(xi)logq(xi)=−(−i∑p(xi)logp(xi)−(−∑p(xi)logq(xi)))=−(H(p)−(H(p,q)))=H(p,q)−H(p)
相对熵的性质
当目标概率模型
P
P
P与我们拥有的模型
Q
Q
Q相等时,即
p
(
x
i
)
=
q
(
x
i
)
p(x_i)=q(x_i)
p(xi)=q(xi)时,交叉熵与信息熵相等,此时相对熵取到最小值为
0
0
0。
D
K
L
(
p
∣
∣
q
)
=
∑
i
p
(
x
i
)
log
1
=
0
D_{KL}(p||q)=\sum_i{p(x_i)\log{1}}=0
DKL(p∣∣q)=i∑p(xi)log1=0