回归损失函数1:L1 loss, L2 loss以及Smooth L1 Loss的对比
平均绝对误差(L1 Loss)
平均绝对误差(Mean Absolute Error,MAE) 是指模型预测值f(x)和真实值y之间距离的平均值,其公式如下:
$$ MAE=\frac{\sum^n_{i=1}|f(x_i)-y_i|}{n} $$
均方误差MSE (L2 Loss)
均方误差(Mean Square Error,MSE)是模型预测值f(x) 与真实样本值y 之间差值平方的平均值,其公式如下:
$$ MSE=\frac{\sum^n_{i=1}{(f_{x_i}-y_i)}^2}{n} $$
MSE和MAE的选择
从梯度的求解以及收敛上,MSE是由于MAE的。MSE处处可导,而且梯度值也是动态变化的,能够快速的收敛;而MAE在0点处不可导,且其梯度保持不变。对于很小的损失值其梯度也很大,在深度学习中,就需要使用变化的学习率,在损失值很小时降低学习率。
对离群(异常)值得处理上,MAE要明显好于MSE。
Smooth L1 Loss
$$ SmoothL_1(x)= \begin{cases} 0.5x^2&if|x| < 1\\ |x|-0.5&otherwise \end{cases} $$