深入理解XGBoost

本文深入探讨了XGBoost机器学习算法,包括其核心思想、目标函数的训练误差和正则化项,以及树的生长过程。XGBoost的目标函数结合了训练误差和树的复杂度,通过泰勒公式展开优化。文章详细解析了如何找到最佳的叶子节点得分,以最小化目标函数。最后,提到了树的生长过程,并提供了相关参考资料。
摘要由CSDN通过智能技术生成

1、什么是XGBoost


XGBoost 是陈天奇等人开发的一个开源机器学习项目,XGBoost 是经过优化的分布式梯度提升库,旨在高效、灵活且可移植。
它是基于 Gradient Boosting 框架实现的机器学习算法。

 

1.1 XGBoost的核心思想

XGBoost 的核心思想就是:​​​​​​
​​
- 不断的添加树,树节点选择合适的特征进行分裂,每棵树本质上是在学习新的函数 f(x),去拟合上次预测的残差;
- 假设训练完成得到 
K 棵树,要得到一个样本的预测值时,实际上就是根据这个样本的特征,在每棵树中会对应到一个叶子节点,每个叶子节点就对应一个值;
- 最后将每棵树对应叶子结点的值加起来就是该样本对应的预测值;

如下图所示:

1.2 XGBoost的目标函数

XGBoost 的目标函数如下式所示:

Obj = {\sum}_{i=1}^{n}l(y_i, \widehat{y_i}) + {\sum}_{k=1}^K\Omega (f_k) (1)

前半部分 l(y_i, \widehat{y_i}) 对应训练误差,n 对应训练样本的数量;

后半部分 \Omega (f_k) 对应正则化项,用来表示树的复杂度,K 对应树的数量;

1.2.1 训练误差

首先,我们先来拆解训练误差部分:

在生成第 t 棵树的时候,样本 i 对应的预测值为 \hat{y_i}^{(t)} = \hat{y_i}^{(t-1)} + f_t(x_i)(2)。 

其中,\hat{y_i}^{(t-1)} 为前 t-1 棵树的预测值, 

XGBoost原理解析.pdf 作者:Drxan 邮箱:yuwei8905@126.com 目录 前言 ................................................................................................................. 3 1 基本概念解释 ....................................................................................................................... 4 1.1 函数空间中的优化问题 ................................................................................................ 4 1.2 分步加性模型的理解 .................................................................................................... 5 2 Gradient Boosting 算法原理 .................................................................................................. 6 3 XGBoost 算法原理 ................................................................................................................. 9 3.1 XGBoost 的损失函数 ...................................................................................................... 9 3.2 确定各叶子节点的最优输出值 .................................................................................. 11 3.3 分裂条件 ...................................................................................................................... 12 3.4 弱学习器的集成 .......................................................................................................... 12 4 XGBoost 的优化 ................................................................................................................... 14 4.1 分裂点的搜索算法 ...................................................................................................... 14 4.2 稀疏数据的自动识别 .................................................................................................. 16 4.3 其他计算性能优化 ...................................................................................................... 17 5 总结 ................................................................................... 18 参考文献 .................................................................................................... 18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值