趋近智
梯度提升算法在加性框架内运行,它按顺序构建模型,在每个步骤中添加一个基本学习器(通常是决策树)来纠正现有集成模型所犯的错误。第 m 步的更新规则通常表述为:
Fm(x)=Fm−1(x)+hm(x)这里,Fm−1(x) 是在前面 m−1 步中构建的模型集成,hm(x) 是一个新的基本学习器,训练它来拟合损失函数相对于 Fm−1(x) 的负梯度(伪残差)。
虽然这看起来很简单,但在每个步骤中添加新训练的树 hm(x) 的完整预测可能过于激进。如果一棵树完美拟合当前的伪残差,它可能会过度拟合该阶段存在的特定错误,这可能损害模型对未见数据进行泛化的能力。此时,收缩(也称为学习率)就发挥作用了。
收缩引入了一个缩放因子,通常用 η (eta) 或有时用 ν (nu) 表示,它减少了添加到集成模型中每棵新树的贡献。修改后的更新规则变为:
Fm(x)=Fm−1(x)+ηhm(x)其中 0<η≤1。
收缩的主要目的是正则化。通过减少每棵树的影响(η<1),我们减缓了学习过程。收缩不是让一棵树根据当前伪残差进行大的修正,而是强制模型在函数空间中迈出更小的步长,以使损失最小化。
考虑以下含义:
n_estimators)才能在训练数据上达到与没有收缩的模型(η=1)相似的性能水平。可以将其看作梯度下降优化。GBM 中的学习率 η 的作用类似于数值优化算法中的步长。较小的步长需要更多的迭代才能达到最小值,但可以帮助避免越过最优解点,并且可能找到一个更好、更稳定的最小值,尤其是在复杂的损失函数场景中。
学习率(η)与提升迭代次数(M 或 n_estimators)之间存在固有的权衡。
以下图表展示了这一观念。学习率较低时,训练误差和验证误差都会下降得更慢,但与学习率较高的情况相比,验证误差通常会达到更低的最小值或更晚开始增加(表明过拟合的出现)。
不同学习率下误差曲线的比较。较小的学习率(例如 0.1)收敛较慢,但在过拟合发生前,与较大的学习率(例如 0.5)相比,可能实现更好的泛化(更低的验证误差)。最优估计器数量差异很大。
n_estimators 协同调优。常用网格搜索、随机搜索或贝叶斯优化等技术,通常通过交叉验证来评估性能。早期停止经常被用来为给定的学习率找到最优迭代次数。max_depth)或不那么激进的子采样(subsample),而不会立即过拟合,因为每棵潜在更复杂树的影响都被减弱了。总而言之,收缩是一种简单而高效的梯度提升模型正则化技术。通过缩小每棵新加入树的贡献,它能防止单棵树主导预测,促使模型利用更多的提升轮次来实现更精细的拟合,并显著提升模型对新数据的泛化能力。在学习率和估计器数量之间找到合适的平衡是构建高性能 GBM 的基本组成部分。
这部分内容有帮助吗?
learning_rate参数。© 2026 ApX Machine Learning用心打造