概述
一、信息量
信息量来衡量一个事件的不确定性,一个事件发生的概率越大,其携带的信息量就越小。
设
X
X
X是一个离散型随机变量,其取值为集合
X
=
x
0
,
x
1
,
…
,
x
n
X=x_0,x_1,…,x_n
X=x0,x1,…,xn ,则其概率分布函数为
p
(
x
)
=
P
r
(
X
=
x
)
,
x
∈
X
p(x)=Pr(X=x),x∈X
p(x)=Pr(X=x),x∈X,则定义事件
X
=
x
0
X=x_0
X=x0 的信息量为:
I
(
x
0
)
=
−
log
(
p
(
x
0
)
)
I(x_0)=−text{log}(p(x_0))
I(x0)=−log(p(x0))
当
p
(
x
0
)
=
1
p(x_0)=1
p(x0)=1时,该事件必定发生,其信息量为0.
二、熵
熵用来衡量一个系统的混乱程度,代表系统中信息量的总和;熵值越大,系统不确定性就越大。
熵的计算公式:
H
(
x
)
=
−
∑
i
=
1
n
p
(
x
i
)
log
(
p
(
x
i
)
)
H(x)=−sum^{n}_{i=1}p(x_i)text{log}(p(x_i))
H(x)=−i=1∑np(xi)log(p(xi))
可以看出,熵是信息量的期望值。
三、相对熵 Relative entropy
相对熵也称为KL散度,表示同一个随机变量的两个不同分布间的距离。
设
p
(
x
)
,
q
(
x
)
p(x),q(x)
p(x),q(x) 分别是 离散随机变量
X
X
X的两个概率分布,则
p
p
p对
q
q
q的相对熵是:
D
K
L
(
p
∥
q
)
=
∑
i
p
(
x
i
)
l
o
g
(
p
(
x
i
)
q
(
x
i
)
)
D_{KL}(p parallel q)=sum_{i}p(x_i)log(frac{p(x_i)}{q(x_i)})
DKL(p∥q)=i∑p(xi)log(q(xi)p(xi))
注意:相对熵
≥
0
ge0
≥0
四、交叉熵 Cross Entropy
设
p
(
x
)
,
q
(
x
)
p(x),q(x)
p(x),q(x) 分别是 离散随机变量
X
X
X的两个概率分布,其中
p
(
x
)
p(x)
p(x) 是目标分布,
p
p
p和
q
q
q的交叉熵可以看做是,使用分布
q
(
x
)
q(x)
q(x) 表示目标分布
p
(
x
)
p(x)
p(x) 的困难程度:
H
(
p
,
q
)
=
∑
i
p
(
x
i
)
log
1
log
q
(
x
i
)
=
−
∑
i
p
(
x
i
)
log
q
(
x
i
)
H(p, q)=sum_{i} pleft(x_{i}right) log frac{1}{log qleft(x_{i}right)}=-sum_{i} pleft(x_{i}right) log qleft(x_{i}right)
H(p,q)=i∑p(xi)loglogq(xi)1=−i∑p(xi)logq(xi)
显然有,
D
K
L
(
p
,
q
)
=
H
(
p
,
q
)
−
H
(
p
)
D_{K L}(p, q)=H(p, q)-H(p)
DKL(p,q)=H(p,q)−H(p)
在机器学习中,目标的分布
p
(
x
)
p(x)
p(x) 通常是固定的,我们需要让训练得到的分布
q
(
x
)
q(x)
q(x) 尽可能接近
p
(
x
)
p(x)
p(x),这时候就可以最小化相对熵
D
K
L
(
p
∥
q
)
D_{KL}(pparallel q)
DKL(p∥q),等价于最小化交叉熵
H
(
p
,
q
)
H(p,q)
H(p,q)。
最后
以上就是光亮金毛为你收集整理的什么是交叉熵?的全部内容,希望文章能够帮你解决什么是交叉熵?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复