专题概述
梯度提升(Gradient Boosting)是一种基于加法模型和前向分步算法的集成学习方法,通过迭代地训练弱学习器(通常是决策树)来逐步减少残差,从而构建一个强预测模型。
核心思想
梯度提升的核心思想是:将损失函数的负梯度作为残差的近似值,用弱学习器去拟合这个残差,然后将这些弱学习器加法地组合起来。
其中 是第 个弱学习器, 是学习率(收缩因子)。
内容导航
理论基础
- gradient-boosting-fundamentals — 梯度提升框架基础:前向分步算法、梯度下降、收缩与子采样
- gradient-boosting-theory — 梯度提升理论:函数空间优化、二阶梯度近似、泛化分析
算法实现
- xgboost-algorithm — XGBoost详解:正则化目标函数、近似分裂、缓存感知设计
- lightgbm-algorithm — LightGBM详解:GOSS采样、EFB特征捆绑、叶子优先生长
- catboost-algorithm — CatBoost详解:Ordered Target Encoding、对称树、防止目标泄露
学习路径
入门路径
- gradient-boosting-fundamentals — 理解梯度提升的基本框架
- decision-tree-random-forest — 复习决策树基础
- xgboost-algorithm — 学习XGBoost实现细节
- lightgbm-algorithm — 对比学习LightGBM
进阶路径
- gradient-boosting-theory — 深入理解理论基础
- catboost-algorithm — 学习CatBoost的高级特性
- adaptive-optimizer-theory — 理解自适应优化器与梯度提升的联系
算法对比
| 特性 | XGBoost | LightGBM | CatBoost |
|---|---|---|---|
| 生长策略 | Level-wise | Leaf-wise | Symmetric Tree |
| 分裂查找 | 精确/近似 | 直方图 | 预测分割 |
| 类别特征 | 需要编码 | 原生支持 | 原生支持+Ordered Encoding |
| 缺失值 | 学习默认方向 | 处理 | 处理 |
| 正则化 | L1/L2/列采样 | L1/L2/列采样 | 对称树+Ordered |
| 速度 | 中等 | 最快 | 中等 |
| 内存 | 中等 | 最小 | 中等 |
应用场景
表格数据建模
梯度提升算法是表格数据建模的最佳选择:
- Kaggle竞赛中的主流算法
- 金融风控模型
- 推荐系统排序模型
- 医疗诊断辅助
与深度学习的对比
| 场景 | 推荐算法 |
|---|---|
| 表格数据 | 梯度提升 |
| 图像/语音 | 深度学习 |
| 小样本学习 | 梯度提升/元学习 |
| 大规模非结构化数据 | 深度学习 |
扩展阅读
相关主题
- ensemble-learning — 集成学习方法综述
- adversarial-robustness — 对抗鲁棒性
- feature-geometry — 特征几何分析