【机器学习】鲁棒(健壮)回归-Huber损失(Huber Loss)
创作时间:
作者:
@小白创作中心
【机器学习】鲁棒(健壮)回归-Huber损失(Huber Loss)
引用
CSDN
1.
https://m.blog.csdn.net/IT_ORACLE/article/details/145184899
Huber损失函数是一种结合了均方误差(MSE)和平均绝对误差(MAE)优点的损失函数,它在处理回归问题时能够有效应对异常值。本文将详细介绍Huber损失函数的定义、特点、优缺点,并通过Python代码实现其计算过程。
定义公式
Huber损失的数学表达式如下:
其中:
- a = y - f(x) 是预测值 f(x) 和真实值 y 的残差。
- δ 是用户定义的超参数,控制 MSE 和 MAE 的切换点。
特点:
- 对于 |a| ≤ δ:Huber损失是二次函数,类似 MSE,强调小残差的平滑优化。
- 对于 |a| > δ:Huber损失是线性函数,类似 MAE,减轻了离群点对损失值的影响。
Huber损失的梯度
- 小误差(|a| ≤ δ) 梯度为:a
- 大误差(|a| > δ) 梯度为:δ * sign(a)
优缺点
优点:
- 对小误差采用 MSE,确保了模型的平滑性和稳定性。
- 对大误差采用 MAE,降低了离群点对整体模型的影响。
缺点:
- 超参数 δ 的选择对模型性能影响较大,需要调优。
- 计算复杂度比单纯的 MSE 和 MAE 略高。
Python实现:Huber损失
以下是 Huber 损失的简单实现:
import numpy as np
import matplotlib.pyplot as plt
# Huber损失函数
def huber_loss(y_true, y_pred, delta):
error = y_true - y_pred
loss = np.where(np.abs(error) <= delta,
0.5 * error**2,
delta * (np.abs(error) - 0.5 * delta))
return loss
# 示例数据
y_true = np.array([1, 2, 3, 4, 5])
y_pred = np.array([1.1, 1.9, 3.5, 2.5, 10])
delta = 1.0
# 计算Huber损失
loss = huber_loss(y_true, y_pred, delta)
print("Huber损失:", loss)
print("总损失:", np.sum(loss))
# 可视化损失函数
errors = np.linspace(-5, 5, 100)
losses = huber_loss(0, errors, delta)
plt.plot(errors, losses, label="Huber Loss")
plt.axvline(x=delta, color="red", linestyle="--", label=f"Delta = {delta}")
plt.axvline(x=-delta, color="red", linestyle="--")
plt.title("Huber Loss Function")
plt.xlabel("Error")
plt.ylabel("Loss")
plt.legend()
plt.show()
输出结果
- 打印每个数据点的 Huber 损失值和总损失。
Huber损失: [0.005 0.005 0.125 1. 4.5 ]
总损失: 5.635
- 图形显示 Huber 损失函数的形状,包括在 δ 附近的平滑过渡。
Huber损失的应用
- 回归模型优化: Huber损失常用于带有异常值的回归问题,尤其在训练时数据中包含离群点。
- 鲁棒优化:
- 在神经网络中作为损失函数,用于对异常样本具有鲁棒性的训练。
- 替代 MSE 或 MAE,平衡两者的优缺点。
- 机器学习框架: 诸如 TensorFlow 和 PyTorch 等深度学习框架中,都提供了 Huber 损失的实现。
Huber损失的变体
- Pseudo-Huber损失: 一种平滑的近似版本,用于优化过程中避免梯度不连续的问题。公式为:
- 自适应Huber损失: 动态调整 δ 值,根据数据特性自适应地减少离群点的影响。
热门推荐
道家《静心诀》《养神诀》:最高级的养生,是静心养神
瑜伽静心:缓解压力,焕发身心健康的光辉
放松技巧在应对日常生活中的压力与焦虑
中国楹联之修身篇详解:习静心方泰,无机性自闲哲理和现实作用
双十一在即,天津发布最新交通限行与出行建议
苹果酸:水果酸味的来源及其在生物化学中的重要作用
从加工到营养:浓缩果汁与鲜榨果汁的全方位解析
果汁不是水果:5种常见果汁的营养差异与饮用指南
陕西非遗保护传承创新实践:1500余个阵地助力文化传承
施伯雄:百亿家族继承人从基层做起,与何猷君形成反差
五香瓜子营养丰富,孕妇等四类人群需谨慎
一文详解中国瓜子:历史渊源与十大口味制作全攻略
20岁生日,妈妈写给女儿的成长寄语
数字化时代,如何引导孩子真实表达爱意
想要澎潤好氣色請多吃這「5類食物」!營養師教你改善皮膚氣色飲食法
吃什么内调美白?这些食物助你由内而外散发光采
腊八节来了,这些禁忌和养生习俗你知道吗?
腊八节禁忌知多少?释迦牟尼成道的秘密
腊八节“三不”忌讳:这些传统习俗你了解吗?
排位武将全析——谋董卓:三折叠太师,怎么折都强力!
波兰游客戈西亚点赞中国免签政策
如何维系美满婚姻?专家分享建立幸福关系8大秘诀
浴佛节:释迦牟尼的成佛之路
《西游记》里的如来佛祖,到底多厉害?
施伯雄:从施氏家族继承人到金融科技领军人物
天津自驾游全攻略:从五大道到滨海新区,玩转古今地标
新年出游季,天津车主必看:自驾前车辆保养全指南
玩转天津:摩天轮、意式风情与百年建筑的完美融合
从“患难之交”到“鱼水情”:成语里的中国式友谊
患难之交、一诺千金:成语故事里的中国友情观