集成学习为什么需要模型多样性?
简化版
集成只有在基模型既有能力又犯不同错误时才有效;若所有模型高度相关,平均再多也难降方差。多样性可来自样本、特征、算法、超参数和随机种子,但不能靠故意制造低质量模型。
详细版
-
多样性是误差不完全相关,不是模型名字不同。
-
Bagging 改样本,随机森林同时改样本与候选特征。
-
Boosting 的后续模型聚焦前序残差,形成序列差异。
-
应同时测单模型强度、错误相关性和集成增益。
-
验证集选择成员,测试集只能做最终确认。
完整版教学
一、集成收益由强度与相关性共同决定
多个模型误差若完全同步,平均只会复制同一错误;相关性低时,正负波动可以互相抵消。
追求多样性不能牺牲所有准确性。
一个随机猜测器虽与其他模型不同,却通常只给集成增加噪声。
二、底层机制与公式
Var(mean)=rho*sigma^2+(1-rho)*sigma^2/M
M grows -> lower independent part, not correlated part
三、带数字的推演
单模型方差均为 1,相关系数 ρ=0.2,10 模型平均方差为 0.2+0.8/10=0.28;若 ρ=0.9,则仍为 0.91,增加成员几乎无效。
四、方案对比
| 方案/对象 | 核心特点 | 代价或边界 |
|---|---|---|
| Bagging | 重采样制造差异 | 适合高方差模型 |
| 特征子采样 | 降低树间相关性 | 单树可能变弱 |
| 异构融合 | 算法偏差不同 | 校准和运维更复杂 |
五、执行流程
训练候选成员 -> 记录 OOF 预测 -> 计算错误相关矩阵
-> 逐个加入验证集增益最大的成员 -> 固定组合 -> 独立测试
六、边界条件与工程代价
用训练集预测计算相关性会低估真实共同错误,应使用 OOF 或独立验证预测。
成员都依赖同一泄漏特征时,看似多样的架构仍会在上线一起失败;数据来源多样性同样重要。
记忆钩子:记住“强而不同”:强保证每票有价值,不同保证错误能抵消。
七、常见误区与追问
-
误区:模型越多集成越强。 高度相关成员只增加成本。
-
追问:如何量化多样性? 看 OOF 残差相关、disagreement 或 double-fault。
-
误区:准确率差的模型一定能增加多样性。 差异只有在带来互补正确信号时才有价值。
-
追问:随机森林如何降相关? bootstrap 加节点特征子采样。
-
追问:何时停止加成员? 边际验证收益低于延迟、内存和维护成本时。
八、加强记忆
记住“强而不同”:强保证每票有价值,不同保证错误能抵消。
用方差中的 ρ 解释为什么降低相关性与增加模型数同样重要。