【机器学习】MSE和MAE损失函数有什么区别?回归问题的常用损失函数

在机器学习和统计学中,均方误差(Mean Squared Error, MSE)和平均绝对误差(Mean Absolute Error, MAE)是两种常用的损失函数,用于评估模型预测值与真实值之间的差异。它们的区别主要体现在对误差的处理方式和对异常值的敏感性上。

均方误差 (MSE)

定义
MSE 是预测值与真实值之间误差的平方的平均值。其公式如下:

MSE = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2 MSE=n1i=1n(yiy^i)2

其中,( n ) 是样本数量,( y_i ) 是第 ( i ) 个样本的真实值,( \hat{y}_i ) 是第 ( i ) 个样本的预测值。

特点

  1. 对大误差敏感:由于误差被平方处理,MSE 对大的误差比对小的误差更加敏感。这意味着如果存在异常值,MSE 会显著增大。
  2. 导数性质:MSE 的导数计算简单,易于应用于梯度下降等优化算法。

平均绝对误差 (MAE)

定义
MAE 是预测值与真实值之间误差的绝对值的平均值。其公式如下:

MAE = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ \text{MAE} = \frac{1}{n} \sum_{i=1}^n |y_i - \hat{y}_i| MAE=n1i=1nyiy^i

特点

  1. 对大误差不敏感:MAE 直接计算误差的绝对值,避免了平方操作,因此对异常值的敏感性较低。它能更均匀地对待所有误差。
  2. 鲁棒性:由于对异常值不敏感,MAE 更加鲁棒,适用于数据中存在离群点的情况。

区别总结

  1. 误差处理方式

    • MSE 使用平方处理误差,对大误差更加敏感。
    • MAE 使用绝对值处理误差,对所有误差均一对待。
  2. 异常值影响

    • MSE 受到异常值的显著影响。
    • MAE 对异常值的影响较小,更加鲁棒。
  3. 优化和求导

    • MSE 的平方性质使其导数在很多优化算法中计算更为简便。
    • MAE 的绝对值使其在某些优化过程中可能不如 MSE 简单,但在一些鲁棒优化问题中更加有效。

选择何种损失函数

  • 如果对异常值较为敏感,并且希望严重惩罚大的预测误差,可以选择 MSE。
  • 如果数据中存在离群点,或者希望模型更加鲁棒,可以选择 MAE。

在实际应用中,有时会根据具体问题和数据分布的特点来选择合适的损失函数,甚至可以结合使用多种损失函数来平衡模型的表现。

在回归问题中,除了均方误差(MSE)和平均绝对误差(MAE),还有许多其他损失函数可供选择。这些损失函数各有其特点和适用场景。以下是一些常见的回归损失函数:

Huber 损失函数

定义
Huber 损失结合了 MSE 和 MAE 的优点,当误差较小时表现为 MSE,当误差较大时表现为 MAE。其公式如下:

