← 返回题目列表

为什么决策树方差高?

高频 中等 第 12 / 25 题 更新于 2026/09/19
决策树CART信息增益剪枝

简化版

决策树方差高,是因为模型容量大、叶节点样本少,并且贪心切分对数据扰动不连续;训练集稍变就可能产生完全不同的路径。剪枝和叶样本约束降低单树方差,Bagging 与随机森林则通过平均多棵去相关树进一步降方差。

详细版

  • 深树能把训练误差压得很低,体现低偏差、高方差。

  • 上层阈值改变会级联改变后续数据分配和整棵结构。

  • 增大 min_samples_leaf、限制深度或代价复杂度剪枝可平滑局部估计。

  • Bagging 对 bootstrap 样本训练多树,平均减少独立噪声。

  • 随机森林再做特征子采样,降低树间相关性,使平均更有效。

完整版教学

一、高容量与离散切分共同制造方差

深树可以把每个训练点隔到很小区域,训练拟合很强,但新样本落在哪个叶对边界位置极其敏感。

数据换一批,边界就可能跳动。

平均能降方差的前提是各树误差不完全同步。

Bagging 改变样本,随机森林还改变候选特征,目的都是获得有能力但不完全相关的树。

二、数学机制怎么落到节点上

Var(mean of M trees) = rho*sigma^2 + (1-rho)*sigma^2/M;where rho is pairwise error correlation。

Var(mean of M trees) = rho*sigma^2 + (1-rho)*sigma^2/M
where rho is pairwise error correlation
M increases reduces only the second term

三、带数字的推演

若单树方差 σ²=1、树间相关性 ρ=0.2、树数 M=100,平均方差约 0.2+0.8/100=0.208

继续加树只能逼近 0.2,降低相关性同样关键。

四、方法对比

方法/对象核心特点代价或限制
剪枝单树直接降低容量可解释,偏差会上升
Baggingbootstrap 后平均方差下降,树仍较相关
随机森林再加特征子采样进一步去相关

五、从训练到验证的执行链

训练深树观察训练/验证差距 -> 增大叶样本或剪枝
-> bootstrap 训练多棵 -> 特征子采样降相关 -> OOB/验证集检查收敛

六、边界条件与工程代价

增加树数主要降低随机波动,不会修复共同偏差,例如所有树都看到了泄漏特征或训练分布都与线上错位。

随机森林平均后可解释性从单条规则变成总体贡献;若监管需要明确规则,可能要在稳定性与可解释性之间做取舍。

记忆钩子:单树高方差来自“叶小、树深、切分会跳”;剪枝让每棵树稳一些,Bagging 用平均消波动,随机森林再让树彼此少同步。

七、常见误区与追问

  • 误区:训练误差低说明单树泛化好。 深树常以高方差记住训练噪声。

  • 追问:Bagging 为什么有效? 对不同采样产生的高方差预测求平均,抵消部分波动。

  • 误区:树越多方差最终会降到零。 树间相关项 ρσ² 不会随 M 消失。

  • 追问:随机特征子采样有何作用? 减少强特征让所有树长得相似,从而降低相关性。

  • 追问:剪枝和集成如何选择? 需要单树规则选剪枝,追求预测性能通常选集成并联合调参。

八、加强记忆

单树高方差来自“叶小、树深、切分会跳”;剪枝让每棵树稳一些,Bagging 用平均消波动,随机森林再让树彼此少同步。

公式中的 ρ 提醒我们:树数和去相关同样重要。