常见回归损失函数详解: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,更平稳且对异常值鲁棒。

相关推荐
vkv55889 小时前
我做了一个自媒体多平台发布工具:支持 AI 生成、账号管理、自动登录与批量发布
人工智能·媒体
IT_陈寒9 小时前
React hooks依赖数组这个坑差点把我埋了
前端·人工智能·后端
涛声依旧393169 小时前
Python项目实战:学生信息管理系统
开发语言·python·数据挖掘
我科绝伦(Huanhuan Zhou)9 小时前
分享一个服务故障自愈系统
运维·人工智能·自动化
做个文艺程序员9 小时前
Spring AI + Qwen3.5 实现多步 Agent:从工具调用到自主任务拆解的踩坑全记录
java·人工智能·spring
波动几何9 小时前
极简万能通用AI Agent:universal-agent
人工智能
行者-全栈开发10 小时前
腾讯地图 Map Skills 快速入门:从零搭建 AI 智能行程规划应用
人工智能·typescript·腾讯地图·ai agent·mcp 协议·map skills·智能行程规划
彩虹编程10 小时前
通俗讲解LTN中的非逻辑符号、连接词、量词
人工智能·神经符号
DoUfp0bgq10 小时前
解决RDK X5(ARM64架构)板卡Remote-SSH运行Antigravity AI崩溃(SIGILL):Samba网络盘本地挂载方案
人工智能·架构·ssh
小小小怪兽10 小时前
⛏️深入RAG
人工智能·langchain