← 返回题目列表

GBDT 中学习率和树数量如何权衡?

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

简化版

GBDT 的 learning_rate 缩放每棵新树贡献,n_estimators 决定累加次数;小学习率通常需要更多树,泛化可能更稳但训练和推理更贵。应把二者联合作为有效 boosting 路径,用验证集 early stopping 选择轮数。

详细版

  • 学习率小不是免费提升,树数不足会欠拟合。

  • 树数多会线性增加模型大小和推理成本。

  • 同一树深下比较多组 learning_rate,并给足最大轮数。

  • early stopping 的验证数据必须独立于训练。

  • 最佳轮数还与 subsample、深度和正则耦合。

完整版教学

一、步长与步数共同决定函数路径

每轮树拟合当前负梯度,新树乘 η 后加入模型。

η 小让每次修正保守,为后续树留下纠错空间。

只把 η 从 0.1 改到 0.01 而保持 100 棵,相当于总修正量大幅减少,性能下降不能说明小学习率无效。

二、底层机制与公式

F_m(x)=F_(m-1)(x)+eta*h_m(x)
rough capacity path depends jointly on eta and M

三、带数字的推演

方案 A:η=0.1、300 棵;方案 B:η=0.03、约 1000 棵才有相近累计步长量级。

B 可能验证更好,但推理树数约 3.3 倍。

四、方案对比

方案/对象核心特点代价或边界
大 η 少树训练/推理快易过冲和过拟合
小 η 多树更新细、常更稳成本和模型体积高
Early stopping自动选有效 M依赖验证集可靠性

五、执行流程

设多组 eta -> 每组给足 max trees -> 验证集 early stop
-> 比较最佳指标与树数 -> 加入延迟/体积约束 -> 重训并测试

六、边界条件与工程代价

“η×M 相同”只是粗略直觉,各轮树拟合的残差会随路径变化,不能认为两组模型数学等价。

时间切分任务要用时间验证 early stopping;随机划分可能选出对未来过多的树。

记忆钩子:把 η 看每步步幅、M 看步数:小步通常要多走。

七、常见误区与追问

  • 误区:学习率越小一定越好。 树数和预算不足时会欠拟合。

  • 追问:为什么小 LR 需要更多树? 每轮加入的函数修正被 η 缩小。

  • 误区:η×M 相同则模型相同。 每轮残差和树结构依赖之前路径。

  • 追问:如何选 n_estimators? 给较大上限并用独立验证 early stopping。

  • 追问:上线还看什么? 树数带来的 P99、内存和模型加载时间。

八、加强记忆

把 η 看每步步幅、M 看步数:小步通常要多走。

最佳点不是最高离线分数,而是验证收益与树数成本的折中。