Huber loss是为了增强平方误差损失函数(squared loss function)对噪声(或叫离群点,outliers)的鲁棒性提出的。

Definition

Lδ(a)=⎧⎩⎨⎪⎪⎪⎪12a2,δ⋅(|a|−12δ),for |a|≤δ,otherwise.

\begin{split} L_\delta(a)=\left \{ \begin{array}{ll} \frac12a^2,&\textrm{for } |a|\leq\delta,\\ \delta\cdot(|a|-\frac12\delta),&\textrm{otherwise.} \end{array} \right. \end{split}

参数aa通常表示residuals,也即(y−y^)(y-\hat{y})或者写作(y−f(x))(y-f(x)),当a=y−f(x)a=y-f(x)时,上述形式可以拓展为:

Lδ(y,f(x))=⎧⎩⎨⎪⎪⎪⎪12(y−f(x))2,δ⋅(|y−f(x)|−12δ),for |y−f(x)|≤δotherwise.

\begin{split} L_\delta(y, f(x))=\left\{ \begin{array}{ll} \frac12(y-f(x))^2,&\textrm{for }|y-f(x)|\leq\delta\\ \delta\cdot(|y-f(x)|-\frac12\delta),&\textrm{otherwise.} \end{array} \right. \end{split}

visualization

import numpy as np
import matplotlib.pyplot as pltdef huber_loss(e, d):return (abs(e)<=d)*e**2/2 + (e>d)*d*(abs(e)-d/2)plt.figure(figsize=(6, 4.5), facecolor='w', edgecolor='k')
x = np.arange(-20, 20)
plt.plot(x, x**2/2, label='squared loss', lw=2, 'g')
for d in (10, 5, 3, 1):plt.plot(x, huber_loss(x, d), label=r'huber loss: $\delta$={}'.format(d), lw=2)plt.legend(loc='best', frameon=False)
plt.xlabel('standard deviation')
plt.ylabel('loss')
plt.show()

References

[1] Huber Loss Wikipedia

Huber Loss function相关推荐

  1. 一文弄懂各种loss function

    有模型就要定义损失函数(又叫目标函数),没有损失函数,模型就失去了优化的方向.大家往往接触的损失函数比较少,比如回归就是MSE,MAE,分类就是log loss,交叉熵.在各个模型中,目标函数往往都是 ...

  2. 【损失函数】MSE, MAE, Huber loss详解

    转载:https://mp.weixin.qq.com/s/Xbi5iOh3xoBIK5kVmqbKYA https://baijiahao.baidu.com/s?id=16119517755261 ...

  3. python如何画损失函数图_Pytorch 的损失函数Loss function使用详解

    1.损失函数 损失函数,又叫目标函数,是编译一个神经网络模型必须的两个要素之一.另一个必不可少的要素是优化器. 损失函数是指用于计算标签值和预测值之间差异的函数,在机器学习过程中,有多种损失函数可供选 ...

  4. 损失函数(loss function)

    文章目录 1.什么是损失函数 2.为什么要使用损失函数 3.损失函数分类 1.分类一 2.分类二 3.分类三 3.1基于距离度量的损失函数 3.1.1 均方误差损失函数(MSE) 3.1.2 L2损失 ...

  5. 损失函数(Loss Function)在实际应用中如何合理设计

    目录 1 前言 2 回归(Regression)任务 2.1 均方误差MSE(mean squared error) 2.2 平均绝对误差MAE( mean absolute error) 2.3 H ...

  6. 损失函数Loss Function

    简介 损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的"风险"或"损失&q ...

  7. 神经网络中,设计loss function有哪些技巧?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:视学算法 神经网络中,设计loss function有哪 ...

  8. 损失函数(Loss Function) -1

    http://www.ics.uci.edu/~dramanan/teaching/ics273a_winter08/lectures/lecture14.pdf Loss Function 损失函数 ...

  9. R语言构建xgboost模型:自定义损失函数(目标函数、loss function、object function)、评估函数(evaluation function)

    R语言构建xgboost模型:自定义损失函数(目标函数.loss function.object function).评估函数(evaluation function) 目录

最新文章

  1. 各种有return的情况下try-catch-finally的执行顺序
  2. MyBatis 通用Mapper 入门教程
  3. MAC ox下配置mysql
  4. 到底是把甲方当爸爸还是当甲方爸爸
  5. UVA-804 模拟
  6. Github 王炸功能!Copilot 替代打工人编程?
  7. 如何使用系统自带的日志转储功能logroate.存放应用日志
  8. sql中带in条件的查询及提高效率
  9. JS学习总结(5)——循环语句
  10. html添加兄弟元素,jquery插入兄弟节点的操作方法
  11. Infopath入门到精通系列-2 Infopath 文件内容查看
  12. 【新征程】1、考研路漫漫
  13. 如何在Win11中恢复动态磁贴?
  14. python毕业设计项目源码选题(14)校园失物招领系统毕业设计毕设作品开题报告开题答辩PPT
  15. 不同型号阵列卡相关工具的使用简介
  16. [iOS] MUI-WebView模式集成到iOS应用
  17. wifi破解神器殃及池鱼后
  18. 解析自动休眠---实现自动关机
  19. Carbon Streaming提供股票和权证合并的最新信息,以寻求潜在的美国上市
  20. linux操作系统使用广泛吗,为何说Ubuntu是使用最广泛Linux操作系统的五大理由

热门文章

  1. Hive 与 RDBMS的区别
  2. 可变集合和不可变集合
  3. jmter测试jmeter参数化(必须掌握)
  4. c语言用参数确认递归,C语言程序设计(第4章函数)3
  5. el-form 动态校验规则_动态多线程敏感信息泄露检测工具
  6. 雷军:我爱编程这个工作,可以肯定我会干上一辈子
  7. LeetCode 235. 二叉搜索树的最近公共祖先(递归)
  8. ad19 导出step 没有pcb_PCB设计导出Gerber基本操作及注意事项(三)
  9. 感觉前路任重而道远呀。
  10. java 分隔函数split(,-1)的用途