XGBoost
核心思想
XGBoost (eXtreme Gradient Boosting) 在 GBDT 基础上引入二阶泰勒展开来近似目标函数,并加入树结构的正则化项,使训练更快、更稳定。
正则化目标函数
其中树的正则项:
二阶泰勒展开推导
在第
对
其中:
去掉与
叶节点权重最优解
定义叶节点
代入目标函数:
其中
对
代回目标函数:
分裂增益
对节点分裂的增益:
只有
XGBoost 的工程优化
- 列采样:类似随机森林的特征子集采样
- 加权分位数草图:高效近似分割点搜索
- 缓存感知访问:利用 CPU 缓存加速列遍历
- 稀疏感知:自动处理缺失值
代码对应
bash
python -m pipelines.ensemble.xgboost