- 交叉熵损失函数是用来衡量神经网络的预测值与实际值的一种方式。与均方差损失函数相比,它能更有效地促进网络的训练
交叉熵损失函数与均方误差损失函数比较
- 结论:一般网络训练选择交叉熵而不选择均方差,具体原因分析如下
- 均方误差损失函数
预测数据和真实数据对应点误差平方和的均值,n为样本的个数
以一个样本为例,此时损失函数为:
根据反向传播求w的梯度:
导数为
sigmoid函数及导数的图像
从上述图可知
值接近0或者1的时候求得的梯度值会接近于0,
由参数更新公式:w=w-学习率×损失函数对参数的偏导可知,偏导很小时,参数更新速度会变得很慢,而当偏导接近于0时,参数几乎就不更新了,会导致网络训练越慢
- 交叉熵损失
还是以单个样本的一次梯度下降为例
前向传播的线性和非线性部分
二分类交叉熵损失函数
二分类交叉熵损失函数对参数w的偏导:
交叉熵对参数w的偏导没有sigmoid导数,所以不存在均方误差导致网络参数更新慢的问题,所以一般选择交叉熵作为损失函数