当前位置: 首页 > news >正文

《XGBoost算法的原理推导》12-2 t轮迭代中对样本i的预测值 公式解析

本文是将文章《XGBoost算法的原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。


好的,公式(12-2)表示的是 XGBoost 在第 t t t 轮迭代中对样本 i i i 的预测值。它说明了在第 t t t 轮迭代中,模型的预测是通过累加之前所有树的输出值,再加上当前新树的输出得到的。这是 XGBoost 的梯度提升过程的核心之一。让我们一步步解析这个公式的含义和其背后的思想。

公式的结构

y ^ i ( t ) = ∑ k = 1 t − 1 f k ( x i ) + f t ( x i ) (12-2) \hat{y}_i^{(t)} = \sum_{k=1}^{t-1} f_k(x_i) + f_t(x_i) \tag{12-2} y^i(t)=k=1t1fk(xi)+ft(xi)(12-2)

公式中的符号和含义

  1. y ^ i ( t ) \hat{y}_i^{(t)} y^i(t)

    • 表示第 t t t 轮迭代时,模型对第 i i i 个样本的预测值。
    • 这是当前模型对样本 i i i 的最新预测,经过前 t t t 轮迭代的累加优化。
  2. ∑ k = 1 t − 1 f k ( x i ) \sum_{k=1}^{t-1} f_k(x_i) k=1t1fk(xi)

    • 这是前 t − 1 t-1 t1 轮的累加预测结果。
    • 每一轮 k k k 中生成的树 f k f_k fk 都是一个弱学习器,专注于减少前几轮的预测误差。前 t − 1 t-1 t1 轮中所有树的预测值的累加,就代表了在第 t − 1 t-1 t1 轮迭代完成后,模型对样本 i i i 的总预测值。
    • 可以把 ∑ k = 1 t − 1 f k ( x i ) \sum_{k=1}^{t-1} f_k(x_i) k=1t1fk(xi) 看作是第 t − 1 t-1 t1 轮的预测结果,即 y ^ i ( t − 1 ) \hat{y}_i^{(t-1)} y^i(t1)
  3. f t ( x i ) f_t(x_i) ft(xi)

    • 表示第 t t t 轮新生成的树对样本 i i i 的预测值。
    • 这一轮生成的新树 f t f_t ft 是基于前 t − 1 t-1 t1 轮的残差(预测误差)训练得到的,旨在修正当前模型的预测误差,使得预测结果更接近真实目标值。

公式的意义

  • 公式 y ^ i ( t ) = ∑ k = 1 t − 1 f k ( x i ) + f t ( x i ) \hat{y}_i^{(t)} = \sum_{k=1}^{t-1} f_k(x_i) + f_t(x_i) y^i(t)=k=1t1fk(xi)+ft(xi) 体现了梯度提升的思想,即通过逐步迭代来优化模型的预测能力。
  • 在每一轮迭代中,XGBoost 会添加一棵新的树 f t f_t ft,这棵树的目标是尽量拟合前一轮的残差。换句话说,新的树 f t f_t ft 是根据前一轮的误差训练的,目的是修正当前模型对样本 i i i 的预测,使得模型逐渐逼近真实目标值 y i y_i yi
  • 随着迭代轮数 t t t 的增加,累加的预测值会越来越接近真实的 y i y_i yi,从而提高模型的整体预测精度。

等价于递推公式

这个公式实际上与递推公式是等价的。我们可以这样写递推公式:

y ^ i ( t ) = y ^ i ( t − 1 ) + f t ( x i ) \hat{y}_i^{(t)} = \hat{y}_i^{(t-1)} + f_t(x_i) y^i(t)=y^i(t1)+ft(xi)

在这里:

  • y ^ i ( t − 1 ) = ∑ k = 1 t − 1 f k ( x i ) \hat{y}_i^{(t-1)} = \sum_{k=1}^{t-1} f_k(x_i) y^i(t1)=k=1t1fk(xi),表示前 t − 1 t-1 t1 轮的累加预测结果。
  • 因此, y ^ i ( t ) = ∑ k = 1 t − 1 f k ( x i ) + f t ( x i ) \hat{y}_i^{(t)} = \sum_{k=1}^{t-1} f_k(x_i) + f_t(x_i) y^i(t)=k=1t1fk(xi)+ft(xi) 是一种更展开的写法。

为什么这样逐步累加是有效的

  1. 残差修正

    • 在每一轮中,XGBoost 都会根据之前的残差训练一棵新的树 f t f_t ft,这棵树的输出会帮助减少当前的误差,使得模型的预测越来越接近真实值。
  2. 逐步逼近

    • 每次添加的新树只需处理当前的剩余误差,不需要完全重新拟合整个模型。这种逐步修正的方式使得模型能够更精确地捕捉数据的细节,而不会因为一次性拟合复杂模式而导致过拟合。
  3. 控制复杂度

    • 这种累加结构也方便了对模型复杂度的控制。因为每次只增加一个新树,XGBoost 可以通过设置最大树数、树的深度等超参数来控制模型的复杂度,从而防止过拟合。

总结

公式(12-2)表示了 XGBoost 在第 t t t 轮迭代中的预测更新。它说明了模型的预测值是所有之前轮次的树的预测结果之和,加上当前轮次新树的输出。这种逐步累加的方式使得 XGBoost 能够有效地修正误差,逐步逼近真实目标值,从而提升模型的预测精度。


http://www.mrgr.cn/news/66790.html

相关文章:

  • 想唱就唱 2.15.63| 电视免VIP唱K软件,支持手机点歌
  • 揭秘云计算 | 2、业务需求推动IT发展
  • Spring Cloud Circuit Breaker快速入门Demo
  • 【AI视频换脸整合包及教程】AI换脸新星:Rope——让换脸变得如此简单
  • MySQL只允许指定IP访问
  • Linux题目练习
  • DICOM标准:DICOM图像核心属性概念详解——关于参考帧、病人位置、病人方位、图像位置和图像方向、切片位置、图像像素等重要概念解析
  • 双十一热销中 Witsbb健敏思小蓝条钙镁锌霸榜品类TOP1,行业引领者
  • 新版 UTS 2022 版:支持linux上访问同步sqlserver
  • 变脸、看完毒液3,我把自己的脸变毒液了,视频有点惊悚!请谨慎观看
  • Node.js-API 限流与日志优化
  • 线代的几何意义(2)——矩阵乘法,三维及更高维的解释,与非方阵的几何解释
  • FLINK单机版安装部署入门-1
  • 双十一买啥最划算?盘点2024年双十一必买好物!超全选购指南
  • 数据治理项目怎么做,3种推进思路可参考
  • 有哪些“极简风”页面设计的办公协同工具?再不怕眼花缭乱啦!
  • 同是正式编铁饭碗,央国企薪资待遇哪家高?
  • ChatGPT Search:AI 搜索离「谷歌杀手」还有多远?
  • 架构师之路-学渣到学霸历程-44
  • 快乐数算法
  • VC++获取指定进程的路径-支持32位和64位
  • 解决Android Studio 控制台中文乱码
  • R语言生物群落(生态)数据统计分析与绘图丨tidyverse数据清洗、多元统计分析、随机森林、回归及混合效应模型、结构方程模型等
  • 饱和限幅器MATLAB和CODESYS平台下的实现
  • Node.js简介以及安装部署 (基础介绍 一)
  • 【硬件相关】网络配置说明(IPv4 vs IPv6)