交叉熵的理解

交叉熵

在深度学习中,经常以交叉熵作为代价函数,在这篇文章中主要对熵、相对熵、交叉熵进行详细的讲解,以加深对其理解。

1、信息量的定义

假设 X X 是一个随机变量,其取值集合为χ,概念分布函数为 p(x) p ( x ) 。 则 X=x0 X = x 0 的信息量为: I(x0)=log(p(x0)) I ( x 0 ) = − l o g ( p ( x 0 ) ) 。可以理解为一个事件的发生概念越小所携带的信息量越大。而当某一个时间的 p(x)=1 p ( x ) = 1 ,说明该事件是一个必然发生的事件,该事件即使发生了,也不会增加任何信息量。比如,某个班级有两个A和B,其中A同学的成绩较为优异,其考试及格的概率为0.999;然而B同学成绩不太理想,其及格的概率仅为0.1。当A,B成绩都及格时,其信息量分别为:
A同学: I(xA)=log(0.999)=0.0014 I ( x A ) = − l o g ( 0.999 ) = 0.0014
B同学: I(xB)=log(0.1)=3.3219 I ( x B ) = − l o g ( 0.1 ) = 3.3219
显然,对于其他同学,B同学及格了更加有新闻价值,所携带的信息量也更大。

2、熵的定义

一个事件的发生总有不确定性,那么这个不确定性该如何度量了?如何量化了? 求期望!不错,我们对所有可能结果带来的额外信息量求取均值(期望),其结果不就能够衡量出小明考试成绩的不确定度了吗。
即:

HA(x)=p(x)logp(x)(1p(x))log(1p(x)) H A ( x ) = − p ( x ) ∗ l o g p ( x ) − ( 1 − p ( x ) ) l o g ( 1 − p ( x ) )

可以看出,熵其实是信息量的期望值,它是一个随机变量的确定性的度量。熵越大,变量的取值越不确定,反之就越确定。
我们假设有一个普通的学生C,其及格与否的概念分别为0.5,他的信息熵为:
HC(x)=0.5logp(0.5)(10.5)log(10.5)=1 H C ( x ) = − 0.5 ∗ l o g p ( 0.5 ) − ( 1 − 0.5 ) l o g ( 1 − 0.5 ) = 1

所以其余同学很难猜测其考试是否及格。

3、相对熵

相对熵(relative entropy)又称为KL散度(Kullback-Leibler divergence),KL距离,是两个随机分布间距离的度量。记为:

DKL=Eplog(p(x)q(x))=xϵχp(x)log(p(x)q(x)) D K L = E p l o g ( p ( x ) q ( x ) ) = ∑ x ϵ χ p ( x ) ∗ l o g ( p ( x ) q ( x ) )

=xϵχp(x)log(p(x))p(x)log(q(x)) = ∑ x ϵ χ p ( x ) ∗ l o g ( p ( x ) ) − p ( x ) ∗ l o g ( q ( x ) )

=H(p)+xϵχp(x)log(q(x)) = − H ( p ) + ∑ x ϵ χ − p ( x ) ∗ l o g ( q ( x ) )

=H(p)+Hp(q) = − H ( p ) + H p ( q )

所以:
H(p)=Hp(q)DKL H ( p ) = H p ( q ) − D K L

其中 p为真实分布,q为。上式显然可以看出当 p=q p = q 时,其相对熵为0。从最后一个式子也可以看出相对熵的意义: DKL D K L 表示在真实分布为 p p 的前提下,使用假设分布q进行模拟所多出来的信息量。

4、交叉熵

从上文可以看出,相对熵和交叉熵之间有着千丝万缕的联系,其定义为:

Hp(q)=H(p)+DKL H p ( q ) = H ( p ) + D K L

所以交叉熵 Hp(q) H p ( q ) DKL D K L 距离在行为上是等价的,都反映了分布 p p q的相似程度。最小化交叉熵等于最小化KL距离。他们都在 p=q p = q 时取得最小值 H(p) H ( p ) ( DKL D K L 值为0)。

特别的在逻辑回归中:
p p :真实样本分布服从参数为p的0~1分布。
q q :待估计的模型,服从参数为q的0~1分布。
所以两者的交叉熵为:

Hp(q)=xϵχp(x)log(q(x)) H p ( q ) = ∑ x ϵ χ − p ( x ) ∗ l o g ( q ( x ) )

=xϵχp(y=1)log(q(x))+p(y=0)log(1q(x)) = − ∑ x ϵ χ p ( y = 1 ) l o g ( q ( x ) ) + p ( y = 0 ) l o g ( 1 − q ( x ) )

=xϵχyilog(q(xi)))+(1yi)log(1q(xi))) = − ∑ x ϵ χ y i ∗ l o g ( q ( x i ) ) ) + ( 1 − y i ) ∗ l o g ( 1 − q ( x i ) ) )

这个结果与通过最大似然估计方法求出来的结果一致。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值