回归的时候有时候会用huber loss,huber loss是什么?什么场合会考虑用huber loss?
3个回答
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,蓝色是平方误差。