huber loss是什么?什么时候用?

  统计/机器学习 回归分析 损失函数    浏览次数: 2772
5
回归的时候有时候会用huber loss,huber loss是什么?什么场合会考虑用huber loss?
 

小齐   2017-05-20 12:14



   1个回答 
10

HuberLoss是一个用于回归问题的带参数的损失函数。

$$L_{\delta}(y,f(x))=\begin{cases}\frac{1}{2}(y-f(x))^2,\text{ if }|y-f(x)|\leq \delta \\  \delta|y-f(x)| -\frac{1}{2}\delta^2, \text{ if }|y-f(x)|> \delta  \end{cases}$$

$\delta$是HuberLoss的参数,$y$是真实值,$f(x)$是模型的预测值。

当预测偏差小于$\delta$时,它采用平方误差,当预测偏差大于$\delta$的时候,采用的线性误差。相比于最小二乘的线性回归,HuberLoss降低了对outlier的惩罚程度,所以HuberLoss是一种常用的robust regression的损失函数。


最后贴一张维基上的图。

绿色是参数$\delta=1$的Huber Loss,蓝色是平方误差。


SofaSofa数据科学社区 DS面经 问答 实战

数据痴汉   2017-05-21 09:31



  相关主题

泊松回归(poission regression)的损失函数是什么?   1回答

最小二乘回归和线性回归   2回答

python里有没有huber loss的线性回归   1回答

LR中若标签为+1和-1,损失函数如何推导,求大佬解答   3回答

用SGD计算逻辑回归时的迭代公式是什么?   2回答

逻辑回归的损失函数是怎么来的   2回答

在SVM中获知一个分类机/回归机需要有多训练点?   1回答

hinge loss的公式是什么?   1回答

focal loss是什么?   0回答

怎么理解surrogate loss function代理损失函数?   2回答

Hamming Loss汉明损失的计算公式是什么?   1回答

二元分类为什么不能用MSE做为损失函数?   6回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!