4.1.基础和初探

    XGBoost(Extreme Gradient Boosting)在训练样本有限、训练时间短、调参只是缺乏的场景下具有独特优势,相对深度神经网络,它能更好处理表格数据,具有很强可解释性,并易于调试、输入数据不变性等优势。

    XGBoost是Gradient Boosting的实现,它的特征如下:

  1. 将正则项加入目标函数中,控制模型的复杂度、防止过拟合。

  2. 对目标函数进行二阶泰勒展开,同时使用了一阶导数和二阶导数。

  3. 实现了可并行的近似直方图算法。

  4. 实现了缩减和列采样(借鉴GBDT、随机森林)。

  5. 实现了快速直方图算法,引入基于loss-guide的树构建方法(借鉴了LightGBM)。

  6. 实现了求解带权值的分位数近似算法(Weighted Quantile Sketch)。

  7. 可根据样本自动学习缺失值的分裂方向,进行缺失值处理。

  8. 数据预先排序,并以块(Block)的形式保存,有利于并行计算。

  9. 采用缓存感知访问、外存块计算等方式提高数据访问和计算效率。

  10. 基于Rabit实现分布式计算、可集成于主流大数据平台中。

  11. 除CART作为基分类器外,XGBoost还支持线性分类器以及LambdaMART排序模型等算法。

  12. 实现了DART,引入了Dropout技术。

最后更新于

这有帮助吗?