损失函数MSE和MAE的区别以及如何选择
1、均方误差(L2损失)
均方误差(MSE)是最常用的回归损失函数,计算方法是求预测值与真实值之间距离的平方和,公式如下:
MSE=1m∑mi=1(yi−y^i)2MSE=\frac{1}{m} \sum_{m}^{i=1}\left(y_{i}-\hat{y}_{i}\right)^{2}MSE=m1∑mi=1(yi−y^i)2
下图是MSE函数的图像,其中目标值是100,预测值的范围从-10000到10000,Y轴代表的MSE取值范围是从0到正无穷,并且在预测值为100处达到最小。通过数值模拟,平均绝对值误差的形状如下:
2、平均绝对值误差(L1损失)
MAE=1m∑mi=1∣(yi−y^i)∣MAE=\frac{1}{m} \sum_{m}^{i=1}\left|\left(y_{i}-\hat{y}_{i}\right)\right|MAE=m1∑mi=1∣(yi−y^i)∣
平均绝对误差(MAE)是另一种用于回归模型的损失函数。MAE是目标值和预测值之差的绝对值之和。其只衡量了预测值误差的平均模长,而不考虑方向,取值范围也是从0到正无穷(如果考虑方向,则是残差/误差的总和——平均偏差(MBE))。
3、MSE(L2损失)与MAE(L1损失)的比较
简单来说,MSE计算简便,但MAE对异常点有更好的鲁棒性。下面就来介绍导致二者差异的原因。
训练一个机器学习模型时,我们的目标就是找到损失函数达到极小值的点。 当预测值等于真实值时,这两种函数都能达到最小。
下面是这两种损失函数的python代码。你可以自己编写函数,也可以使用sklearn内置的函数。
# true: Array of true target variable
# pred: Array of predictions
def mse(true, pred):return np.sum((true - pred)**2)/len(true)
def mae(true, pred):return np.sum(np.abs(true - pred))/len(true)
# also available in sklearn
# from sklearn.metrics import mean_squared_errorfrom
# sklearn.metrics import mean_absolute_error
下面让我们观察MAE和RMSE(即MSE的平方根,同MAE在同一量级中)在两个例子中的计算结果。第一个例子中,预测值和真实值很接近,而且误差的方差也较小。第二个例子中,因为存在一个异常点,而导致误差非常大。
4、MSE与MAE各自的优缺点
1、MSE对误差取了平方(令e=真实值-预测值),因此若e>1,则MSE会进一步增大误差。如果数据中存在异常点,那么e值就会很大,而e则会远大于|e|。因此,相对于使用MAE计算损失,使用MSE的模型会赋予异常点更大的权重。在第二个例子中,用RMSE计算损失的模型会以牺牲了其他样本的误差为代价,朝着减小异常点误差的方向更新。然而这就会降低模型的整体性能。如果训练数据被异常点所污染,那么MAE损失就更好用(比如,在训练数据中存在大量错误的反例和正例标记,但是在测试集中没有这个问题)。
2、直观上可以这样理解:如果我们最小化MSE来对所有的样本点只给出一个预测值,那么这个值一定是所有目标值的平均值。但如果是最小化MAE,那么这个值,则会是所有样本点目标值的中位数。众所周知,对异常值而言,中位数比均值更加鲁棒,因此MAE对于异常值也比MSE更稳定。
3、MAE存在一个严重的问题(特别是对于神经网络):更新的梯度始终相同,也就是说,即使对于很小的损失值,梯度也很大。这样不利于模型的学习。为了解决这个缺陷,我们可以使用变化的学习率,在损失接近最小值时降低学习率。而MSE在这种情况下的表现就很好,即便使用固定的学习率也可以有效收敛。MSE损失的梯度随损失增大而增大,而损失趋于0时则会减小。这使得在训练结束时,使用MSE模型的结果会更精确。
5、MSE与MAE如何选择
如果异常点代表在商业中很重要的异常情况,并且需要被检测出来,则应选用MSE损失函数。相反,如果只把异常值当作受损数据,则应选用MAE损失函数。总的来说,处理异常点时,MAE损失函数更稳定,但它的导数不连续,因此求解效率较低。MSE损失函数对异常点更敏感,但通过令其导数为0,可以得到更稳定的封闭解。
当两者问题同时存在时,就需要考虑其他的更合适的损失函数了,如Huber损失(平滑的平均绝对误差)、Log-Cosh损失、分位数损失等,详见:
机器学习大牛最常用的5个回归损失函数,你知道几个?
损失函数MSE和MAE的区别以及如何选择相关推荐
- MSE与MAE的区别与如何选择
mark下,讲得非常好 http://rishy.github.io/ml/2015/07/28/l1-vs-l2-loss/ 参考:https://baijiahao.baidu.com/s?id= ...
- 负对数似然 交叉熵 mse mae的区别
交叉熵的介绍见https://blog.csdn.net/jzwei023/article/details/115496906?spm=1001.2014.3001.5501 交叉熵 vs 二阶Los ...
- mse python_MSE与MAE的区别与选择
MSE与MAE的区别与选择 1.均方误差(也称L2损失) 均方误差(MSE)是最常用的回归损失函数,计算方法是求预测值与真实值之间距离的平方和,公式如图. 2.平均绝对值误差(也称L1损失) 平均绝对 ...
- [机器学习与scikit-learn-51]:模型评估-图解回归模型的评估指标MSE、MAE、RMSE、R2、RSS与代码示例
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...
- 交叉熵和mse_损失函数 - MSE
本来主要介绍机器学习中常见的损失函数MSE的定义以及它的求导特性. 数理统计中均方误差是指参数估计值与参数值之差平方的期望值,记为MSE.MSE是衡量"平均误差"的一种较方便的方法 ...
- 序列预测中损失函数详解-MAE、MAPE、RMSE、Huber
损失函数 损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好. 文章目录 损失函数 前言 预测与偏置 常见的损失函数 Error 与 Bias RMSE 平均绝对误差( ...
- 预测评价指标:MSE,RMSE,MAE,MAPE,SMAPE
目录 前言 MSE RMSE MAPE SMAPE Python程序 前言 分类问题的评价指标是准确率,回归算法的评价指标是MSE,RMSE,MAE.测试数据集中的点,距离模型的平均距离越小,该模型越 ...
- 均方误差mse均方根误差rmse_损失函数 - MSE
本来主要介绍机器学习中常见的损失函数MSE的定义以及它的求导特性. 数理统计中均方误差是指参数估计值与参数值之差平方的期望值,记为MSE.MSE是衡量"平均误差"的一种较方便的方法 ...
- ML之ME/LF:机器学习中回归预测模型评估指标(MSE/RMSE/MAE)简介、使用方法、代码实现、案例应用之详细攻略
ML之ME/LF:机器学习中回归预测模型评估指标(MSE/RMSE/MAE)简介.使用方法.代码实现.案例应用之详细攻略 目录 回归预测问题中评价指标简介 RMSE 标准差SD MSE函数
- python求均方根误差_python之MSE、MAE、RMSE的使用
我就废话不多说啦,直接上代码吧! target = [1.5, 2.1, 3.3, -4.7, -2.3, 0.75] prediction = [0.5, 1.5, 2.1, -2.2, 0.1, ...
最新文章
- 66篇论文入选CVPR 2021,商汤的秘籍竟是“大力出奇迹”
- 11 Java NIO Non-blocking Server-翻译
- 在iOS中求数组元素中最大数与最小数
- Cookie对象的应用
- word如何设置上标形式_如何在word中设置特殊页码
- 2017安徽二级c语言,2017计算机二级C语言测试题及答案
- 什么是mysql的索引_什么是MySQL索引?【详解】
- [OpenGL] opengl常见问题汇总
- json转对象的时候字段为空值的时候会被过滤
- php for求合,怎么用PHP for循环求1到100的和
- 世界上最详细的Linux C udp实现文件传输
- PCAN Explorer之plot插件导出数据时间格式转换
- Length和lengthb的区别
- Java学习笔记001_概述及环境搭载
- Disparity(视差)简单解释
- 解决Mac上plt画图中文无法显示的问题
- 飞利浦e570有JAVA吗_飞利浦E570不仅仅是手机还是一款可通话的移动电源
- 2021第三届长安杯检材三复盘
- 2023.02.11草图大师浴室效果图1skp素材效果图
- 七牛云测试域名过期了,全部图片下载方法
热门文章
- 软件工程师的工作经验总结
- Endnote教程:如何快速搞定论文里的参考文献格式?
- (ECCV 2022)E-NeRV: Expedite Neural Video Representation with Disentangled Spatial-Temporal Context
- p图软件pⅰc_P图教程|教你做超火的iMessage图 所需软件:Picsart QQ_修图软件_滤镜_picsart怎么样_纯白色_相册_我超会p图der_摄影_摄影技巧_修图技巧...
- 本地网络出现了一个意外的情况,不能完成所有你在设置中所要求的更改
- 北漂4年,我选择了回到家乡,我选择了父母在,不远行。
- 华为服务器插键盘的位置,服务器如何调出软键盘
- r语言nonzerocoef函数_文献汇报||Lasso方法在肿瘤基因位点筛选中的应用
- php 文字合成图片,PHP图片和文字合成
- 数据库相关类型(日期、复合、bit、布尔)