简单来说,MSE计算简便,但MAE对异常点有更好的鲁棒性。训练一个机器学习模型时,目标就是找到损失函数达到极小值的点。当预测值等于真实值时,这两种函数都能达到最小。

分析:MSE对误差取了平方(令e=真实值-预测值),因此若e>1,则MSE会进一步增大误差。如果数据中存在异常点,那么e值就会很大,而e²则会远大于|e|。因此,相对于使用MAE计算损失,使用MSE的模型会赋予异常点更大的权重。用RMSE(即MSE的平方根,同MAE在同一量级中)计算损失的模型会以牺牲了其他样本的误差为代价,朝着减小异常点误差的方向更新。然而这就会降低模型的整体性能。

直观上可以这样理解:如果我们最小化MSE来对所有的样本点只给出一个预测值,那么这个值一定是所有目标值的平均值。但如果是最小化MAE,那么这个值,则会是所有样本点目标值的中位数。对异常值而言,中位数比均值更加鲁棒,因此MAE对于异常值也比MSE更稳定。

如何选择损失函数:如果训练数据被异常点所污染(比如,在训练数据中存在大量错误的反例和正例标记,但是在测试集中没有这个问题)或者异常点代表在商业中很重要的异常情况,并且需要被检测出来,则应选用MSE损失函数。相反,如果只把异常值当作受损数据,则应选用MAE损失函数。

MAE存在一个严重的问题(特别是对于神经网络):更新的梯度始终相同,也就是说,即使对于很小的损失值,梯度也很大。这样不利于模型的学习。为了解决这个缺陷,可以使用变化的学习率,在损失接近最小值时降低学习率。

MSE在这种情况下的表现就很好,即便使用固定的学习率也可以有效收敛。MSE损失的梯度随损失增大而增大,而损失趋于0时则会减小。这使得在训练结束时,使用MSE模型的结果会更精确。

总结:处理异常点时,L1损失函数更稳定,但它的导数不连续,因此求解效率较低。L2损失函数对异常点更敏感,但通过令其导数为0,可以得到更稳定的封闭解。

二者兼有的问题是:在某些情况下,上述两种损失函数都不能满足需求。例如,若数据中90%的样本对应的目标值为150,剩下10%在0到30之间。那么使用MAE作为损失函数的模型可能会忽视10%的异常点,而对所有样本的预测值都为150。这是因为模型会按中位数来预测。而使用MSE的模型则会给出很多介于0到30的预测值,因为模型会向异常点偏移。上述两种结果在许多商业场景中都是不可取的。最简单的办法是对目标变量进行变换。而另一种办法则是换一个损失函数。
————————————————
版权声明:本文为CSDN博主「clover_my」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/clover_my/article/details/90777964

