交叉熵

上一篇文章我们简单介绍了相对熵的概念,知道了相对熵可以用来表达真实事件和理论拟合出来的事件之间的差异。

相对熵的公式如下:
D K L ( p ∥ q ) = ∑ i = 1 N p ( x i ) log ⁡ p ( x i ) − ∑ i = 1 N p ( x i ) log ⁡ q ( x i ) D _ { K L } ( p \| q ) = \sum _ { i = 1 } ^ { N }p \left( x _ { i } \right)\log p \left( x _ { i } \right)-\sum _ { i = 1 } ^ { N }p \left( x _ { i } \right)\log q \left( x _ { i } \right) DKL(pq)=i=1Np(xi)logp(xi)i=1Np(xi)logq(xi)
可以看到前面一项是真实事件的信息熵取反,我们可以直接写成
D K L ( p ∥ q ) = − H ( p ) − ∑ i = 1 N p ( x i ) log ⁡ q ( x i ) D _ { K L } ( p \| q ) = -H(p)-\sum _ { i = 1 } ^ { N }p \left( x _ { i } \right)\log q \left( x _ { i } \right) DKL(pq)=H(p)i=1Np(xi)logq(xi)
在神经网络训练中,我们要训练的是 q ( x i ) q ( x _ { i }) q(xi)使得其与真实事件的分布越接近越好,也就是说在神经网络的训练中,相对熵会变的部分只有后面的部分,我们希望它越小越好,而前面的那部分是不变的。因此我们可以把后面的部分单独取出来,那部分就是交叉熵,写作:
H ( p , q ) = − ∑ i = 1 N p ( x i ) log ⁡ q ( x i ) H(p,q) = -\sum _ { i = 1 } ^ { N }p \left( x _ { i } \right)\log q \left( x _ { i } \right) H(pq)=i=1Np(xi)logq(xi)
这就是我们经常在神经网络训练中看到的交叉熵损失函数。如果要了解它的内涵,要回头去看相对熵。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值