返回 经典机器学习 思维导图
中文·English
📊 经典机器学习ID: ensemble-comparison

Bagging vs Boosting vs Stacking

Ensemble Comparison
🎯核心定义
集成学习三大流派。Bagging (随机森林): 基学习器并行独立训练, 每器一个 Bootstrap 自助采样集, 预测投票/平均 — 基学习器要强 (深树不剪枝), 主要降方差。Boosting (AdaBoost / GBDT / XGBoost / LightGBM): 基学习器串行依赖, 每轮聚焦上一轮残差 (负梯度伪残差) 或错分样本 (权重放大), 加权/加性组合 — 基学习器要弱 (浅树), 主要降偏差。Stacking: 异质基学习器 + 元学习器 (meta-learner), 基学习器的输出 (概率或类别) 作为元特征喂给第二层模型 (常用逻辑回归/线性模型) 学最优组合 — 不要求基学习器同质, 靠模型多样性同时压低偏差与方差; 元特征必须用交叉验证/OOF 折叠生成, 否则基学习器“见过”样本导致元特征泄漏、元模型过拟合。理论依据: 偏差-方差分解 Err=bias2+variance+σϵ2\text{Err} = \text{bias}^2 + \text{variance} + \sigma_\epsilon^2; 对 kk 个方差 σ2\sigma^2、两两相关 ρ\rho 的学习器取平均, Var(fˉ)=ρσ2+1ρkσ2\text{Var}\left(\bar{f}\right) = \rho \sigma^2 + \frac{1 - \rho}{k} \sigma^2 — Bagging 通过样本/特征随机化压低 ρ\rho 并增大 kk 压方差, 偏差不变; Boosting 逐轮拟合负梯度残差直接压偏差 (每轮都是弱模型, 偏差主导); Stacking 用异质性打破误差相关性, 再由元学习器学组合权重。选型口诀: 高方差场景 (数据少、模型强) 用 Bagging, 高偏差场景 (模型弱、欠拟合) 用 Boosting, 已有多个互补的强模型时用 Stacking。
💡使用场景
“选哪个集成”“为什么随机森林不怕过拟合而 GBDT 要细调”“Stacking 为什么用 OOF”是高频对比题 — 一张对比表背熟后可作为模型选型面试的标准答题框架。
解决的核心痛点
单模型要么偏差高要么方差高 — 三类集成给出三种互补的组合策略: Bagging 用“随机化 + 平均”把高方差压到 ρσ2\rho \sigma^2 级; Boosting 用“残差聚焦 + 加法模型”把弱模型的偏差逐轮磨平; Stacking 用“异质模型 + 元学习器”把互补的强模型拼在一起, 通常比投票/平均再准 1–2 个百分点 — 三者共享同一个偏差-方差分解框架, 可解释收益来源。
🎯5 个高频面试考点 (Exam Points)
1
对比表: Bagging vs Boosting vs Stacking 在 基学习器强度 (强/弱/异质)、并行性 (并行/串行/两阶段)、数据使用 (Bootstrap/加权/OOF)、降偏差还是降方差、代表算法 各维度
2
偏差-方差分解: Err=bias2+variance+σϵ2\text{Err} = \text{bias}^2 + \text{variance} + \sigma_\epsilon^2 与平均方差 Var(fˉ)=ρσ2+1ρkσ2\text{Var}(\bar{f}) = \rho\sigma^2 + \frac{1-\rho}{k}\sigma^2 — 为什么 Bagging 降方差而 Boosting 降偏差?
3
为什么 Bagging 要强基学习器 (深树不剪枝)、Boosting 要弱基学习器 (浅树)? 反过来会发生什么?
4
Stacking 与 Bagging/Boosting 的本质区别: 异质模型 + 元学习器; 为什么元特征必须用 OOF 折叠生成 (防泄漏)?
5
场景选择题: 高方差欠拟合 vs 高偏差欠拟合分别选哪种集成? 什么时候 Stacking 收益最大?
📖 关联深度指南:📄 decision-trees-and-ensemble
更新于 2026-08-12
🎯
检验攻克程度:针对「Bagging vs Boosting vs Stacking」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点LightGBM GOSS/EFB下一个知识点K-Means 算法

🔗 更多 经典机器学习 知识点卡片

AdaBoost 算法手推Bagging 与随机森林HMM 参数学习 Baum-WelchGBDT 负梯度拟合