← 返回题目列表

决策树叶子节点的预测值是怎么确定的?

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

简化版

叶子预测值是该叶内让训练损失最小的常数:平方误差回归取加权均值,绝对误差回归取加权中位数,分类取各类(加权)频率并选择最大者。叶值必须和训练损失配套理解。

详细版

  • 样本沿规则到达叶节点,叶内不再使用特征,只输出一个常数或概率向量。

  • 平方误差对常数求导可得均值;绝对误差的最优点是中位数。

  • 分类叶通常保存各类计数归一化后的概率。

  • sample_weight 会把普通均值、频率变成加权版本。

  • 单树叶值分段常数,导致回归预测不平滑且不能向训练范围外外推。

完整版教学

一、叶值是一个局部常数优化问题

树结构完成后,每个叶覆盖特征空间中的一个区域。

对这个区域选一个统一输出,最优值由该节点使用的损失函数决定,而不是任意取平均。

这也解释了稳健性差异:平方损失对大残差惩罚二次增长,均值会被异常值拉动;绝对损失线性增长,中位数对极端值更稳。

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

squared loss: c* = argmin_c sum w_i(y_i-c)^2 = weighted mean;absolute loss: c* = weighted median。

squared loss: c* = argmin_c sum w_i(y_i-c)^2 = weighted mean
absolute loss: c* = weighted median
classification: p_k = sum w_i 1[y_i=k] / sum w_i

三、带数字的推演

回归叶标签 [1,2,3,100]:平方损失叶值为均值 26.5,绝对损失叶值可取 2~3 之间,中位数约 2.5。

一个异常值让均值大幅移动,却几乎不改变中位数。

四、方法对比

方法/对象核心特点代价或限制
平方误差回归加权均值平滑可导但怕异常值
绝对误差回归加权中位数稳健但优化更复杂
分类交叉熵/Gini类别频率小叶概率方差大

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

样本按切分进入叶 -> 收集目标与权重 -> 按损失求最优常数
-> 分类归一化成概率 -> 可选平滑/校准 -> 输出预测

六、边界条件与工程代价

梯度提升树的叶值不是原始标签均值,而是当前损失下的负梯度或牛顿步,例如二分类会结合一阶、二阶导数。

不能把单棵 CART 结论机械套到 boosting。

若叶内没有足够样本,任何统计量都不稳定。

min_samples_leaf、正则化和后剪枝不仅控制结构,也控制叶值估计方差。

记忆钩子:不要死记“叶子取均值”,而要记“叶值最小化叶内损失”:L2 对均值,L1 对中位数,分类对频率。

七、常见误区与追问

  • 误区:所有回归树叶子都输出均值。 只有平方误差等目标下均值才是对应最优常数。

  • 追问:均值结论如何推导? 对叶内平方损失关于常数 c 求导并令其为零。

  • 误区:分类叶只存最终类别。 常见实现还保存各类计数或概率向量。

  • 追问:权重如何影响叶值? 高权重样本对加权均值、频率或中位数贡献更大。

  • 追问:树为何不能线性外推? 叶内输出固定常数,超出训练区域仍落到边界叶。

八、加强记忆

不要死记“叶子取均值”,而要记“叶值最小化叶内损失”:L2 对均值,L1 对中位数,分类对频率。

再区分单树与 boosting 的梯度叶值。