《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.xdnf.cn/news/4833.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

debian系统安装qt的时候 显示xcb相关文件缺失

如果是安装之后的问题 我们可以选择使用ldd的命令查看当前依赖的so那些文件确实 ldd /home/yinsir/Qt/5.15.2/gcc_64/plugins/platforms/libqxcb.so 本人在进行打包的时候 出现则会个报错 ERROR: ldd outputLine: “libxcb-util.so.1 > not found” ERROR: for binary: “/…

F28379D DAC 寄存器的值千万不要设置成4096啦!

在之前的博客中,更新了如何 使用F28379D的片内DAC,提到DAC为12位的 DAC,因此DAC可以将参考电压分为4096份。不注意的小伙伴可能会将 对应的寄存器的值设置为4096,这样会导致DSP运行至_error_然后停止的哦,如果正在做功…

中研在线教育:开启知识新征程,拓展世界新视野

在当今竞争激烈、知识驱动的时代,教育领域不断涌现出创新型的平台,而中研在线教育无疑是其中一颗璀璨的明星。作为专注于中国研究生知识的在线平台,中研在线教育以其丰富的业务、积极向上的企业价值观和极具感染力的口号,为广大学…

PyQt5实战——多脚本集合包,程序入口QMainWindow(三)

个人博客:苏三有春的博客 系列往期文章: PyQt5实战——多脚本集合包,前言与环境配置(一) PyQt5实战——多脚本集合包,UI以及工程布局(二) PyQt程序入口(QMainWindow&…

A018基于Spring Boot的民宿租赁系统

🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…

中酱:重新定义“健康三境“

王国维在《人间词话》中提出过人生的三重境界。 “昨夜西风凋碧树。独上高楼,望尽天涯路。”此为第一境界 说的是人的立志之境:直面迷茫,内心坚定不移,明确自己追求的方向。 “衣带渐宽终不悔,为伊消得人憔悴。”此为…

基于ESP32的桌面小屏幕实战[2]:硬件设计之充电管理

1. 硬件基础知识 1.1 原理图设计、PCB设计、PCB(电路板)、PCBA(电路板元器件)分别长什么样? 1.2 高低电平 一般可以理解为输出电压VCC就是高电平,输出电压GND(一般是0V)就是低电平…

有代码VISTA: Visual-Textual Knowledge Graph Representation Learning

摘要 知识图用实体和关系组成的三元组来表示人类的知识。虽然现有的知识图嵌入方法大多只考虑知识图的结构,但最近提出的一些多模态方法利用知识图中实体的图像或文本描述。在本文中,我们提出了视觉文本知识图(VTKGs)&#xff0c…

C语言 | Leetcode C语言题解之第523题连续的子数组和

题目&#xff1a; 题解&#xff1a; struct HashTable {int key, val;UT_hash_handle hh; };bool checkSubarraySum(int* nums, int numsSize, int k) {int m numsSize;if (m < 2) {return false;}struct HashTable* hashTable NULL;struct HashTable* tmp malloc(sizeo…

Kimi的论文语言润色技巧:38个提示词让你的写作更专业

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 在学术写作中&#xff0c;语言的精准与流畅性是衡量论文质量的重要标准。Kimi作为一款先进的AI助手&#xff0c;为论文润色提供了全新的解决方案。本文将分享38个实用的Kimi提示词&…

如何利用大规模外链爆发提升SEO效果?

如果你的网站需要在短时间内实现大幅度流量增长&#xff0c;那么GMB外链无疑是最具爆发力的外链策略之一。这种外链策略通过大规模的外链发布&#xff0c;能够在短期内迅速推动网站的数据收录&#xff0c;并带来显著的SEO效果。 GMB外链的最大特点在于其数量的爆发性。一次群发…

去除人声的利器:消音伴奏软件合集

消音伴奏软件可以指专业的音频编辑软件&#xff0c;也可以指近几年出现的很多消音提伴奏的AI工具。这类软件的主要作用就是帮我们去除歌曲或者视频中的人声&#xff0c;从而提取出纯净的伴奏或者背景音乐。目前市面上有哪些知名且好用的消音伴奏软件&#xff1f;我们应该怎样选…

【前端】JavaScript 方法速查大全-对象(二)

&#x1f525; 前言 在现代Web开发中&#xff0c;JavaScript已经成为不可或缺的编程语言。无论是前端开发还是后端服务&#xff0c;JavaScript都扮演着重要角色。为了帮助开发者更高效地使用JavaScript&#xff0c;本文将为您提供一个全面、系统的JavaScript方法参考&#xff…

复习数据库(外键约束)下篇

目录 前言 认识外键 外键的特点 外键的设计方式 多对多 组合主键 一对多/多对一 一对一 外键和外键约束的关系 外键的使用 添加约束 在建表时添加外键约束 如果已经创建表了,那我们可以修改表的方式给表添加外键约束: 应用实例 删除约束 删除/更新行为 含义 …

深入理解 Kafka:分布式消息队列的强大力量

一、引言 在现代分布式系统中&#xff0c;消息队列扮演着至关重要的角色&#xff0c;而 Kafka 作为其中的佼佼者&#xff0c;以其高吞吐量、可扩展性和持久性等特点被广泛应用。无论是处理海量的日志数据、实时的用户交互信息&#xff0c;还是复杂的微服务间通信&#xff0c;Ka…

Jekins篇(搭建/安装/配置)

目录 一、环境准备 1. Jenkins安装和持续集成环境配置 2. 服务器列表 3. 安装环境 Jekins 环境 4. JDK 环境 5. Maven环境 6. Git环境 方法一&#xff1a;yum安装 二、JenKins 安装 1. JenKins 访问 2. jenkins 初始化配置 三、Jenkins 配置 1. 镜像配置 四、Mave…

mmpose框架进行人体姿态识别模型HRNet训练

进行训练之前要先进行标注及数据增强&#xff0c;标注工具写在另一篇&#xff0c;首先讲数据增强。 数据增强 进行简单的色彩变换和位置变换&#xff0c;代码如下&#xff1a; from PIL import Image, ImageEnhance import numpy as np import os import glob import json im…

Dinky中配置Flink集群

需要启动yarn-session 进程&#xff0c;在集群服务器 cd /pwd//flink/bin yarn-session -d 启动成功后可以在yarn的资源管理队列进行查看 启动成功后会给出&#xff1a;JobManager Web Interface 在dinky中进行配置&#xff1a; 集群配置 Hadoop 配置&#xff1a; H…

Android13 系统/用户证书安装相关分析总结(三) 增加安装系统证书的接口遇到的问题和坑

一、前言 接上回说到&#xff0c;修改了程序&#xff0c;增加了接口&#xff0c;却不知道有没有什么问题&#xff0c;于是心怀忐忑等了几天。果然过了几天&#xff0c;应用那边的小伙伴报过来了问题。用户证书安装没有问题&#xff0c;系统证书(新增的接口)还是出现了问题。调…

hashcat爆破rar密码

背景&#xff1a; 在一道CTF题目的时候遇到了一个rar加密压缩包&#xff0c;记录一下爆破过程。 过程&#xff1a; 1、在前一个压缩包里面发现密码提示 2、file查看文件类型&#xff0c;发现是RAR v5&#xff0c;无法使用ARCHPR爆破&#xff0c;排除&#xff1b; 3、使用Pa…