XGBoost 确定指南(第一部分)
XGBoost 确定指南(第一部分)' can be condensed to 'XGBoost 确定指南'.
一步一步推导出流行的XGBoost算法,包括详细的数值说明
XGBoost(全称为eXtreme Gradient Boosting)是一个开源库,提供了一个优化和可扩展的梯度提升决策树实现。它结合了各种软件和硬件优化技术,使其能够处理大量的数据。
XGBoost最初是由Tianqi Chen和Carlos Guestrin于2016年开发的研究项目[1],已成为解决结构化(表格)数据上的监督学习任务的首选解决方案。它在许多标准回归和分类任务上提供了最先进的结果,许多Kaggle竞赛的获奖者在其获胜解决方案中使用了XGBoost。
尽管在处理表格数据方面,深度神经网络取得了重大进展,但在许多标准基准测试中,它们仍然不及XGBoost和其他基于树的模型[2, 3]。此外,相比深度模型,XGBoost需要更少的调整。
XGBoost相对于其他梯度提升算法的主要创新包括:
- 决策树的巧妙正则化。
- 使用二阶近似来优化目标函数(牛顿提升)。
- 用于高效计算的加权分位数草图过程。
- 处理稀疏数据的新颖树学习算法。
- 支持数据的并行和分布式处理。
- 缓存感知的块结构用于离线树学习。
在这系列文章中,我们将深入讨论XGBoost,包括算法的数学细节,使用Python从头实现算法,XGBoost库的概述以及实际使用方法。
在这系列文章的第一篇中,我们将逐步推导XGBoost算法,提供算法的伪代码实现,并在一个玩具数据集上演示其工作。
本文中给出的算法描述基于XGBoost的原始论文[1]和…的内容。