损失函数

一 损失函数介绍 损失函数用于描述模型预测值与真实值的差距大小。一般有有两种常见的算法——均值平方差(MSE)和交叉熵。下面来分别介绍每个算法的具体内容。 1 均值平方差 均值平方差(Mean Squared Error,MSE),也称“均方误差”,在神经网络中主要是表达预测值和真实值之间的差异,在数理统计中,均方误差是指参数估计值与参数真值之差平方的预期值。 公式如下:主要是对每一个真实值与预期值相减的平方取平均值:
《损失函数》 均方误差的值越小,表明模型越好。 类似的损失算法还有均方根误差RMSE(将MSE开平方):
《损失函数》 平均绝对值误差MAD(对一个真实值与预测值相减的绝对值取平均值)
《损失函数》 2 交叉熵 交叉熵(crossentropy)也是loss算法的一种,一般用在分类问题上,表达意思为预测输入样本属于哪一类的概率。其表达式如下,其中y代表真实值分类(0或1),a代表预测值。 二分类情况下的公式:
《损失函数》 交叉熵也是值越小,代表预测结果越准。 3 损失算法的选取 损失函数的选取取决于输入标签数据的类型: 如果输入的实数、无界的值,损失函数使用平方差。 如果输入标签是位矢量(分类标志),使用交叉熵会更适合。

二 损失函数举例 下面是3个训练样本经过使用softmax作为激活函数的神经网络的输出(computed)、真实结果(targets)以及是否预测正确的对比表格。
《损失函数》 下面是另外一个网络的训练结果
《损失函数》 1 交叉熵计算(三分类交叉熵) 第一个样本的交叉熵为: −(0∗ln0.3+0∗ln0.3+1∗ln0.4)=−ln0.4 对于神经网络来说,交叉熵的计算有点古怪,因为只有一项会被保留下来。因此三个样本的平均交叉熵为: −(ln0.4+ln0.4+ln0.1)/3=1.38 第二个网络的平均交叉熵为: −(ln0.7+ln0.7+ln0.3)/3=0.64 2 均方误差(Root Mean Square Error, RMSE) 第一个网络:0.81 第二个网络:0.34

三 参考
https://blog.csdn.net/u014755493/article/details/71402991
https://blog.csdn.net/DawnRanger/article/details/78031793

    原文作者:chengqiuming
    原文地址: https://blog.csdn.net/chengqiuming/article/details/80138876
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