L1范数损失函数,也被称为最小绝对值偏差(LAD),最小绝对值误差(LAE)

L2范数损失函数,也被称为最小平方误差(LSE)

L2损失函数 : 不是非常的鲁棒 ; 稳定解 ;;;总是一个解
L1损失函数 : 鲁棒 ;;;;;; 不稳定解 ; ; 可能多个解

鲁棒性

最小绝对值偏差之所以是鲁棒的,是因为它能处理数据中的异常值。如果需要考虑任一或全部的异常值,那么最小绝对值偏差是更好的选择。

L2范数将误差平方化(如果误差大于1,则误差会放大很多),模型的误差会比L1范数来得大,因此模型会对这个样本更加敏感,这就需要调整模型来最小化误差。如果这个样本是一个异常值,模型就需要调整以适应单个的异常值,这会牺牲许多其它正常的样本,因为这些正常样本的误差比这单个的异常值的误差小。

稳定性

最小绝对值偏差方法的不稳定性意味着,对于数据集的一个小的水平方向的波动,回归线也许会跳跃很大。

相反地,最小平方法的解是稳定的,因为对于一个数据点的任何微小波动,回归线总是只会发生轻微移动

总结

MSE对误差取了平方,如果存在异常值,那么这个MSE就很大。

MAE更新的梯度始终相同,即使对于很小的值,梯度也很大,可以使用变化的学习率。MSE就好很多,使用固定的学习率也能有效收敛。

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

Huber

l1和l2都存在的问题:

若数据中90%的样本对应的目标值为150,剩下10%在0到30之间。

那么使用MAE作为损失函数的模型可能会忽视10%的异常点,而对所有样本的预测值都为150,因为模型会按中位数来预测;

MSE的模型则会给出很多介于0到30的预测值,因为模型会向异常点偏移。

这些情况下最简单的办法是对目标变量进行变换。而另一种办法则是换一个损失函数,这就引出了下面要讲的第三种损失函数,即Huber损失函数。

Huber损失,平滑的平均绝对误差

Huber损失对数据中的异常点没有平方误差损失那么敏感。

本质上,Huber损失是绝对误差,只是在误差很小时,就变为平方误差。误差降到多小时变为二次误差由超参数δ(delta)来控制。当Huber损失在[0-δ,0+δ]之间时,等价为MSE,而在[-∞,δ]和[δ,+∞]时为MAE。

berHu损失

berHu恰恰和Huber相反,头很铁,当berHu损失在[0-δ,0+δ]之间时,等价为MAE,而在[-∞,δ]和[δ,+∞]时为MSE.

这样做的目的,就是给一个 超严格的监督,让模型尽量达到最好效果 。

参考:https://www.cnblogs.com/pacino12134/p/11104446.html

Huber和berHu损失函数相关推荐

  1. Huber鲁棒损失函数

    在统计学习角度,Huber损失函数是一种使用鲁棒性回归的损失函数,它相比均方误差来说,它对异常值不敏感.常常被用于分类问题上. 下面先给出Huber函数的定义: 这个函数对于小的a值误差函数是二次的, ...

  2. 如何为模型选择合适的损失函数?所有ML学习者应该知道的5种回归损失函数

    作者 | Prince Grover 译者 | 张建军 整理 | 阿司匹林.Jane 出品 | AI科技大本营 [导读]没有一个损失函数可以适用于所有类型的数据.损失函数的选择取决于许多因素,包括是否 ...

  3. 机器学习初学者都应该知道的5类回归损失函数

    来源: https://heartbeat.fritz.ai/5-regression-loss-functions-all-machine-learners-should-know-4fb140e9 ...

  4. 边框回归的损失函数_一文搞懂常用的七种损失函数

    主要内容: 0-1, Hinge, Logistic, Cross Entropy, Square, Absolute, Huber 简述: 损失函数刻画了模型与训练样本的匹配程度. 分类损失 分类L ...

  5. Sklearn 损失函数如何应用到_机器学习大牛最常用的5个回归损失函数,你知道几个?...

    "损失函数"是机器学习优化中至关重要的一部分.L1.L2损失函数相信大多数人都早已不陌生.那你了解Huber损失.Log-Cosh损失.以及常用于计算预测区间的分位数损失么?这些可 ...

  6. 机器学习者都应该知道的五种损失函数!

    摘要: 还不知道这五种损失函数?你怎么在机器学习这个圈子里面混? 在机器学习中,所有的机器学习算法都或多或少的依赖于对目标函数最大化或者最小化的过程,我们常常把最小化的函数称为损失函数,它主要用于衡量 ...

  7. 收藏 | 机器学习中常用的5种回归损失函数

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作分享,不代表本公众号立场,侵权联系删除 转载于:机器猫 AI博士笔记系列推荐 周志华<机器学习>手推 ...

  8. 损失能收敛到0么 深度学习_人工智能-Tensorflow进行深度学习的一些损失函数的可视化...

    TensorFlow目前是数值计算的最佳开源库,它使机器学习更快更容易.在这篇文章中,您将学习机器学习中使用的一些损失函数.损失函数在机器学习领域非常重要.它们用作测量模型预测输出Y_out与grou ...

  9. 如何选择合适的损失函数

    [AI科技大本营导读]机器学习中的所有算法都依赖于最小化或最大化某一个函数,我们称之为"目标函数".最小化的这组函数被称为"损失函数".损失函数是衡量预测模型预 ...

最新文章

  1. 通过cat /proc/cpuinfo看处理器特点
  2. python基础代码-python基础,python基础代码大全
  3. SpringBoot整合WebSocket时调用service和mapper的方法
  4. GPS-nmealib学习
  5. 用计算机怎么录资料,如何在短时间内快速录入大量数据 -电脑资料
  6. php给html传值,PHP传值到不同页面的三种常见方式及php和html之间传值问题_PHP
  7. 课程 |《知识图谱》第一期
  8. 遗传算法及其应用实现
  9. 美团搜索-搜索引擎关键字智能提示的一种实现[转]
  10. 2017.7.26 奇怪的道路 失败总结
  11. 支付宝上线新功能:去这个国家入境十分钟搞定!
  12. Java问题解决:错误: 找不到或无法加载主类
  13. WC2013 糖果公园
  14. Atitit sumdoc ta index list atiitt 2008 diary 大事记v2 s222.docx Atiti. 2010---2016大事记 just world new
  15. ARP协议报文格式及ARP表简述
  16. 记录 FPGA加速器设计CNN(论文笔记)
  17. 你的成就只能代表着你过去的努力程度
  18. Minimum supported Gradle version is 4.6. Current version is 4.4.
  19. webAppRootKey
  20. ThreeJS - 动态更换fbx模型的某个子Mesh现有的纹理贴图为指定的纹理贴图

热门文章

  1. Thymeleaf一篇就够了
  2. obs linux编译,obs-studio模块分析与源码编译
  3. 2021必看!java二级考试内容
  4. 围绕用户思维,木鸟与途家如何实现乡村民宿下的用户运营
  5. hp 430 系列安装xp系统问题.net framework 3.5 安装期间遇到问题,安装不上。
  6. WinZip 6 for Mac 强大的压缩解压缩工具 | 正版序列号
  7. c语言程序课程设计投票程序,C语言课程设计--C语言投票程序.doc
  8. Java操作Word方法汇总,并详细介绍最简单的方法!!吊打POI以及那些POI的封装库
  9. android录制10秒视频教程,快手怎样录制60秒视频 快手怎么录长视频教程
  10. Raspberry Pi: WiFi设置