平方的损失函数近似于残差证明

1. 先定义平方损失函数

对于单个样本 (xi,yi)(x_i, y_i)(xi,yi),平方损失的定义是:
L(yi,f(xi))=(yi−f(xi))2 L(y_i, f(x_i)) = \left(y_i - f(x_i)\right)^2 L(yi,f(xi))=(yi−f(xi))2

其中:

  • yiy_iyi 是样本的真实值
  • f(xi)f(x_i)f(xi) 是模型对该样本的预测值
  • 残差的定义就是 yi−f(xi)y_i - f(x_i)yi−f(xi)

2. 计算损失函数对预测值 f(xi)f(x_i)f(xi) 的偏导数

我们需要计算损失函数 LLL 关于 f(xi)f(x_i)f(xi) 的变化率,也就是偏导数 ∂L∂f(xi)\frac{\partial L}{\partial f(x_i)}∂f(xi)∂L:
∂L∂f(xi)=∂∂f(xi)(yi−f(xi))2 \frac{\partial L}{\partial f(x_i)} = \frac{\partial}{\partial f(x_i)} \left(y_i - f(x_i)\right)^2 ∂f(xi)∂L=∂f(xi)∂(yi−f(xi))2

根据链式法则,令 u=yi−f(xi)u = y_i - f(x_i)u=yi−f(xi),则 L=u2L = u^2L=u2,所以:
∂L∂f(xi)=2u⋅∂u∂f(xi)=2(yi−f(xi))⋅(−1) \frac{\partial L}{\partial f(x_i)} = 2u \cdot \frac{\partial u}{\partial f(x_i)} = 2\left(y_i - f(x_i)\right) \cdot (-1) ∂f(xi)∂L=2u⋅∂f(xi)∂u=2(yi−f(xi))⋅(−1)

化简后得到:
∂L∂f(xi)=−2(yi−f(xi)) \frac{\partial L}{\partial f(x_i)} = -2\left(y_i - f(x_i)\right) ∂f(xi)∂L=−2(yi−f(xi))


3. 计算负梯度

梯度提升树中,我们需要拟合的是负梯度 ,即:
−∂L∂f(xi)=−−2(yi−f(xi))=2(yi−f(xi)) -\frac{\partial L}{\partial f(x_i)} = -\left-2\\left(y_i - f(x_i)\\right)\\right = 2\left(y_i - f(x_i)\right) −∂f(xi)∂L=−−2(yi−f(xi))=2(yi−f(xi))

在梯度下降算法中,常数因子 222 不影响梯度的方向(只影响步长,而步长可以通过学习率调整),因此通常会忽略这个常数,简化为:
−∂L∂f(xi)≈yi−f(xi) -\frac{\partial L}{\partial f(x_i)} \approx y_i - f(x_i) −∂f(xi)∂L≈yi−f(xi)

这正是残差的定义!


总结

平方损失的负梯度等于残差,本质是数学推导的直接结果

  • 平方损失的偏导数包含了残差的相反数
  • 取负后就得到了残差(忽略常数因子)

这也是为什么在平方损失场景下,GBDT和传统的残差提升树是等价的------它们都在拟合残差。而当损失函数不是平方损失(如分类任务的对数损失)时,负梯度就不再是残差,这正是GBDT的泛化能力所在。

相关推荐
geo搜搜果数据14 分钟前
实测5大AI平台品牌排名:复现GEO监测流程
人工智能·langchain·搜搜果
minge00011 小时前
【世界杯中的AI】(2026-07-05)当足球遇见AI:7月5日世界杯的“人机共舞”与冷门之夜
人工智能·科技·世界杯
IT_陈寒2 小时前
闭包陷阱让我加了两天班,JavaScript你真行
前端·人工智能·后端
茯苓gao2 小时前
嵌入式开发笔记:CANopen相关移位运算与通信协议术语详解
网络·嵌入式硬件·学习·信息与通信
wumingxiaoyao2 小时前
从 0 开始学 AI:第 2 课,AI、机器学习、深度学习和大模型是什么关系?
人工智能·深度学习·机器学习·ai·大模型·llm
2601_962683892 小时前
治理遗留系统中的“生肉 SQL”:一次用多模型协作优化慢查询的实战复盘
数据库·人工智能·sql
踩着两条虫2 小时前
可视化 vs 终端 vs 云端:VTJ.PRO、Claude Code、Codex 三强横评
前端·vue.js·人工智能·低代码·架构
字节跳动视频云技术团队2 小时前
Agentic 范式下的视频画质优化:火山引擎的新路径
人工智能·音视频开发
欢子2 小时前
Android 端接入AI
人工智能