为什么损失函数多用交叉熵entropy来计算

我们知道对于回归问题一般采用均方差来计算损失,这是因为回归输出的是一个实数,这样来计算一个batch中预测值与实际的均方差是自然而然的选择的,而且导数非常简单(神经网络参数的更新依据就是梯度也就是偏导),这里不再推导均方差的偏导。
但对于分类问题,输出的是一个n维的向量,向量的每个值是对应分类的概率,概率最大的就是预测的分类结果。样本的标签值也是一个概率分布,表情衡量两个概率分布之间的距离当然就是交叉熵,但是神经网络的输出又不完全符合概率分布(概率分布的基本要素:所有事件概率和为1),这样就引出的sotfmax函数,它的作用就是把输出转换成概率分布,以用来计算交叉熵损。之所以选用交叉熵还有一个重要的原因就是梯度计算简单(偏导数非常简洁,神经网络的训练是计算密集型,这样可以提高训练效率)。
z_为原始的神经网络输出,经过sotfmax转化为概率分布y_
  在这里插入图片描述
这里写图片描述
  损失函数交叉熵的计算公式:
  在这里插入图片描述
  这里写图片描述
  梯度的推导过程如下:
  在这里插入图片描述
  这里写图片描述

看到最后的结果不是一般的简单,而是非常简单,梯度就是预测值与标签的差。所以输出是概率分布或者可以转化为概率分布的神经网络用交叉熵是非常合适的。

作者:亚当-adam
来源:CSDN
原文:https://blog.csdn.net/zhaojianting/article/details/80681096
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值