神经网络中的交叉熵

本文介绍了交叉熵作为分类问题损失函数的用途,特别是在神经网络的多分类任务中。通过示例解释了如何计算交叉熵,展示了它如何衡量预测概率分布与真实标签之间的距离。在PyTorch中,交叉熵通过torch.nn.CrossEntropyLoss函数实现,该函数内部包含了Softmax操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[参考《TensorFlow实战Google深度学习框架(第2版)》]

作为分类问题中的损失函数

在神经网络的多分类问题中,常常使用one-hot的方法设置n类输出,比如在手写体识别问题中,如果是数字1,神经网络的输出越接近[0,1,0,0,0,0,0,0,0,0]越好。那么如何衡量神经网络与label的接近程度呢?交叉熵是常用的使用方法。其刻画的是两个概率分布之间的距离
交叉熵是信息论中的概念。对于给定的两个概率分布p和q,交叉熵的计算公式是(PyTorch中对数以自然常数e为底):
H ( p , q ) = − ∑ i p i   l n   q i H(p,q)=-\sum_{i}p_i\,ln\, q_i H(p,q)=ipilnqi
在神经网络中常常通过一个Softmax层将原始输出层变成一个概率分布(神经网络图如下:):
y o u t p u t = s o f t m a x ( y ) i = e y i ∑ j = 1 n e y j y_{output}=softmax(y)_i=\frac{e^{yi}}{\sum_{j=1}^{n}e^{yj}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值