回归损失函数

目录

1 MAE

2 MSE

3 MAPE

4 Quantile Loss分位数损失


        回归损失函数也可以做为评价指标使用,但是有没有想过数据分布与损失函数之间的关系呢!

        使用特定损失函数的前提是我们对标签的分布进行了某种假设,在这种假设的前提下通过极大似然法推出所有样本构成的极大似然公式,然后再使用凸优化的方法比如常见的梯度下降法进行求解

我曾经遇到两个问题,类似正太分布与非正太分布损失函数。

     比如下面: 0的值异常多。可以采用非正太损失函数,使用tweedie loss、possion loss等损失函数替代mse。这些lgb、xgb都可调参数。

1 MAE

       平均绝对误差(L1 loss):Mean Absolute Error, MAE。指预测值 和真实值 之间距离的平均值,其公式如下:

         

        MAE是目标值和预测值之差的绝对值之和,可以用来衡量预测值和真实值的距离。但是它不能给出,模型的预测值是比真实值小还是大。        

综合来看,MAE适合对异常值敏感的数据集,或者在对模型的预测误差大小更为关注的情况下使用。但在优化过程和梯度信息方面存在一些不足,需要根据具体情况选择合适的损失函数。

2 MSE

 均方根误差(L2 loss)Mean Square Error,MSE是模型预测值 与真实样本之间差值的平方,其公式如下:

  1. 直观性好: MAE直接衡量了预测值与真实值之间的平均绝对差异,易于理解和解释。
  2. 不受量纲影响: 由于是绝对值求和,MAE不受量纲的影响,因此可以直接比较不同尺度下的模型性能。
  3. 不可微性: MAE在零点处不可微,这使得优化过程变得困难。梯度下降等需要可微的优化算法无法直接应用于MAE。
  4. 梯度信息不明显: 由于MAE的梯度在大部分区域都是常数,因此相对于MSE(均方误差)等损失函数,梯度信息不够明显,可能导致训练过程收敛速度较慢。
  5. 对离群值的处理不足: 尽管MAE对离群值不敏感,但它也没有专门考虑到离群值的影响,可能导致对离群值的处理不足。

        MSE函数曲线光滑、连续,处处可导,随着误差的减小,梯度也在减小,有利于收敛,当真实值和预测值的差值大于1时会放大误差,即给予较大的惩罚,而当差值小于1时会缩小误差,即给予较小的惩罚,对离群点比较敏感,受其影响较大。

       MSE计算简便,但MAE对异常点有更好的鲁棒性:当数据中存在异常点时,用MSE/RMSE计算损失的模型会以牺牲了其他样本的误差为代价,朝着减小异常点误差的方向更新。然而这就会降低模型的整体性能。

3 MAPE

缺点:

综上所述,MAPE 损失函数具有直观性和对异常值的鲁棒性等优点,但也存在一些缺点,如对离散值敏感和不可导性等问题。在选择损失函数时,需要根据具体问题的特点和需求来进行权衡和选择。

  1. 分母为0的问题: 当实际值 ( A_t ) 为0时,MAPE 的分母为0,可能导致无法计算或者出现无穷大的情况。
  2. 对离散值敏感: MAPE 对于实际值接近或等于0的情况下,可能会导致误差放大,不太适用于这种情况。
  3. 不可导性: MAPE 是一个非光滑的损失函数,不易于在优化算法中使用,特别是对于梯度下降等基于梯度的优化方法。
  4. 分母为0的问题: 当实际值 ( A_t ) 为0时,MAPE 的分母为0,可能导致无法计算或者出现无穷大的情况。
  5. 对离散值敏感: MAPE 对于实际值接近或等于0的情况下,可能会导致误差放大,不太适用于这种情况。
  6. 不可导性: MAPE 是一个非光滑的损失函数,不易于在优化算法中使用,特别是对于梯度下降等基于梯度的优化方法。

不可倒部分:

4 Quantile Loss分位数损失

分位数值的选择基于在实际中需要误差如何发挥作用 即在过程中误差为正时发挥更多作用还是在误差为负时发挥更大作用。

当我们需要对区间预测而不单是点预测时 分位数损失函数可以发挥很大作用。

ref:https://blog.csdn.net/Next_SummerAgain/article/details/135371892

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

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

相关文章

基于微信小程序投票评选系统的设计与实现(论文+源码)_kaic

摘 要 社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。所以各大互联网厂商都瞄准移动互联网这个潮…

攻防世界10-disabled_button

10-disabled_button 法1:修改html的标签内容 首先看题目描述提到前端知识,联想到HTML,提示是一个不能按的按钮,结合题目名button很明显是涉及到HTML button标签知识,最后通过disabled提示应该是按钮被禁用了 知识补充…

1990–2016年中国30米分辨率水稻种植分布数据集

本数据集为1990–2016年中国30米分辨率水稻种植分布数据集,覆盖范围包含中国大陆25个省级行政区。数据文件格式为GeoTIFF,地理参考为WGS84(EPSG:4326),每年一个文件,文件名格式为 CCD-Rice-China-年份-v1.t…

嵌入式第四天:(C语言入门)

目录 什么是数组? 数组: 数组的使用: 数组的初始化: 数组名: 数组案例: 一维数组的最大值: 一维数组的逆置: 数组和指针: 通过指针操作数组元素: …

二刷大数据(二)- Spark

