【数据应用技巧】选择合适的损失函数(回归篇)

案例来源:@AI科技评论
案例地址: https://mp.weixin.qq.com/s/Gt8Q4Wm36DoNBO4xI8SJAw

1. MSE(均方误差,L2)
1)损失函数是预测与目标之间的误差平方和
2)对离群点鲁棒性差,当误差超过1时,平方会很大,所以模型容易偏向离群点。可以这么理解,当只输出统一的一个预测值时,MSE最优情况下会输出平均数,平均数对离群点不鲁棒
3)如果离群点是异常值,是对业务有影响的case,那么使用MSE

2. MAE(平均绝对误差,L1)
1)损失函数是预测与目标之间的误差绝对值之和
2)对离群点鲁棒,当只输出统一的一个预测值时,MAE最优情况下会输出中位数,中位数对离群点鲁棒
3)如果离群点只是数据异常,那么使用MAE
4)缺点是梯度固定,很容易错过最优点,解决方法是学习率随着学习过程逐渐变小

3. Huber loss(平滑的平均绝对误差)
1)当误差大时,采用一次式;当误差小时,采用二次式
2)对离群点鲁棒,并能享受二次式不容易错过最优点的特点

【数据应用技巧】选择合适的损失函数(回归篇)_第1张图片

4. Log-Cosh Loss
1) 对于小的x来说,其大约等于 (x ** 2) / 2,而对于大的x来说,其大约等于 abs(x) - log(2)。这意味着'logcosh'的作用大部分与均方误差一样,但不会受到偶尔出现的极端不正确预测的强烈影响。它具有Huber Loss的所有优点,和Huber Loss不同之处在于,其处处二次可导
2)xgb等分类器通过牛顿法求解最优解,因此二次可导的特性很有用

【数据应用技巧】选择合适的损失函数(回归篇)_第2张图片

5. Quantil Loss(分位数损失)
1) Quantile Loss实际上是MAE的扩展形式(当分位数是第50个百分位时,Quantile Loss退化为MAE)
2)Quantile Loss的思想是根据我们是打算给正误差还是负误差更多的值来选择分位数数值。损失函数根据所选quantile (γ)的值对高估和低估的预测值给予不同的惩罚值。举个例子,γ= 0.25的Quantile Loss函数给高估的预测值更多的惩罚,并试图使预测值略低于中位数。

【数据应用技巧】选择合适的损失函数(回归篇)_第3张图片

你可能感兴趣的:(数据应用技巧)