在统计学习角度,Huber损失函数是一种使用鲁棒性回归的损失函数,它相比均方误差来说,它对异常值不敏感。常常被用于分类问题上。

下面先给出Huber函数的定义:

这个函数对于小的a值误差函数是二次的,而对大的值误差函数是线性的。变量a表述residuals,用以描述观察值与预测值之差:,因此我们可以将上面的表达式写成下面的形式:

Huber loss (green, ) and squared error loss (blue) as a function of 

两个最常用的损失函数是平方损失(L2),,和绝对值损失(L1)。然而绝对损失在特定点上不可微分,a=0,在a=0点上对它等于区间[-1,+1]的凸次微分是可微分的;绝对值损失函数导致了中值无偏的估计器,它可以通过线性编程为特定的数据集评估。平方损失有着它的缺点:它倾向于对异常值敏感--当累加一组a(as in  )时,当数据时重尾分布是(根据估计理论,中值的渐进相关效率会在重尾分布时表现的较差)采样均值会受少量的较大的值的影响。

像上面定义的那样,在Huber损失函数的最小值在a=0周边邻域上是凸的,huber损失函数将拓展了 和 上的微分到仿射函数上。这些特性允许结合均值无偏的敏感性、均值的最小变化估计器(二次损失函数)和无偏中值估计器的鲁棒性(绝对值损失函数)。

伪Huber损失函数

伪Huber损失函数是Huber函数的平滑版本,而且确保了所有角度上是连续可导的。它可以被定义成:

像上面公式描述的那样,对于小的值a,这个损失函数的值可以表示为a/2,对于较大的a值可以近似成一条斜率为 的直线。当然也存在其他形式的伪Huber损失函数。

分类问题上的演变

对于分类问题,一种Huber损失函数的变形--modified Huber常常被使用。给定一个预测函数f(x)和一个真实的二元分类标签,modified Huber可以被定义为:

项就是只用在SVM上的hinge loss,二次平滑的hinge loss就是L的通用表达形式。

应用

Huber 损失函数常常用于鲁棒性系统分析,M元估计和适应性建模。

Huber鲁棒损失函数的更多相关文章

  1. 基于2D-RNN的鲁棒行人跟踪

    基于2D-RNN的鲁棒行人跟踪 Recurrent Neural Networks RNN 行人跟踪 读"G.L. Masala, et.al., 2D Recurrent Neural N ...

  2. SIFT+HOG+鲁棒统计+RANSAC

    今天的计算机视觉课老师讲了不少内容,不过都是大概讲了下,我先记录下,细讲等以后再补充. SIFT特征: 尺度不变性:用不同参数的高斯函数作用于图像(相当于对图像进行模糊,得到不同尺度的图像),用得到的 ...

  3. Robust Locally Weighted Regression 鲁棒局部加权回归 -R实现

    鲁棒局部加权回归 [转载时请注明来源]:http://www.cnblogs.com/runner-ljt/ Ljt 作为一个初学者,水平有限,欢迎交流指正. 算法参考文献: (1) Robust L ...

  4. 鲁棒图(Robustness Diagram)

    鲁棒图与系统需求分析 鲁棒图(Robustness Diagram)是由Ivar Jacobson于1991年发明的,用以回答“每个用例需要哪些对象”的问题.后来的UML并没有将鲁棒图列入UML标准, ...

  5. H∞一般控制问题的鲁棒叙述性说明

    Robust Control System:反馈控制有承受一定类不确定能力的影响,这一直保持在这种不确定的条件(制)稳定.动态特性(灵敏度)和稳态特性(逐步调整)的能力. 非结构不确定性(Unstru ...

  6. 如何编写高质量的 JS 函数(2) -- 命名/注释/鲁棒篇

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/sd2oX0Z_cMY8_GvFg8pO4Q作者:杨昆 上篇<如何编写高质量的 JS 函数 ...

  7. python练习 英文字符的鲁棒输入+数字的鲁棒输入

    鲁棒 = Robust 健壮 英文字符的鲁棒输入 描述 获得用户的任何可能输入,将其中的英文字符进行打印输出,程序不出现错误.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪ ...

  8. CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL)

    CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL) PointASNL: Robust Point Clouds Processing Using Nonlocal N ...

  9. 【论文阅读】Beyond OCR + VQA: 将OCR融入TextVQA的执行流程中形成更鲁棒更准确的模型

    论文题目:Beyond OCR + VQA: Involving OCR into the Flow for Robust and Accurate TextVQA 论文链接:https://dl.a ...

随机推荐

  1. SPOJ - REPEATS —— 后缀数组 重复次数最多的连续重复子串

    题目链接:https://vjudge.net/problem/SPOJ-REPEATS REPEATS - Repeats no tags  A string s is called an (k,l ...

  2. IntelliJ IDEA 的 project 和 module 区别与关系

    在IDEA 创建一个project,目录结构是这样的:在project下创建一个module之后目录结构是这样的: 简单的概括如下: IntelliJ系中的 Project  相当于Eclipse系中 ...

  3. python基础-正则2

    正则函数 Python提供re模块,包含所有正则表达式的功能 由于python的字符串本身也有\转义,所以需要注意: s = "ABC\\-001" 对应的正则表达式应为:'ABC ...

  4. Multiple webcams on ZoneMinder

    Monitoring a 3D Printer I have tidied my new workshop and I am starting to play with 3d-printing aga ...

  5. P2764 [网络流24题]最小路径覆盖问题[最大流]

    地址 这题有个转化,求最少的链覆盖→即求最少联通块. 设联通块个数$x$个,选的边数$y$,点数$n$个 那么有 $y=n-x$   即  $x=n-y$ 而n是不变的,目标就是在保证每个点入度.出度 ...

  6. bzoj 5281 [Usaco2018 Open]Talent Show——0/1分数规划

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5281 把分子乘1000,就能在整数里做了. 这种水题也花了这么久…… #include< ...

  7. AI-Info-Micron-Insight:通往完全自主之路

    ylbtech-AI-Info-Micron-Insight:通往完全自主之路 1.返回顶部 1. 通往完全自主之路 自动驾驶汽车正在从未来梦想演变为当代现实,随着技术成熟,个人和公共交通将永远转变. ...

  8. Java创建线程的三种方法比较

    一般有三种方法,Thread,Runnable,Callable. Runnable和Callable的区别 (1)Callable规定的方法是call(),Runnable规定的方法是run(). ...

  9. python2 + selenium + eclipse 中,配置好runserver 127.0.0.1:9000,运行的时候,报错

    python2 + selenium + eclipse 中,配置好runserver 127.0.0.1:9000,运行的时候,报错,如图: 原因:       google发现是WSGI appl ...

  10. 按钮交互loading ---- 转圈圈 加载

    按钮loading状态自定义选项(功能): 可以在元素上添加 data-am-loading 来设置选项: spinner 加载动画图标,适用于支持 CSS3 动画.非 input 元素,写图标名称即 ...