目录 SparkHadoop区别核心组件运行架构Master&WorkerApplication (Driver)Executor RDD概念yarn下工作原理算子依赖血缘关系阶段划分广播变量 shuffle流程SparkSQLDataSet、DataFrame、RDD相互转换 SparkStreaming Spark Spark是一种基于内存的快速、通用、可扩展的大数据…

为什么养猫圈更信赖进口生骨肉冻干?五款大卖榜单品控稳冻干首次分享

新手养猫人常常会有这样的疑问:为何进口生骨肉冻干价格如此昂贵,但仍有大量养猫达人对其推崇备至?与国产生骨肉冻干相比,进口产品的价格高出3-4倍之多,那么这高昂的价格背后,进口生骨肉冻干是否真的值得推荐…

初识--Linux的虚拟地址空间

重新了解地址空间 在学习c/c语言的时候,大家一定见过以下这张图 说的是程序会加载在如图的结构上,实际上,我们真的对他很了解吗,而在Linux进程控制这,就会有一个奇怪的现象 前提提要:简要介绍一下fork函数 进程内核数据结构(PCB)自己的代码以及数据 在Linux中,fork可以从当…

P9241 [蓝桥杯 2023 省 B] 飞机降落

原题链接:[蓝桥杯 2023 省 B] 飞机降落 - 洛谷 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 dfs全排列的变形题。 因为最后问飞机是否降落,并且一架飞机降落完毕时另一架飞机才能降落。所以我们设置dfs的两个变量cnt为安全…

计算机科学与导论 第十六章 安全

文章预览: 16.1引言16.1.1 安全目标16.1.2 攻击 16.2机密性16.2.1 对称密钥密码术16.2.2 非对称密钥密码术 16.1引言 为了安全,信息需要避开未授权的使用(机密性),保护信息不受到未授权的篡改(完整性),并且对于得到授权的实体来说是需要时可…

常用序号、标点符号 相关正则表达式

(?:[\(|(|\[])?\d[\]|\))|\、]|[\u2460-\u2473]|[\u4e00-\u5341][.|、]匹配序号 \d\.(?!\d)|\d、常规序号匹配: rule1: 标准格式1. 2、 rule2:排除小数 [^\u4E00-\u9FA5\uFF00-\uFFEFa-zA-Z0-9\s]所有符号 [\u3000-\u303F\uFF00-\uFFE…

分类算法——模型选择与调优(三)

交叉验证 交叉验证:将拿到的训练数据,分为训练和验证集。以下图为例:将数据分成4份,其中 一份作为验证集。然后经过4次(组)的测试,每次都更换不同的验证集。即得到4组模型的 结果,取…

使用Google reCAPTCHA防止机器注册

本文作者:陈进坚 博客地址:https://jian1098.github.io CSDN博客:https://blog.csdn.net/c_jian 简书:https://www.jianshu.com/u/8ba9ac5706b6 联系方式:jian1098qq.com 环境要求 能翻墙的电脑域名 验证原理 在谷歌…

C++入门之类和对象

C入门之类和对象 文章目录 C入门之类和对象1. 类的6个默认对象2. 构造函数2.1 概念2.2 特性2.3 补丁 3. 析构函数3.1 概念3.2 特性3.3 总结 4. 拷贝构造函数4.1 概念4.2 特性4.3 总结 1. 类的6个默认对象 如果一个类中什么都没有,那么这个类就是一个空类。但是&…

个人网站制作 Part 21 添加多语言支持 | Web开发项目

文章目录 👩‍💻 基础Web开发练手项目系列:个人网站制作🚀 添加多语言支持🔨使用多语言库🔧步骤 1: 选择多语言库🔧步骤 2: 安装vue-i18n🔧步骤 3: 创建多语言文件 🔨使用…

【网站项目】 游泳馆管理系统小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

教育短信群发有效果吗?邦之信短信平台为您分析!

教育短信群发确实是一种有效的营销和沟通手段,尤其在教育行业,其效果得到了广泛的认可。以下是教育短信群发的主要效果及其原因分析: 首先,短信群发能够覆盖广大的手机用户群体,几乎每个人都有手机,且经常…

uni-app学习

目录 一、安装HBuilderX 二、创第一个uni-app 三、项目目录和文件作用 四、全局配置文件(pages.json) 4.1 globalStyle(全局样式) 导航栏:背景颜色、标题颜色、标题文本 导航栏:开启下拉刷新、下拉背…

电商价格监测合规性探讨

品牌在做控价、数据分析的过程中,都需要先有数据作为支撑,也就是说要先采集数据,价格监测也是如此,监测的基础是采集,现在主流的采集形式是爬虫采集,可以理解为人工采集的升级版,以机器代替人工…

QT常量中有换行符解决方法--使用中文显示乱码或者编译报错

QT6.3常量中有换行符 int ret2QMessageBox::information(this,QString::fromLocal8Bit("提示"),QString::fromLocal8Bit(("确认启动设备吗?")),QMessageBox::Yes,QMessageBox::No); 确保显示正常,建议每次使用时,中文的前后加一个空…

PLSQL中文乱码问题 + EZDML导入数据库模型乱码

PLSQL中文乱码问题 EZDML导入数据库模型乱码 查询数据库字符集 select userenv(language) from dual;查询本地字符集编码 select * from V$NLS_PARAMETERS;理论上 数据库字符集 跟 本地字符集编码 是一致的 本地字符集编码需要拼接字段值 NLS_LANGUAGE NLS_TERRITORY NLS…