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$
关键参数
| 参数 | 描述 | 典型值 |
|---|---|---|
| learning_rate | 学习率 | 0.01-0.3 |
| max_depth | 树的最大深度 | 3-10 |
| min_child_weight | 叶子节点最小权重和 | 1-10 |
| gamma | 分裂所需最小损失减少 | 0-1 |
| subsample | 样本采样率 | 0.5-1 |
| colsample_bytree | 特征采样率 | 0.5-1 |
适用场景
适用:表格数据、大规模数据集、特征重要性分析、竞赛高精度场景
不适用:图像/音视频处理、小样本学习、在线学习
代码示例
| |
最新进展
| 发展 | 说明 |
|---|---|
| GPU加速 | tree_method='gpu_hist' |
| ONNX支持 | 跨平台部署 |
| SHAP集成 | 模型可解释性 |
张芷铭的个人博客
Comments