MSE(L2损失)与MAE(L1损失)的分析相关推荐

  1. 范数与L1损失(MAE)、L2损失(MSE)的关系

    L0范数是指向量中非0的元素的个数.(L0范数很难优化求解) L1范数是指向量中各个元素绝对值之和 L2范数是指向量各元素的平方和然后求平方根 L1范数可以进行特征选择,即让特征的系数变为0. L2范 ...

  2. ML之ME/LF:机器学习中常见模型评估指标/损失函数(LiR损失、L1损失、L2损失、Logistic损失)求梯度/求导、案例应用之详细攻略

    ML之ME/LF:机器学习中常见模型评估指标/损失函数(LiR损失.L1损失.L2损失.Logistic损失)求梯度/求导.案例应用之详细攻略 目录 常见损失函数求梯度案例 1.线性回归求梯度 2.L ...

  3. 机器学习02——回归问题中的损失函数 (L2损失L1损失Huber损失函数)

    回归问题预测中的残差 • 预测残差:真实值和预测值之间的差异: ? = ? − ?1 • 忽略预测残差的正负号:残差的平方:?**2 • 最佳模型:残差平方和(Residual Sum of Squa ...

  4. AI笔记: 损失函数之L1损失、L2损失、Huber损失

    损失函数 之前我们知道预测残差和残差平方和,在机器学习中,我们用专门的术语叫损失函数(loss function)度量样本真实值与模型预测值之间差异 如果我们采用残差平方来作为你的损失函数的话,那我们 ...

  5. 改进的smooth L1损失

    smooth L1的定义如下: 一般smooth L1用于回归任务. 对x求导: smooth L1 在 x 较小时,对 x 的梯度也会变小,而在 x 很大时,对 x 的梯度的绝对值达到上限 1,也不 ...

  6. [人工智能-深度学习-9]:神经网络基础 - 常见loss损失函数之均分误差MSE、绝对值误差MAE、平滑平均绝对误差Huber

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  7. 机器学习的评价指标(二)-SSE、MSE、RMSE、MAE、R-Squared

    回归评价指标SSE.MSE.RMSE.MAE.R-Squared 前言 分类问题的评价指标上一篇文章已讲述,那么回归算法的评价指标就是SSE.MSE,RMSE,MAE.R-Squared.下面一一介绍 ...

  8. #深度解析# SSR,MSE,RMSE,MAE、SSR、SST、R-squared、Adjusted R-squared误差的区别

    文章目录 概述 1. SSE 2. MSE 3. RMSE 4. MAE 5. R-squared 6. Adjusted R-squared 7 对比 MAE.MSE.RMSE.R-square.A ...

  9. 回归评价指标MSE、RMSE、MAE、R-Squared

    前言 分类问题的评价指标是准确率,那么回归算法的评价指标就是MSE,RMSE,MAE.R-Squared.下面一一介绍 均方误差(MSE) MSE (Mean Squared Error)叫做均方误差 ...

  10. 【AI面试】L1 loss、L2 loss和Smooth L1 Loss,L1正则化和L2正则化

    损失函数是深度学习模型优化的一个灵魂基础,所以无论是很新的transform模型,还是比较早期的AlexNet,都不可避免的要涉及到损失函数的设计和应用. 所以,各种形形色色的损失函数(Loss)也就 ...

最新文章

  1. ABA问题的本质及其解决办法
  2. python 16进制加法_在python中追加2个十六进制值
  3. r语言 断轴 画图_R 绘图 – 函数曲线图 | 菜鸟教程
  4. Eclipse中Build Path的使用介绍---学习笔记
  5. 64 源码_【ClickHouse内核】源码阅读策略
  6. phpMyAdmin 尝试连接到MySQL 服务器的错误解决方法
  7. 在家办公,我比上班还累你信吗?
  8. php导航栏代码子菜单找不到,php – 下拉导航菜单,显示每个类别的最新帖子
  9. 怎样import(导入)过期的磁带
  10. python-下拉框处理
  11. 俄罗斯方块游戏设计的有关问题
  12. 日版iphone5 SB 配合REBELiOS卡贴破解电信3G步骤
  13. 安规电容知识详解,X电容和Y电容
  14. 花木兰替父从军java_花木兰替父从军 木兰诗原文
  15. ps aux 中rss的单位
  16. VMware-重要设置-虚拟网络编辑器
  17. Java Web框架简介
  18. python视频在线教程_600集Python从小白到大神
  19. 0736-1.6.1-如何配置CDSW使用本地的Pycharm
  20. UNCTF2022中RSA题目总结

热门文章

  1. Snaker的回退流程源码分析
  2. 快速简单的方法,彻底解决新浪微博自动关注营销号的问题
  3. 北京程序员小哥哥的故事
  4. Keep your Eyes on the Lane: Real-time Attention-guided Lane Detection
  5. 数据可视化之美-动态图绘制(以Python为工具)
  6. 把两张图片并排(行)显示的HTML代码
  7. ODL安装、ODL与mininet连接可视化显示拓扑
  8. 智力游戏教案c语言代码,幼儿园智力游戏教案分析
  9. Java入门 二维数组、一维数组、多维数组的解析(第十三天)
  10. java inflate deflate_Java中的可迭代gzip deflate / inflate