张芷铭的个人博客

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

适用场景

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

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

代码示例

1
2
3
4
5
6
7
8
9
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