XGBoost 确定指南(第一部分)

XGBoost 确定指南(第一部分)' can be condensed to 'XGBoost 确定指南'.

Sam Battaglieri在Unsplash上的照片

XGBoost(全称为eXtreme Gradient Boosting)是一个开源库,提供了一个优化和可扩展的梯度提升决策树实现。它结合了各种软件和硬件优化技术,使其能够处理大量的数据。

XGBoost最初是由Tianqi Chen和Carlos Guestrin于2016年开发的研究项目[1],已成为解决结构化(表格)数据上的监督学习任务的首选解决方案。它在许多标准回归和分类任务上提供了最先进的结果,许多Kaggle竞赛的获奖者在其获胜解决方案中使用了XGBoost。

尽管在处理表格数据方面,深度神经网络取得了重大进展,但在许多标准基准测试中,它们仍然不及XGBoost和其他基于树的模型[2, 3]。此外,相比深度模型,XGBoost需要更少的调整。

XGBoost相对于其他梯度提升算法的主要创新包括:

  1. 决策树的巧妙正则化。
  2. 使用二阶近似来优化目标函数(牛顿提升)。
  3. 用于高效计算的加权分位数草图过程。
  4. 处理稀疏数据的新颖树学习算法。
  5. 支持数据的并行和分布式处理。
  6. 缓存感知的块结构用于离线树学习。

在这系列文章中,我们将深入讨论XGBoost,包括算法的数学细节,使用Python从头实现算法,XGBoost库的概述以及实际使用方法。

在这系列文章的第一篇中,我们将逐步推导XGBoost算法,提供算法的伪代码实现,并在一个玩具数据集上演示其工作。

本文中给出的算法描述基于XGBoost的原始论文[1]和…的内容。