【回归损失函数】L1(MAE)、L2(MSE)、Smooth L1 Loss详解

1. L1 Loss(Mean Absolute Error,MAE)

       平均绝对误差(MAE)是一种用于回归模型的损失函数。MAE 是目标变量和预测变量之间绝对差值之和,因此它衡量的是一组预测值中的平均误差大小,而不考虑它们的方向,范围为 0~∞。

MAE公式:

在这里插入图片描述
MAE导数:

在这里插入图片描述

MAE图像:

【回归损失函数】L1(MAE)、L2(MSE)、Smooth L1 Loss详解_第1张图片
       上图为平均绝对误差函数图,其中目标真值为 100,预测范围在-10000 到 10000 之间,均方 误差损失(Y 轴)在预测值(X 轴)=100 处有最小值,范围为 0~∞。

主要问题:
       导数为常数,在 Loss 函数最小值处容易震荡,导致难以收敛到最优值。

2. L2 Loss(Mean Squared Error,MSE)

       均方误差(MSE)是最常用的回归损失函数,它是目标变量和预测值的差值平方和。

MSE公式:

在这里插入图片描述
MSE导数:

在这里插入图片描述
MSE图像:

【回归损失函数】L1(MAE)、L2(MSE)、Smooth L1 Loss详解_第2张图片

       上图为均方误差函数图,其中目标真值为 100,预测范围在-10000 到 10000 之间,均方 误差损失(Y 轴)在预测值(X 轴)=100 处有最小值,范围为 0~∞。

主要问题:
       导数变化,不稳定,尤其是在早期阶段(损失越大,导数越大),随着导数越来越小, 训练速度变得越来越慢。

3. Smooth L1 Loss

       从损失函数对 x 的导数可知,L1 损失函数对 x 的导数为常数,在训练后期,x 很小时, 如果学习率不变,损失函数会在最优值附近波动,很难收敛到最高的精度。L2 损失对 x 的 导数在 x 值很大时,其导数也非常大,在训练初期不稳定。Smooth L1 Loss 结合了 L1 和 L2 的优点:早期使用 L1,梯度稳定,快速收敛,后期使用 L2,逐渐收敛到最优解。

公式:

在这里插入图片描述
导数:

在这里插入图片描述
图像:

【回归损失函数】L1(MAE)、L2(MSE)、Smooth L1 Loss详解_第3张图片

● 三者对比

【回归损失函数】L1(MAE)、L2(MSE)、Smooth L1 Loss详解_第4张图片
       由上图可以看出,Smooth L1 Loss 结合了 L1 和 L2 的优点:早期使用 L1,梯度稳定,快速收敛,后期使用 L2,逐渐收敛到最优解。

你可能感兴趣的:(深度学习,神经网络,人工智能,计算机视觉,机器学习)