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

  统计/机器学习 回归分析 损失函数    浏览次数: 1333
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,蓝色是平方误差。


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



  相关主题

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

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

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

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

如何理解GBDT里面“损失函数的负梯度在当前模型的值,可以作为残差的估计”?   0回答

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

cross entropy是什么意思?   1回答

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

logloss的取值范围是多少?一般好的分类器能达到多少?   4回答

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

python求logloss   1回答

sklearn里LogisticRegressionCV总是报错:Expected sequence or array-like, got estimator   1回答



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

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

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

我们谢绝答非所问。

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

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