M2-106M2: Classical Machine Learning集成方法 (Bagging/RF)Hard
Mastery:

集成方法 (Bagging/RF): 比较模型融合的三种策略:简单平均、加权平均与 Stacking。

📐 Mathematical Definition
y^=1m∑ifi(x) ∣ ∑iwifi(x) ∣ Meta(f1(x),…,fm(x))\hat y=\frac1m\sum_i f_i(x)\ \Big|\ \sum_i w_i f_i(x)\ \Big|\ \text{Meta}(f_1(x),\dots,f_m(x))
⚡ Executive Summary
Core Concept: 简单平均无参数最稳;加权平均需学权重(易过拟合);Stacking 学组合函数(最灵活但需防泄漏)。

📌 Key Takeaways

  • •
    简单平均:无参数、几乎不会过拟合
  • •
    加权/Stacking 需数据学权重,有泄漏与过拟合风险

📐 Mathematical Derivations

三种策略的对比:① <strong>简单平均</strong>——所有模型等权。优点是<strong>无参数</strong>(不需要额外数据学权重)、几乎不会过拟合、稳健(单个模型失效影响有限);缺点是忽略了模型质量的差异。<strong>关键经验</strong>:若各基模型性能<strong>相近</strong>,简单平均常与复杂融合效果相当甚至更好(NeurIPS 等竞赛的经验规律)——因为学权重本身引入了估计误差。② <strong>加权平均</strong>——学权重 wᵢ(约束 wᵢ≥0、Σwᵢ=1 更稳)。学习方式:在验证集上优化(网格搜索、凸优化)、或用<strong>性能反比</strong>(如 wᵢ∝1/误差ᵢ)、或<strong>堆叠回归</strong>(无约束线性回归易过拟合,应加非负与和为 1 约束)。风险是<strong>权重估计的方差</strong>(尤其模型数多、验证集小时),故需正则化(非负约束、L2、或直接取简单平均)。③ <strong>Stacking</strong>——用元学习器学组合函数(可非线性,如 GBDT)。最灵活(能学'在哪些样本上信任哪个模型'),但<strong>必须用 K 折 CV 生成元特征</strong>防泄漏,且元学习器应简单(线性/浅树);数据需求最大。

🏭 Production Trade-offs

选择与要点:① <strong>选择依据</strong>——(a) 基模型性能相近、验证集小 → <strong>简单平均</strong>;(b) 基模型性能差异明显、验证集充足 → <strong>加权平均</strong>(带非负约束);(c) 需捕捉'条件性信任'(不同样本用不同模型)→ <strong>Stacking</strong>。② <strong>为什么简单平均常常更优</strong>——加权/Stacking 的收益上限是'利用模型差异',但代价是'权重估计误差';当验证集有限时后者常超过前者。经验法则:<strong>先试简单平均作为基线</strong>,只有确认有显著收益时才上复杂融合。③ <strong>权重学习的正确做法</strong>——在<strong>独立验证集</strong>上学(不能与训练基模型的 data 重叠);用<strong>非负最小二乘</strong>或<strong>约束优化</strong>(单纯形约束);或用<strong>贝叶斯模型平均(BMA)</strong>(按后验概率加权,理论上更严谨)。④ <strong>融合的多样性前提</strong>——所有融合方法都依赖基模型的<strong>误差不相关</strong>;若模型高度相关,融合收益有限。⑤ <strong>报告规范</strong>——报告融合后的性能及其方差(多种子),并与最佳单模型对比(确认融合确有增益,而非选择偏差)。⑥ <strong>实践中的常见错误</strong>——用训练集学权重(泄漏)、无约束线性回归(权重可为负,产生外推)、忽略权重估计方差(在小验证集上过拟合)。
⚠️ Common Interview Pitfalls
  • ✕
    在小验证集上用无约束回归学融合权重(过拟合)
  • ✕
    在基模型性能相近时仍追求复杂融合
🎯 Interviewer Follow-ups
  • ?
    什么时候简单平均反而更好?
  • ?
    如何学加权平均的权重?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM2-105: 集成方法 (Bagging/RF): 解释 AdaBoost 的算法与它的损失函数。📋Back to BankNext →M2-107: 梯度提升 (GBDT/XGBoost): 解释 GBDT 如何支持自定义损失函数。