XGBoost 是极致优化的梯度提升框架,通过并行处理、正则化和近似算法显著提升性能。
目标函数
$$\mathcal{L}(\phi) = \sum_{i} l(\hat{y}_i, y_i) + \sum_k \Omega(f_k)$$
正则项:$\Omega(f_k) = \gamma T + \frac{1}{2}\lambda ||w||^2$
发展历程
| 时间 | 里程碑 |
|---|---|
| 2014 | 初版开源发布 |
| 2015 | Kaggle 竞赛主导方案 |
| 2018 | GPU 加速支持 |
| 2020 | GPU 外部存储支持 |
关键参数
| 参数 | 描述 | 典型值 |
|---|---|---|
| learning_rate | 学习率 | 0.01-0.3 |
| max_depth | 树的最大深度 | 3-10 |
| gamma | 分裂所需最小损失减少 | 0-1 |
| subsample | 样本采样率 | 0.5-1 |
适用场景
适用:表格数据、大规模数据集、特征重要性分析、竞赛场景
不适用:图像/音视频处理、小样本学习、在线学习
代码示例
| |
最新进展
| 发展 | 说明 |
|---|---|
| GPU加速 | tree_method='gpu_hist' |
| ONNX支持 | 跨平台部署 |
| SHAP集成 | 模型可解释性 |
张芷铭的个人博客
Comments