← 返回题目列表

为什么决策树对数据扰动很敏感?

中等 第 25 / 25 题 更新于 2026/09/19
决策树机器学习面试题模型训练

简化版

决策树不稳定,是因为它用贪心方式选最大增益切分:多个候选增益接近时,少量样本或噪声就可能换掉上层阈值,随后整棵子树都会改变。限制复杂度、重复交叉验证和集成平均能降低预测方差。

详细版

  • 上层切分改变会重新分配大量样本,影响比叶层扰动更大。

  • 连续阈值和相关特征常存在多个近似等价候选,选择具有跳变性。

  • 单树规则可解释,但规则的稳定性必须单独评估。

  • Bagging/随机森林通过自助采样训练多棵树并平均,显著降低方差。

  • 若必须交付规则,可使用剪枝、最小叶样本和 bootstrap 规则出现频率。

完整版教学

一、离散选择让微小扰动被层层放大

树不是平滑优化一个连续参数,而是在候选切分中做 argmax。

第一名和第二名增益只差一点时,一个样本的变化就足以交换排名。

根节点一旦改变,左右子节点拿到的数据集合全变,后续最佳切分也随之改变。

因此结构差异可以很大,即使总体准确率相近。

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

best split = argmax_s gain(s);if gain(s1)=0.201 and gain(s2)=0.200, small perturbation may swap them。

best split = argmax_s gain(s)
if gain(s1)=0.201 and gain(s2)=0.200, small perturbation may swap them
variance(mean of M weakly correlated trees) decreases with M

三、带数字的推演

100 个样本中,年龄阈值增益 0.201、收入阈值 0.200。

移除一个异常样本后变为 0.198 与 0.200,根节点从年龄换成收入,所有下游规则都需重建。

四、方法对比

方法/对象核心特点代价或限制
限制深度/叶大小减少局部噪声切分可能增加偏差
Bagging/随机森林平均多棵高方差树失去单树简洁性
稳定性报告量化规则可信度需要重复重采样

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

对训练集 bootstrap 多次 -> 分别训练同配置树 -> 比较预测方差
-> 统计根特征/规则出现频率 -> 调剪枝约束 -> 再验证稳定性与精度

六、边界条件与工程代价

结构不稳定不一定等于预测不稳定:两棵树可能用相关特征表达相似边界。

需要分别报告规则一致性和预测一致性。

固定随机种子只能复现一次结果,不能消除对真实数据扰动的敏感性。

稳定性应通过重采样、时间切片或新批次数据检验。

记忆钩子:用“增益赛跑只差 0.001,一个样本就能换冠军”解释不稳定;根一换,子树全换。

七、常见误区与追问

  • 误区:固定 random_state 就解决了不稳定。 它只固定算法随机性,数据轻微变化仍会改树。

  • 追问:为什么根节点变化最严重? 它重新分配几乎全部样本,使所有后续搜索空间改变。

  • 误区:两棵结构不同的树预测一定不同。 相关特征可形成不同规则但近似相同决策边界。

  • 追问:随机森林如何改善? 对低相关树的预测平均,抵消各自的高方差。

  • 追问:如何评估规则稳定性? 在 bootstrap 模型中统计特征、阈值区间和路径出现频率。

八、加强记忆

用“增益赛跑只差 0.001,一个样本就能换冠军”解释不稳定;根一换,子树全换。

解决方向是约束单树、重采样量化、集成平均,而非只固定种子。