深度学习--损失函数


前言

深度学习需要正向传播跟反向传播,为了更新参数w和b,我们需要设置一个损失函数loss function,通过损失函数来进行反向传播。 损失函数 (Loss Function) 也可称为代价函数 (Cost Function)或误差函数(Error Function),损失函数就是用来表示神经网络的预测值与真实值偏离程度的函数,他是一个非负值的函数,为了让神经网络模型更好的拟合到我们想要的模型中,我们希望神经网络的输出值与真实标签数值的误差相对较小。通过最小化损失函数可以得到算法的最优解,从而训练更有效的地模型。损失函数越小,模型的性能也就越好。接下来简单介绍一下神经网络中几种常用的损失函数。

一、均方误差(mean squared error, MSE)

在这里插入图片描述

均方误差也叫做平方损失或者L2损失,常用在最小二乘法中。均方误差(MSE)度量的是预测值和真实值间差的平方的均值。它只考虑误差的平均大小,不考虑其方向。它的思想是使得每个样本点到最优拟合线的距离最小(平方和最小)。但由于经过平方,与真实值偏离较多的预测值会比偏离较少的预测值受到更为严重的惩罚。再加上 MSE 的数学特性很好,这使得计算梯度变得更容易。均方误差损失函数也是我们最常见的损失函数了,常用于回归问题中。

二、平均绝对误差(mean Absolute error, MAE)

在这里插入图片描述

平均绝对误差是所有单个观测值与算术平均值的绝对值的平均,也被称为L1损失,常用于回归问题中。平均绝对误差(MAE)度量的是预测值和实际观测值之间绝对差之和的平均值。和MSE一样,这种度量方法也是在不考虑方向的情况下衡量误差大小。但和MSE的不同之处在于,MAE需要像线性规划这样更复杂的工具来计算梯度。此外,MAE对异常值更加稳健,因为它不使用平方。与平均误差相比,平均绝对误差由于离差被绝对值化,不会出现正负相抵消的情况,因而,平均绝对误差能更好地反映预测值误差的实际情况。
由于L1损失具有稀疏性,为了惩罚较大的值,因此常常将其作为正则项添加到其他损失中作为约束。L1损失的最大问题是梯度在零点不平滑,导致会跳过极小值。
MSE通常比MAE可以更快的收敛。

三、交叉熵损失(Cross Entropy Loss)

交叉熵损失函数主要是用于分类问题,随着预测概率偏离实际标签,交叉熵损失会逐渐增加,分为二分类问题跟多分类问题。
1.二分类(Binary CrossEntroy)

在这里插入图片描述

在二分类任务中,我们使用Sigmoid激活函数将模型的输出压缩在(0,1)区间,来表示输入xi为该类型的概率。当实际标签为yi=1时,函数的后半部分消失,而当实际标签是为 yi=0 时,函数的前半部分消失。简而言之,我们只是把对真实值类别的实际预测概率的对数相乘。还有重要的一点是,交叉熵损失会重重惩罚那些置信度高但是错误的预测值。

2.多分类(Categorical CrossEntroy)

在这里插入图片描述

在多分类的任务中,交叉熵损失函数的思想和二分类是一样的,变化的地方是真实值 yi是一个one-hot向量,同时模型输出的压缩由原来的 Sigmoid 函数换成Softmax函数。Softmax函数将输出压缩在(0,1)区间,并且所有输出的和为1来表示概率。

总结

本文主要介绍了最常用的几种损失函数,适用于回归的均方差损失Mean Squared Loss、平均绝对误差损失 Mean Absolute Error Loss,最常用的交叉熵损失函数 Cross Entropy Loss,包括二分类Binary Cross Entroy和多分类Categorical Cross Entroy的形式。

更多内容请关注微信公众号:深度学习与路径规划
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值