熵
熵的定义起源于物理学领域。热力学中表征物质状态的参量之一,用符号S表示,其物理意义是体系混乱程度的度量,简单的可以表述为,在一个孤立系统中,熵总是增大,朝无序的方向发展。
在信息论中,熵是信息熵,熵代表了信息量,系统状态越少,熵越少。系统越复杂,熵越大,定义如下:
H
(
x
)
=
E
x
[
I
(
x
)
]
=
E
x
[
−
l
o
g
p
(
x
)
]
=
−
∑
x
∈
χ
p
(
x
)
l
o
g
p
(
x
)
\begin{align*} \begin{split} H(x)& =E_x[I(x)] \\ &=E_x[-logp(x)] \\ &=- \sum _ { x \in \chi } p(x)logp(x) \\ \end{split} \end{align*}
H(x)=Ex[I(x)]=Ex[−logp(x)]=−x∈χ∑p(x)logp(x)
熵越高,则随机变量的信息越多;熵越低,则随机变量的信息越少. 如果变量
X
X
X当且仅当在
x
x
x 时p(x)=1,则熵为0.也就是说,对于一个确定的信息,其熵为0.如果其概率分布为一个均匀分布,则熵最大.
交叉熵
对于分布为p(x)的随机变量,熵H§表示其最优编码长度.交叉熵(Cross Entropy)是按照概率分布
q
q
q的最优编码对真实分布为
p
p
p的信息进行编码的长度,定义为
H
(
p
,
q
)
=
E
p
[
q
(
x
)
]
=
−
∑
x
p
(
x
)
l
o
g
q
(
x
)
\begin{align*} \begin{split} H(p,q)& =E_p[q(x)] \\ &=- \sum _ { x } p(x)logq(x) \\ \end{split} \end{align*}
H(p,q)=Ep[q(x)]=−x∑p(x)logq(x)
在给定𝑝的情况下,如果𝑞和𝑝越接近,交叉熵越小;如果𝑞和𝑝越远,交叉熵就越大.
相对熵(KL散度)
KL 散度(Kullback-Leibler Divergence),也叫KL 距离或相对熵(Relative Entropy),是用概率分布𝑞来近似𝑝时所造成的信息损失量. KL散度是按照概率分布𝑞的最优编码对真实分布为𝑝的信息进行编码,其平均编码长度(即交叉熵)𝐻(𝑝, 𝑞)和𝑝的最优平均编码长度(即熵)𝐻(𝑝)之间的差异. 对于离散概率分布𝑝和𝑞,从𝑞到𝑝的KL散度定义为
K
L
(
p
,
q
)
=
H
(
p
,
q
)
−
H
(
p
)
=
−
∑
x
p
(
x
)
l
o
g
p
(
x
)
q
(
x
)
\begin{align*} \begin{split} KL(p,q)& =H(p,q)-H(p) \\ &=- \sum _ { x } p(x)log\frac{p(x)}{q(x)} \\ \end{split} \end{align*}
KL(p,q)=H(p,q)−H(p)=−x∑p(x)logq(x)p(x)
其中为了保证连续性,定义
0
l
o
g
0
0
=
0
,
0
l
o
g
0
q
=
0
0log\frac{0}{0}=0,0log\frac{0}{q}=0
0log00=0,0logq0=0.
KL 散度总是非负的,KL(𝑝, 𝑞) ≥ 0,可以衡量两个概率分布之间的距离. KL
散度只有当𝑝 = 𝑞时,KL(𝑝, 𝑞) = 0. 如果两个分布越接近,KL散度越小;如果两
个分布越远,KL散度就越大. 但KL散度并不是一个真正的度量或距离,一是KL
散度不满足距离的对称性,二是KL散度不满足距离的三角不等式性质.