张芷铭的个人博客

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初版开源发布
2015Kaggle 竞赛主导方案
2018GPU 加速支持
2020GPU 外部存储支持

关键参数

参数描述典型值
learning_rate学习率0.01-0.3
max_depth树的最大深度3-10
gamma分裂所需最小损失减少0-1
subsample样本采样率0.5-1

适用场景

适用:表格数据、大规模数据集、特征重要性分析、竞赛场景

不适用:图像/音视频处理、小样本学习、在线学习

代码示例

1
2
3
4
5
import xgboost as xgb

dtrain = xgb.DMatrix(X_train, label=y_train)
params = {'objective': 'reg:squarederror', 'learning_rate': 0.05, 'max_depth': 6}
model = xgb.train(params, dtrain, num_boost_round=1000)

最新进展

发展说明
GPU加速tree_method='gpu_hist'
ONNX支持跨平台部署
SHAP集成模型可解释性

Comments