首页 > 编程语言 >《XGBoost算法的原理推导》12-1加法模型表达式 公式解析

《XGBoost算法的原理推导》12-1加法模型表达式 公式解析

时间:2024-11-05 23:20:08浏览次数:6  
标签:12 公式 预测值 XGBoost 累加 加法 模型

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


公式 (12-1) 是 XGBoost 的加法模型表达式,用于描述如何通过多个基模型的组合来进行预测。我们来逐步解析这个公式。

公式 (12-1) 的形式

y ^ i = ∑ k = 1 t f k ( x i ) \hat{y}_i = \sum_{k=1}^{t} f_k(x_i) y^​i​=k=1∑t​fk​(xi​)

公式 (12-1) 的解释

  1. 符号和含义

    • y ^ i \hat{y}_i y^​i​:表示模型对第 i i i 个样本的预测值。
    • t t t:表示当前的迭代轮数。XGBoost 是一个逐步迭代的过程,每一轮都会生成一个新的基模型(通常是决策树)。
    • f k ( x i ) f_k(x_i) fk​(xi​):表示第 k k k 轮中生成的模型(决策树)对样本 i i i 的预测值。每个 f k f_k fk​ 都是一个弱学习器,在 XGBoost 中通常是回归树。
  2. 模型的加法结构

    • 这个公式表示,模型的最终预测值是通过逐步累加每一轮生成的弱学习器的预测值来获得的。
    • XGBoost 的核心思想是采用一个加法模型,将每一轮的预测结果累加起来,以提高整体的预测精度。
    • 在每一轮迭代中,XGBoost 会构建一个新的树 f k f_k fk​ 来修正之前模型的误差。这个新树的输出会被加入到之前树的累加结果中。
  3. 逐步优化的过程

    • 在初始化时,模型没有任何树,预测值通常是一个常数(如目标值的均值)。
    • 每一轮迭代都会增加一个新的树 f k f_k fk​,该树是为了减少当前模型在训练集上的预测误差而生成的。具体来说,新的树会学习当前模型的残差,即真实值和当前预测值之间的差异。
    • 这种逐步添加树的过程,使得模型在每一轮都能更好地拟合训练数据的模式,从而逐步提升预测精度。
  4. 累加的意义

    • XGBoost 使用了梯度提升的思想,每一轮生成的树都是在之前树的基础上进行优化的。
    • 通过这种累加结构,XGBoost 可以在不断降低误差的同时,逐步逼近真实的目标值 y i y_i yi​,最终获得一个强大的预测模型。

总结

公式 (12-1) 是 XGBoost 的核心表达式,它说明了如何通过多个弱学习器(决策树)的累加来进行预测。XGBoost 并不是一次性生成一个复杂模型,而是通过逐步构建多个弱学习器,使得每一轮的弱学习器都能对之前的误差进行修正。最终的预测结果是所有弱学习器预测值的累加,从而形成一个强学习器,达到更高的精度。

标签:12,公式,预测值,XGBoost,累加,加法,模型
From: https://blog.csdn.net/u013172930/article/details/143532606

相关文章

  • 【2024潇湘夜雨】WIN11_Pro-Workstation_24H2.26120.2213软件选装纯净特别版11.5
    【系统简介】=============================================================1.本次更新母盘来自WIN11_Pro-Workstation_24H2.26120.2213.进桌面后稍等片刻,等待后续部分优化完成。2.全程离线精简、无人值守调用优化处理制作。部分优化适配系统可能要重启几次,即使显示适配失败也不......
  • 代码随想录算法训练营第十六天|leetcode513.找树左下角的值、leetcode112.路径总和、l
    1leetcode513.找树左下角的值题目链接:513.找树左下角的值-力扣(LeetCode)文章链接:代码随想录视频链接:怎么找二叉树的左下角?递归中又带回溯了,怎么办?|LeetCode:513.找二叉树左下角的值_哔哩哔哩_bilibili思路:就是用一个东西存储result,使用后续遍历,如果遇到了最深的那一个值,就......
  • HTC Vive SDK:空间定位与追踪技术教程_2024-07-26_09-12-46.Tex
    HTCViveSDK:空间定位与追踪技术教程HTCViveSDK概览HTCViveSDK(SoftwareDevelopmentKit)是为开发者提供的一套工具和API,用于创建与HTCVive虚拟现实头盔兼容的应用程序。该SDK的核心功能之一是空间定位与追踪技术,它允许开发者在虚拟环境中精确地追踪用户的头部和手部......
  • 欧姆龙PLC与西门子1200/1500系列PLC利用FinsTCP通讯,欧姆龙无需编程。
     一、前提准备1、欧姆龙PLC支持FinsTcp。欧姆龙系列大部分支持2、西门子1200/1500系列3:软件 欧姆龙CX-ONE与西门子博图二、基于TCPIP开发(软件调试)1、系统概述系统概述,硬件搭建和接线本案例中CJ1W-ETN21模块IP地址为10.110.59.33;计算机 IP地址为10.110.59......
  • delph12中创建sqlite数据库和表的过程
    varconn:TFDConnection;qry:TFDQuery;beginconn:=TFDConnection.Create(nil);tryconn.DriverName:='SQLite';conn.Params.Values['Database']:='C:\path\to\your\database.db3';//指定数据库文件路径conn.Connected:=True;qry......
  • 力扣新手村之1342、1672、412
    1342[将数字变成0的操作次数]题目链接LeetCode1342[将数字变成0的操作次数]详情实例实例1实例2实例3提示题解思路判断num是否为0不为0则判断num是否为偶数num是偶数则除以2num不是偶数则减1操作次数加1重复上述步骤,直到num为0,返回操作次数代码cla......
  • P11236 「KTSC 2024 R1」水果游戏 题解
    很有意思的一道题。思路首先将相邻一样的数合并,每个元素变成一个二元组,表示数与出现次数。考虑什么时候不能合并。我们发现假如充分合并后,现在有连续的三个数\(x_1,x_2,x_3\),以及他们各自的出现次数\(y_1,y_2,y_3\)。如果\(x_1>x_2,x_3>x_2\)。我们想要合并这三个,必须要......
  • HONEYWELL W120956-14 QCS横幅控制稀水执行器
    HONEYWELLW120956-14简介HONEYWELLW120956-14是一款专为造纸行业设计的QCS横幅控制稀水执行器。这款精密设备主要用于精确调节纸页横幅方向的定量分布,在提高产品质量方面发挥着关键作用。它通过精准控制稀释水量来调节纸浆浓度,从而实现横幅方向定量的均匀一致。这一创新技......
  • C++——输入一个字符串,内有数字和非数字字符,如a123x456_ 17960?302tab5876将其中连续
    没注释的源代码#include<iostream>#include<stdio.h>usingnamespacestd;intmain(){  charstr[50],*pstr;  inti,j,k,m,e10,digit,ndigit,a[10],*pa;  cout<<"pleaseinputstring:"<<endl;  gets(str);  pstr=&str[......
  • CVTE - 嵌入式软件开发工程师(Linux方向)- 面经(12)
    -1、背景职位:嵌入式软件开发工程师(Linux方向)项目:2025届校园招聘提前批岗位职责:嵌入式开发工程师会参与全球市场显示类产品的开发,工作包括了系统底层驱动的调试、相关功能模块的代码实现、用户交互设计和上层应用开发等内容。负责全球市场显示类产品的系统设计、实现、优......