← 返回函数库
损失函数
Huber
Huber(r) = ½r² if |r|<δ else δ(|r|−½δ)
平方损失与绝对损失的混合。小残差时像 MSE(平滑),大残差时像 MAE(抗噪)。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
| r | float | 残差 y - ŷ |
| δ | float | 切换阈值 |
Python 实现
下面是教学用的最小实现,目的是让你看懂原理。生产中请用 PyTorch / TensorFlow 的高性能 op。
python
在计算器里试试
打开底部工具栏的「计算器」,把下面这个表达式贴进表达式输入框,拖动参数滑块看曲线变化:
abs(x) < 1 ? 0.5*x^2 : abs(x) - 0.5
Huber (δ=1)