常见回归损失函数详解:L1 Loss, L2 Loss, Huber Loss

误差损失函数比较

L1 损失函数

L1 损失函数又称为绝对误差损失,其形式为 loss(x) = |x|,即预测值与真实值之间差值的绝对值。该函数对异常值具有鲁棒性,梯度恒定不易爆炸,但由于不可导点和不连续导数,可能导致优化过程中收敛速度变慢。

L2 损失函数

L2 损失函数也被称为均方误差损失,其形式为 loss(x) = x²。L2 损失对小误差敏感,能有效惩罚较大的偏差,是神经网络中常用的回归损失函数。然而,L2 损失对异常值非常敏感,可能使得模型偏向这些异常样本。

Huber 损失函数

Huber 损失结合了 L1 和 L2 的优点。其形式为:

  • |x| ≤ δ 时,loss(x) = 0.5 * x²
  • |x| > δ 时,loss(x) = δ * (|x| - 0.5 * δ)

Huber 损失在误差小的情况下与 L2 相同,对结果平滑;在误差大的情况下表现为 L1,提升了对异常值的鲁棒性。

可视化对比

下图展示了 L1 损失、L2 损失以及 Huber 损失三者在误差不同取值下的对比情况:

L1 损失(绝对误差):对异常值鲁棒,梯度恒定,可能导致模型收敛较慢。

L2 损失(平方误差):对小误差敏感,有助于平滑优化,但容易受异常值影响。

Huber 损失:结合了 L1 和 L2 的优点,小误差时像 L2,大误差时像 L1,更平稳且对异常值鲁棒。

相关推荐
TGITCIC7 小时前
讲透知识图谱Neo4j在构建Agent时到底怎么用(二)
人工智能·知识图谱·neo4j·ai agent·ai智能体·大模型落地·graphrag
逆羽飘扬7 小时前
DeepSeek-mHC深度拆解:流形约束如何驯服狂暴的超连接?
人工智能
bing.shao7 小时前
AI工作流如何开始
人工智能
小途软件7 小时前
用于机器人电池电量预测的Sarsa强化学习混合集成方法
java·人工智能·pytorch·python·深度学习·语言模型
扫地的小何尚7 小时前
NVIDIA RTX PC开源AI工具升级:加速LLM和扩散模型的性能革命
人工智能·python·算法·开源·nvidia·1024程序员节
人工智能AI技术7 小时前
多智能体开发实战:从需求拆解到落地部署,这套工程化方案直接复用
人工智能
我的offer在哪里7 小时前
Hugging Face 生态全景图:从数据到部署的全链路 AI 工厂
人工智能
田井中律.8 小时前
多模态RAG实战指南
人工智能
DX_水位流量监测8 小时前
大坝安全监测之渗流渗压位移监测设备技术解析
大数据·运维·服务器·网络·人工智能·安全
昵称已被吞噬~‘(*@﹏@*)’~8 小时前
【RL+空战】学习记录03:基于JSBSim构造简易空空导弹模型,并结合python接口调用测试
开发语言·人工智能·python·学习·深度强化学习·jsbsim·空战