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

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的泛化能力所在。

相关推荐
百胜软件@百胜软件14 小时前
从“人找货”到“货找人”:「胜券商品」如何用AI重构配补调
人工智能·重构
风流 少年14 小时前
Spring AI 2.0:Advisor
android·人工智能·spring
zhangfeng113314 小时前
[帮助聋哑人沟通]Tiger AI 手势识别大升级:从数字到无声世界,双手同时比划也能秒识别
人工智能
chunmiao303214 小时前
Claude 文本水印引退订,AI 内容溯源时代要来了
人工智能
维核科技14 小时前
AI+智慧农业:从选种到丰收的AI赋能之路
人工智能
killerbasd14 小时前
总结 8。15
人工智能·机器学习·概率论
何事误红尘14 小时前
全志A40i学习笔记():开发资料、启用串口
学习
数智化转型推荐官14 小时前
AI驱动采购全链路革新:泛微·京桥通智能化采购管理方案深度解读
人工智能
Microsoft Word14 小时前
Agent上下文工程构建
人工智能