L δ ( a ) = { 1 2 a 2 if  ∣ a ∣ ≤ δ δ ( ∣ a ∣ − 1 2 δ ) otherwise L_{\delta}(a) = \begin{cases} \frac{1}{2}a^2 & \text{if } |a| \leq \delta \\ \delta (|a| - \frac{1}{2}\delta) & \text{otherwise} \end{cases} Lδ(a)={21a2δ(a21δ)if aδotherwise

其中,(a = y_i - \hat{y}_i) 是误差,(\delta) 是一个超参数,控制转换点。

特点

  • 对小误差使用平方处理(与 MSE 类似),对大误差使用线性处理(与 MAE 类似)。
  • 平滑过渡,结合了 MSE 和 MAE 的优点,既能对异常值有一定的鲁棒性,又能对小误差有良好的敏感性。

平方对数误差 (MSLE)

定义
平方对数误差是预测值和真实值的对数之间差异的平方。其公式如下:

MSLE = 1 n ∑ i = 1 n ( log ⁡ ( 1 + y i ) − log ⁡ ( 1 + y ^ i ) ) 2 \text{MSLE} = \frac{1}{n} \sum_{i=1}^n (\log(1 + y_i) - \log(1 + \hat{y}_i))^2 MSLE=n1i=1n(log(1+yi)log(1+y^i))2

特点

  • 对于较大的误差值,MSLE 会降低其影响。
  • 更加关注相对误差,而非绝对误差,适用于目标值跨越多个数量级的情况。

指数损失函数 (Exponential Loss)

定义
指数损失函数主要用于强化学习和分类任务,但也可以应用于回归任务中,其形式为:

L ( y i , y ^ i ) = e ∣ y i − y ^ i ∣ − 1 L(y_i, \hat{y}_i) = e^{|y_i - \hat{y}_i|} - 1 L(yi,y^i)=eyiy^i1

特点

  • 对大误差进行指数惩罚,极其敏感于大误差。
  • 适用于需要特别关注大误差的场景。

对称绝对百分比误差 (Symmetric Mean Absolute Percentage Error, SMAPE)

定义
SMAPE 是基于百分比的误差度量,定义如下:

SMAPE = 100 % n ∑ i = 1 n ∣ y i − y ^ i ∣ ( ∣ y i ∣ + ∣ y ^ i ∣ ) / 2 \text{SMAPE} = \frac{100\%}{n} \sum_{i=1}^n \frac{|y_i - \hat{y}_i|}{(|y_i| + |\hat{y}_i|)/2} SMAPE=n100%i=1n(yi+y^i)/2yiy^i

特点

  • 反映了预测值相对于真实值的百分比误差。
  • 适用于需要比较不同比例误差的场景。

Quantile Loss(分位数损失)

定义
Quantile Loss 用于预测目标变量的特定分位数,定义如下:

L τ ( y , y ^ ) = ∑ i = 1 n ( τ − 1 y i < y ^ i ) ( y i − y ^ i ) L_{\tau}(y, \hat{y}) = \sum_{i=1}^n (\tau - 1_{y_i < \hat{y}_i})(y_i - \hat{y}_i) Lτ(y,y^)=i=1n(τ1yi<y^i)(yiy^i)

其中,(\tau) 是分位数(如 0.5 表示中位数)。

特点

  • 适用于需要预测目标变量的特定分位数的场景。
  • 可以用来构建区间预测。

Pinball Loss(Pinball 损失)

定义
Pinball Loss 是 Quantile Loss 的一种特殊形式,用于评估分位数预测,其公式如下:

L ( y , y ^ ) = ∑ i = 1 n { ( 1 − τ ) ( y ^ i − y i ) , if  y i ≤ y ^ i τ ( y i − y ^ i ) , if  y i > y ^ i L(y, \hat{y}) = \sum_{i=1}^n \left\{ \begin{array}{ll} (1 - \tau)(\hat{y}_i - y_i), & \text{if } y_i \leq \hat{y}_i \\ \tau(y_i - \hat{y}_i), & \text{if } y_i > \hat{y}_i \end{array} \right. L(y,y^)=i=1n{(1τ)(y^iyi),τ(yiy^i),if yiy^iif yi>y^i

特点

  • 强调预测的分位数,不同于传统的平均误差度量。

选择适合的损失函数

选择合适的损失函数取决于具体的应用场景和数据特点:

  • 如果对异常值特别敏感,可以考虑 MSE。
  • 如果数据中存在离群点,MAE 或 Huber Loss 可能更合适。
  • 如果需要对大误差进行严格控制,可以考虑 Exponential Loss。
  • 如果需要考虑相对误差,可以使用 MSLE 或 SMAPE。
  • 如果需要预测特定分位数,可以使用 Quantile Loss 或 Pinball Loss。

通过对不同损失函数的理解和实践,可以更好地选择适合特定回归问题的损失函数,提高模型的预测性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/30765.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Netty 自定义解码器处理粘包和拆包问题详解

使用 Netty 自定义解码器处理粘包和拆包问题详解 在网络编程中&#xff0c;粘包和拆包问题是常见的挑战。粘包是指多个数据包在传输过程中粘在一起&#xff0c;而拆包是指一个数据包在传输过程中被拆分成多个部分。Netty 是一个高性能、事件驱动的网络应用框架&#xff0c;提供…

从零开始精通Onvif之录像存储

&#x1f4a1; 如果想阅读最新的文章&#xff0c;或者有技术问题需要交流和沟通&#xff0c;可搜索并关注微信公众号“希望睿智”。 概述 Onvif的录像存储功能主要由Media、Recording和Replay三个关键服务共同支持。它们协同工作&#xff0c;为录像的存储、检索和播放提供了标准…

3ds Max软件下载安装:3D建模软件 轻松开启你的建模之旅!

3ds Max&#xff0c;在建模过程中&#xff0c;网格建模和NURBS建模两大技术发挥着不可或缺的作用。网格建模允许用户通过顶点、边和面等元素的调整&#xff0c;精确地塑造出模型的形态&#xff1b;而NURBS建模则以其优秀的曲线和曲面处理能力&#xff0c;为设计师们提供了更为平…

迅为RK3568驱动教程第十八期-PWM

系统性PWM课程&#xff0c;完全掌握PWM。采用框架学习法&#xff0c;从基础知识、PWM子系统框架、API函数理论由面到点&#xff0c;逐个击破。通过SG90舵机&#xff0c;呼吸灯的控制把理论转为动手能力。最后从零实现输入捕获驱动程序&#xff0c;深入探究&#xff0c;体验一把…

关键字where 、in、not in、or、and、逻辑运算等组合使用

提示&#xff1a;条件筛选所有的关键字都可以进行任意的组合 文章目录 文章目录Mysql数据库内where关键字的常见用法Mysql数据库中几种比较运算符where之比较查询的方法where之逻辑运算【重点 常用】where之模糊查询&#xff08;类似于正则&#xff09;【重点、常用】where之范…

《人工智能导论》书面作业

第 1 章&#xff1a;绪论 1、分别解释人工智能的三个主要学派的代表人物和主要思想&#xff0c;并给出每个学派的一个实际应用实例。 符号主义&#xff08;Symbolists 或 逻辑主义&#xff09;&#xff1a; 代表人物&#xff1a;马文闵斯基&#xff08;Marvin Minsky&#xf…

dash二次确认

☆ 问题描述 在Dash应用中实现按钮的二次确认功能可以通过使用 dcc.ConfirmDialog 组件来实现。当用户点击按钮时&#xff0c;显示一个确认对话框&#xff0c;用户确认后才执行实际操作。以下是一个示例代码&#xff1a; ★ 解决方案 import dash from dash import dcc, htm…

了解软件开发生命周期 (SDLC)

介绍 软件开发生命周期 (SDLC) 是一种系统化、有序化的方法&#xff0c;用于按时、在预算内交付高质量、可靠的软件。SDLC 涵盖从初始系统概念到替换或退役的所有内容&#xff0c;可详细了解整个软件交付过程。 历史与演变 软件开发生命周期 (SDLC) 概念出现于 20 世纪 60 年…

网络安全练气篇——Web与Http基础

目录 Web安全 一、 大纲 二、 Web 简介 1、什么是 WEB 2、WEB 发展史 静态页面 多媒体阶段 CGI 阶段 AJAX MVC RESTful 云服务 3、WEB 工作方式 进一步讲解 什么是 URL 三、 HTTP 简介 HTTP 请求报文&#xff1a; 请求方法&#xff1a; 请求头部&#xff1a;…

人工智能大模型之开源大语言模型汇总(国内外开源项目模型汇总)

开源大语言模型完整列表 Large Language Model (LLM) 即大规模语言模型&#xff0c;是一种基于深度学习的自然语言处理模型&#xff0c;它能够学习到自然语言的语法和语义&#xff0c;从而可以生成人类可读的文本。 所谓"语言模型"&#xff0c;就是只用来处理语言文…

一文带你理清同源和跨域

1、概述 前后端数据交互经常会碰到请求跨域&#xff0c;什么是跨域&#xff0c;为什么需要跨域&#xff0c;以及常用有哪几种跨域方式&#xff0c;这是本文要探讨的内容。 同源策略(英文全称 Same origin policy)是浏览器提供的一个安全功能。同源策略限制了从同一个源加载的…

零撸包小游戏app对接广告变现开发

零撸包小游戏app对接广告变现开发是一个结合了游戏开发和广告变现策略的综合项目。以下是关于此项目开发的关键步骤和要点&#xff1a; 1. 市场分析与定位 首先&#xff0c;进行深入的市场调研&#xff0c;了解目标用户的特点、兴趣及游戏习惯&#xff0c;以及竞争对手的情况…

C# Practice for Fianl 0x00

Prac1 描述 大家都知道斐波那契数列,现在要求输入一个正整数 n ,请你输出斐波那契数列的第 n 项。 斐波那契数列是一个满足 fib(x)={1fib(x−1)+fib(x−2)​x=1,2x>2​ 的数列 数据范围:1≤n≤40 要求:空间复杂度 O(1),时间复杂度 O(n) ,本题也有时间复杂度 O(lo…

SN74HC14+陶瓷振子做振荡器的试验初步

面包板搭建&#xff0c;4.5V电池供电。 注意我用杜邦线插1脚并缠绕到小频谱的天线上面&#xff0c;如果直接用杜邦线转sma。请先过衰减器。 本想试验一下465khz用SN74HC14做振荡器&#xff0c;实验了很多次&#xff0c;无法起振。 用1M&#xff0c;4M的也无法起振&#xff0c;…

JavaSE 面向对象程序设计 正则表达式

正则表达式 正则表达式&#xff08;Regular Expression&#xff0c;简称Regex&#xff09;是用于匹配文本中模式的字符串表达式。它由普通字符&#xff08;例如字母、数字&#xff09;和特殊字符&#xff08;称为元字符&#xff09;组成&#xff0c;可以非常灵活地定义搜索模式…

[问题记录]Qt QGraphicsItem 移动时出现残影

目录 1.问题现象 2.问题原因 3.修改方案 1.问题现象 自定义 QGraphicsItem 时&#xff0c;绘制rect&#xff0c;对象移动时出现残影。 2.问题原因 直接原因是view未刷新的问题&#xff0c;所以网上有人使用方案 setViewportUpdateMode(QGraphicsView::FullViewportUpdate…

Linux下更新curl版本

一、前景 由于低版本的curl存在一定的漏洞&#xff0c;会对我们的服务器安全造成问题&#xff0c;所以&#xff0c;我们需要将curl由低版本安装到高版本。 二、步骤 1、首先检测服务器安装的curl版本 curl --version 2、查看服务器安装的curl的安装包 rpm -qa curl 3、卸载旧…

【HarmonyOS NEXT】鸿蒙App开发抓包指导-以Charles工具为例

本文档针对鸿蒙单框架设备开发调测时的抓包方案进行整体介绍&#xff08;与鸿蒙设备强相关的步骤会做详细陈述&#xff09;&#xff0c;以Charles抓包工具为例&#xff0c;具体抓包步骤如下&#xff1a; 手机镜像要求&#xff1a;2.0.0.66(SP60DEVC00E66R4P1)及以上 大家容易忽…

LabVIEW电动汽车核心部件检测系统

LabVIEW开发的电动汽车核心部件检测系统&#xff0c;通过硬件接入板和数据采集卡实现信号采集和分析。系统具备智能诊断、模块化设计和用户友好的特点&#xff0c;能够快速、精确地定位故障&#xff0c;提高电动汽车的维护效率和可靠性&#xff0c;支持新能源汽车市场的快速发展…

大数据助力电商发展||电商API接口接入

伴随互联网尤其是移动互联网的高速发展&#xff0c;电子商务已经成为人们生活中不可或缺的一部分&#xff0c;人们的购物理念和消费模式正在发生颠覆性的转变。基于天然的数据优势&#xff0c;电子商务平台利用大数据计算技术不断实施数据的累积、分析和处理&#xff0c;消费者…