news 2026/4/29 3:14:01

Huber损失函数:前面像平方误差(更平滑)、后面像绝对误差(不怕离群点)”的误差函数。它用来衡量预测值和真实值的差距,比纯平方误差更不容易被极端错误样本“带偏”

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Huber损失函数:前面像平方误差(更平滑)、后面像绝对误差(不怕离群点)”的误差函数。它用来衡量预测值和真实值的差距,比纯平方误差更不容易被极端错误样本“带偏”

Huber 损失是一种“前面像平方误差(更平滑)、后面像绝对误差(不怕离群点)”的误差函数。它用来衡量预测值和真实值的差距,比纯平方误差更不容易被极端错误样本“带偏”。


1) 先定义“误差”

设真实值是y yy,预测值是y ^ \hat yy^,那么误差(残差)是

e = y ^ − y e = \hat y - ye=y^y

我们关心的是误差的大小∣ e ∣ |e|e


2) Huber 损失公式

Huber 损失有一个阈值参数δ > 0 \delta>0δ>0(读作 delta),表示“误差多大算大”。

L δ ( e ) = { 1 2 e 2 , ∣ e ∣ ≤ δ δ ( ∣ e ∣ − 1 2 δ ) , ∣ e ∣ > δ L_\delta(e)= \begin{cases} \frac{1}{2}e^2, & |e|\le \delta \\ \delta\left(|e|-\frac{1}{2}\delta\right), & |e|>\delta \end{cases}Lδ(e)={21e2,δ(e21δ),eδe>δ


3) 高中生直觉理解

把它想成“两段式惩罚”:

当误差不大(∣ e ∣ ≤ δ |e|\le\deltaeδ

用平方惩罚:

L = 1 2 e 2 L=\frac{1}{2}e^2L=21e2

  • 小误差时,平方误差能给出更细腻的惩罚(误差从 1 变 2,损失从 0.5 变 2,增加很多),促使模型把小误差继续磨小。
  • 曲线是圆滑的抛物线,训练更稳定。

当误差很大(∣ e ∣ > δ |e|>\deltae>δ

改用“近似绝对值”的线性惩罚:

L = δ ( ∣ e ∣ − 1 2 δ ) L=\delta\left(|e|-\frac{1}{2}\delta\right)L=δ(e21δ)

  • 这时损失随误差大小线性增长,不像平方那样爆炸。
  • 所以遇到“离群点/标注错误/极端样本”,不会把模型拉得太狠。

4) 为什么要这样“拼接”?

对比两种常见损失:

  • 平方误差(MSE)1 2 e 2 \frac{1}{2}e^221e2
    大误差会被放大得非常厉害(例如误差 10,损失 50),容易被少数离群点主导。

  • 绝对误差(MAE)∣ e ∣ |e|e
    不怕离群点,但在误差接近 0 的地方“尖”,优化时不如平方那样平滑。

Huber就是把两者优点合在一起:

  • 小误差:用平方(平滑、好优化)
  • 大误差:用线性(抗离群点)

5) 一个简单数值例子(取δ = 1 \delta=1δ=1

假设误差e = 0.5 e=0.5e=0.5(小误差):

L = 1 2 × 0.5 2 = 0.125 L=\frac{1}{2}\times 0.5^2=0.125L=21×0.52=0.125

假设误差e = 3 e=3e=3(大误差):

L = 1 × ( 3 − 1 2 × 1 ) = 2.5 L=1\times\left(3-\frac{1}{2}\times1\right)=2.5L=1×(321×1)=2.5

如果用平方误差,1 2 × 3 2 = 4.5 \frac{1}{2}\times 3^2=4.521×32=4.5,会惩罚更猛;Huber 就“温和”很多。


如果你告诉我你的任务里误差是“距离(米)”还是“像素/栅格”,我也可以顺便解释δ \deltaδ一般怎么选(比如和栅格分辨率、噪声尺度对应)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 12:07:42

AudioLDM-S极简教程:3步生成专业级影视配音

AudioLDM-S极简教程:3步生成专业级影视配音 想为你的视频配上逼真的环境音效,却苦于找不到合适的素材库?或者花大价钱购买音效授权,却发现效果总是不尽如人意?今天,我要分享一个能彻底改变你工作流的工具—…

作者头像 李华
网站建设 2026/4/21 9:01:45

通义千问3-Reranker-0.6B入门:LangChain集成教程

通义千问3-Reranker-0.6B入门:LangChain集成教程 1. 为什么你需要这个轻量级重排序模型 最近在搭建一个内部知识库系统时,我遇到了一个很实际的问题:用传统向量检索召回的前10个结果里,真正能回答问题的往往只有两三个。就像在图…

作者头像 李华
网站建设 2026/4/18 10:52:47

REX-UniNLU与Git集成实战:零样本中文NLP自动化处理

REX-UniNLU与Git集成实战:零样本中文NLP自动化处理 1. 当开发团队每天面对成百上千条中文提交信息时 你有没有遇到过这样的情况:项目仓库里每天新增几十个PR,每个都带着中文描述,但没人有时间逐条阅读;产品需求文档散…

作者头像 李华
网站建设 2026/4/25 4:52:19

STM32四轴飞行器串级PID姿态控制实战

1. 四轴飞行器姿态控制的本质挑战与串级PID设计动机 在STM32四轴飞行器开发中,姿态控制是整个飞控系统的核心环节。单级PID控制器因其结构简单、易于理解和实现,常被作为入门级姿态控制方案。其基本逻辑是:将遥控器输入的期望姿态角(如横滚角、俯仰角)与IMU解算出的实际姿…

作者头像 李华
网站建设 2026/4/18 2:07:14

JDK1.8环境下的DeepSeek-OCR-2 Java接口开发

JDK1.8环境下的DeepSeek-OCR-2 Java接口开发 1. 开发背景与核心挑战 在企业级文档处理系统中,Java仍然是后端服务的主流语言。当需要将前沿的DeepSeek-OCR-2模型集成到现有Java技术栈时,开发者面临几个关键问题:如何在JDK1.8这种相对陈旧但…

作者头像 李华