同一张业务表,六种名字都叫「提升 / Boosting」的模型都能交卷,但它们不是同一代产品换皮:有的在改样本权重,有的在拟合残差,有的在打工程与正则,有的在管类别泄漏,有的在抠训练速度,有的在输出整段分布。
本文横向对比本系列六种方法,只抓三件事:差在哪、按什么顺序长出来、每一代主要在补什么短板。细节推导见各专篇。
配图目录:./1204.机器学习-集成学习-2.Boosting-0.概述/。
1. 一句话定位:Boosting 共同底座
| 维度 | 一句话 |
|---|---|
| 学习范式 | 监督学习;同质弱学习器串行组合 |
| 输入 → 输出 | 特征 → 加权/累加后的强预测(点估计、类别或分布参数) |
| 在优化什么 | 让后续基学习器专攻当前模型仍差的部分,从而降低偏置(亦可顺带稳方差) |
出现背景:「提升」思想可追溯至 1990 年代;Freund & Schapire 的 AdaBoost(约 1995–1997)把「弱可学习 → 强可学习」做成可跑算法。之后 Friedman(2001)把路径推广到一般损失上的梯度提升;2014 年起 XGBoost / CatBoost / LightGBM 把 GBDT 工程化;2019 年 NGBoost 把目标从点预测扩到概率预测。
与 Bagging(如随机森林)对照:Bagging 多并行、偏降方差;Boosting 多串行、偏降偏置。
2. 发展脉络:六步在补什么

| 顺序 | 算法 | 约年 | 关键文献(短引) | 出现时主要要解决的问题 |
|---|---|---|---|---|
| 1 | AdaBoost | 1995–1997 | Freund & Schapire, JCSS 1997 | 弱分类器只略好于乱猜,如何合成强分类器 |
| 2 | GBDT | 2001 | Friedman, Ann. Statist. 2001 | 不限于「改权重」;一般损失下如何做函数梯度提升 |
| 3 | XGBoost | 2014/2016 | Chen & Guestrin, KDD 2016 | GBDT 精度可以,规模、正则进目标、缺失/稀疏的工程化不足 |
| 4 | CatBoost | 2017 | arXiv:1706.09516;NeurIPS 2018 | 高基数类别目标编码易泄漏;类别如何更稳地进提升树 |
| 5 | LightGBM | 2017 | Ke et al., NeurIPS 2017 | 预排序式分裂在海量行上内存与扫描过贵 |
| 6 | NGBoost | 2019/2020 | Duan et al., arXiv 2019;ICML 2020 | 主流实现擅长点预测,条件分布与不确定性不统一 |
读表时抓住一条链:
1 | 弱→强(AdaBoost) |
CatBoost 与 LightGBM 同年、短板不同:前者偏统计/类别偏差,后者偏算力/数据规模;不是互相替代的「第 5 代唯一答案」。
3. 机制横向对比
| 维度 | AdaBoost | GBDT | XGBoost | CatBoost | LightGBM | NGBoost |
|---|---|---|---|---|---|---|
| 每轮主要改什么 | 样本权重 | 拟合负梯度/残差 | 同 GBDT + 正则目标 | 同 GBDT + 有序估计 | 同 GBDT + 近似分裂 | 分布参数(自然梯度) |
| 典型基学习器 | 浅树桩 | 回归树 | 回归树 | 对称(oblivious)树 | 直方图树 / Leaf-wise | 回归树等(可配置) |
| 默认输出形态 | 加权投票类别 | 点预测 / 分数 | 点预测 / 概率 | 点预测 / 概率 | 点预测 / 概率 | 条件分布 |
| 相对前代的关键增量 | 弱可学习可提升 | 损失一般化 | 系统+二阶+正则 | 类别与有序 | 速度与内存 | 不确定性 |
一句话记差:
- AdaBoost:谁错了谁变重。
- GBDT:差多少就拟合多少。
- XGBoost:拟合时还要交「复杂度税」,并且要能在大表上跑。
- CatBoost:类别统计尽量「只看过去」。
- LightGBM:分裂候选先装进直方图,叶子挑增益大的再长。
- NGBoost:提升的是分布参数,不是单个 $\hat y$。
4. 特征 / 目标 / 数据:适用气味对照
下表是气味级对照,细例见各专篇三维表。
| 维度 | 更吃香的组合(示意) | 更别扭的组合(示意) |
|---|---|---|
| 特征 | 表格数值;CatBoost 尤适高基数类别;LightGBM/XGB 适中高维数值与稀疏 | 原始图像/长文本未表征;NGBoost 分布族与 $y$ 形状严重不符 |
| 训练目标 | 点分类/回归:前五者;要区间/分布:NGBoost | 只要三层 if-then 审计规则;只要极致可解释单棵浅树 |
| 训练数据 | 中等以上有标签表;海量行偏 LightGBM;类别脏、易泄漏偏 CatBoost | 错标很多还猛加轮数(AdaBoost/深 Leaf-wise 更痛);样本极少却深度与轮数拉满 |
5. 选型速查(按问题挑,不按名字新旧)
| 你更卡的问题 | 优先试 |
|---|---|
| 搞懂「提升」在干什么;教学演示 | AdaBoost |
| 理解残差/梯度提升框架;sklearn 内置先跑通 | GBDT(GradientBoosting*) |
| 通用表格强基线;缺失、正则、生态 | XGBoost |
| 类别列多、担心目标编码泄漏 | CatBoost |
| 行数极大、训练时间与内存 | LightGBM |
| 要 $P(y\mid x)$、分位数、预测区间 | NGBoost |
实务上常见组合:点预测先在 XGBoost / LightGBM / CatBoost 三者按数据气味选型;需要不确定性再上 NGBoost 或分位数/共形预测等方案。AdaBoost、sklearn-GBDT 仍适合教学与小基线。
6. 专篇索引(本系列成文顺序 = 发展顺序)
| # | 专篇文件 |
|---|---|
| 1 | 1204.机器学习-集成学习-2.Boosting-1.AdaBoost.md |
| 2 | 1204.机器学习-集成学习-2.Boosting-2.GBDT.md |
| 3 | 1204.机器学习-集成学习-2.Boosting-3.XGBoost.md |
| 4 | 1204.机器学习-集成学习-2.Boosting-4.CatBoost.md |
| 5 | 1204.机器学习-集成学习-2.Boosting-5.LightGBM.md |
| 6 | 1204.机器学习-集成学习-2.Boosting-6.NGBoost.md |
7. 小结
- 六种方法共享 串行提升 骨架,差在「每轮改权重还是改残差 / 参数、如何工程化、输出点还是分布」。
- 脉络是 弱→强 → 一般损失 → 可扩展正则 → 类别有序 → 海量加速 → 概率预测,每一环对准当时的一块短板。
- 选型看短板,不看「更新 = 更强」:同年的 CatBoost 与 LightGBM 解决的是不同问题。
参考文献
- Freund Y., Schapire R.E. A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting. JCSS 1997.
- Friedman J.H. Greedy Function Approximation: A Gradient Boosting Machine. Ann. Statist. 2001.
- Chen T., Guestrin C. XGBoost: A Scalable Tree Boosting System. KDD 2016.
- Prokhorenkova L. et al. CatBoost: unbiased boosting with categorical features. NeurIPS 2018.
- Ke G. et al. LightGBM: A Highly Efficient Gradient Boosting Decision Tree. NeurIPS 2017.
- Duan T. et al. NGBoost: Natural Gradient Boosting for Probabilistic Prediction. ICML 2020.