L1 损失和 L2 损失是两种常用的损失函数,用于衡量模型的预测值与真实值之间的误差。它们的主要区别在于对误差的处理方式不同,导致它们的性质和应用场景有所不同。 1.L1 损失 (绝对值损失, MAE) L1 损失计算的是预测值与真实值之间绝对误差的总和: [ L_{\text{L1}} = |\mathbf{\epsilon} - \hat{\mathbf...
相对于L2损失函数,L1损失函数对离群值(即预测值与目标值差异较大的样本)更加稳健。这是因为L1损失函数在离群值处的梯度是常数,不会因为预测值与目标值之间的差异而变化。然而,在其他样本和平均样本处,L1损失函数的梯度突然变化,这可能导致不稳定的梯度下降。 在使用L1损失函数时,优化算法(如梯度下降)将尝试最小...
smooth L1损失函数曲线如下图所示,作者这样设置的目的是想让loss对于离群点更加鲁棒,相比于L2损失函数,其对离群点(指的是距离中心较远的点)、异常值(outlier)不敏感,可控制梯度的量级使训练时不容易跑飞。 smooth L1损失函数曲线 四、总结 从上面可以看出,该函数实际上就是一个分段函数,在[-1,1]之间实际上就...
接下来,我们将重点讨论L1和L2损失函数的区别。 1.敏感度不同:L1损失函数对异常值具有更强的敏感性,因为它是通过求绝对差值来计算损失。而L2损失函数对异常值的敏感性较小,因为平方差值使得异常值的影响减小。 2.唯一解和非唯一解:L1损失函数在所有的预测误差相等时往往存在多个最小值,因此具有非唯一解的特点。
L1 范数损失 最小绝对值偏差(LAD) 最小绝对值误差(LAE) 最常看到的MAE也是指L1 Loss损失函数。 它是把目标值 与模型输出(估计值) 做绝对值得到的误差。 什么时候使用? 回归任务 简单的模型 由于神经网络通常是解决复杂问题,所以很少使用。 L2Loss
L2损失函数,也被称为均方误差(Mean Squared Error, MSE),其计算方式是将模型预测值与真实值之间差的平方求和并平均。L2损失函数在误差较小时,损失值会迅速减小,有助于模型快速收敛到最优解。 优点: 梯度随着误差的减小而减小,有助于模型在接近最优解时更细致地调整参数。 在数据分布接近正态分布时,L2损失函数...
L2损失函数的导数是动态变化的,所以x增加也会使损失增加,尤其在训练早起标签和预测的差异大,会导致梯度较大,训练不稳定。 L1损失函数的导数为常数,在模型训练后期标签和预测的差异较小时,梯度值任然较大导致损失函数在稳定值附近波动难以进一步收敛。 SmoothL1损失函数在x较大时,梯度为常数解决了L2损失中梯度较大破坏...
L1损失函数对离群值具有鲁棒性。因为它是用差的绝对值来度量误差,离群值的影响相对较小。而L2损失函数对离群值则比较敏感,因为离群值的平方差会更大,进而对整体的误差产生较大影响。 2.最优解的唯一性: L2损失函数的最小化问题通常有唯一解,这是因为它是一个连续可导的凸函数。而L1损失函数则没有唯一解,...
L1和L2都可以做损失函数使用。 1. L2损失函数 L2范数损失函数,也被称为最小平方误差(LSE)。它是把目标值 yi 与估计值 f(xi) 的差值的平方和最小化。一般回归问题会使用此损失,离群点对次损失影响较大。 L=∑i=1n(yi−f(xi))2 2. L1损失函数 也被称为最小绝对值偏差(LAD),绝对值损失函数(LAE...