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

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

相关推荐
小白|17 小时前
CANN与实时音视频AI:构建低延迟智能通信系统的全栈实践
人工智能·实时音视频
Kiyra17 小时前
作为后端开发你不得不知的 AI 知识——Prompt(提示词)
人工智能·prompt
艾莉丝努力练剑17 小时前
实时视频流处理:利用ops-cv构建高性能CV应用
人工智能·cann
程序猿追17 小时前
深度解析CANN ops-nn仓库 神经网络算子的性能优化与实践
人工智能·神经网络·性能优化
Hello_Embed17 小时前
libmodbus 移植 STM32(USB 串口后端篇)
笔记·stm32·单片机·嵌入式·freertos·libmodbus
User_芊芊君子17 小时前
CANN_PTO_ISA虚拟指令集全解析打造跨平台高性能计算的抽象层
人工智能·深度学习·神经网络
初恋叫萱萱17 小时前
CANN 生态安全加固指南:构建可信、鲁棒、可审计的边缘 AI 系统
人工智能·安全
张祥64228890417 小时前
RTKLIB源码和理论结合分析笔记三
笔记
机器视觉的发动机17 小时前
AI算力中心的能耗挑战与未来破局之路
开发语言·人工智能·自动化·视觉检测·机器视觉
铁蛋AI编程实战18 小时前
通义千问 3.5 Turbo GGUF 量化版本地部署教程:4G 显存即可运行,数据永不泄露
java·人工智能·python