趋近智
在梯度提升框架中,模型是按顺序构建的:
模型在梯度提升框架中是顺序构建的:
这里, 是经过 轮提升后的模型, 是一个新的基础学习器(通常是决策树),它被训练用于拟合上一阶段的残差误差(或梯度),而 (在库中常表示为 eta 或 learning_rate)是收缩参数 (parameter),通常是介于 0 和 1 之间的一个小数(例如 0.01,0.1)。
乍一看, 似乎与标准梯度下降 (gradient descent)优化算法中使用的学习率相同。它在这里的作用类似,但作用范围是函数空间。收缩会调整添加到集成模型中每个新树的贡献。通过设置 ,我们刻意减慢了学习过程。我们不是让每个新树 完全修正之前模型 的误差,而只是添加其预测值的一小部分(即 乘以其预测值)。
这为什么对正则化 (regularization)有益?
可以将其视为在函数空间的优化路径上迈出更小、更谨慎的步伐。更大的步伐(高 )可能迅速降低训练误差,但有过度拟合最佳函数或过度学习噪声的风险。更小的步伐(低 )进展较慢,但允许模型逐渐优化其预测,整合来自多棵树的信息,从而得到一个更平滑、更具泛化能力的最终函数。
这种正则化效果被认为是隐式的,因为收缩不会根据模型复杂度向损失函数 (loss function)添加显式惩罚项(如L1/L2正则化那样),也不会直接约束树的结构(如设置 max_depth)。相反,它修改了提升过程本身,固有地促进了依赖于许多弱学习器协作的解决方案。
下图呈现了这一原理。请注意,较低的学习率 () 导致训练集上的收敛速度较慢,但与较高的学习率 () 相比,它获得了更好(更低)的验证误差,而后者会迅速过拟合 (overfitting)。
使用高 () 和低 () 收缩率训练的模型的训练和验证误差曲线。较低的收缩率需要更多轮次,但会产生更好的验证表现,从而减轻过拟合。
在实践中,收缩几乎总是被使用(通常使用远小于 1.0 的值)。它与提升轮次 () 的数量形成了一种基本的权衡关系。一种常见做法是将 设置为一个较小的值(例如 0.01 到 0.1),然后使用验证集确定最佳的 值,通常会采用早停法(本章后面会讨论)。虽然非常小的 值会因为需要大量的 而显著增加计算时间,但由此带来的泛化能力提升通常能够弥补这一成本。收缩与其他正则化技术(如树约束和子抽样)配合使用,以构建梯度提升模型。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•