4.1.基础和初探
XGBoost(Extreme Gradient Boosting)在训练样本有限、训练时间短、调参只是缺乏的场景下具有独特优势,相对深度神经网络,它能更好处理表格数据,具有很强可解释性,并易于调试、输入数据不变性等优势。
XGBoost是Gradient Boosting的实现,它的特征如下:
将正则项加入目标函数中,控制模型的复杂度、防止过拟合。
对目标函数进行二阶泰勒展开,同时使用了一阶导数和二阶导数。
实现了可并行的近似直方图算法。
实现了缩减和列采样(借鉴GBDT、随机森林)。
实现了快速直方图算法,引入基于loss-guide的树构建方法(借鉴了LightGBM)。
实现了求解带权值的分位数近似算法(Weighted Quantile Sketch)。
可根据样本自动学习缺失值的分裂方向,进行缺失值处理。
数据预先排序,并以块(Block)的形式保存,有利于并行计算。
采用缓存感知访问、外存块计算等方式提高数据访问和计算效率。
基于Rabit实现分布式计算、可集成于主流大数据平台中。
除CART作为基分类器外,XGBoost还支持线性分类器以及LambdaMART排序模型等算法。
实现了DART,引入了Dropout技术。
最后更新于
这有帮助吗?