提升:为什么将学习率称为正则化参数?


19

所述学习率参数(在梯度)推进收缩每个新的基础模型-通常浅树形是在串联加入的贡献。它被证明可以极大地提高测试仪的精度,这是可以理解的,因为步数越小,损耗函数的最小值就可以越精确地达到。 ν[0,1]

我不明白为什么学习率被视为正则化参数?引用统计学习要素,第10.12.1节,第364页:

控制树的数量不是唯一可能的正则化策略。与山脊回归和神经网络一样,也可以使用收缩技术。值越小 (收缩率越大),对于相同数量的迭代M,导致更大的训练风险。因此,νM都控制训练数据的预测风险。νMνM

正则化意味着“避免过度拟合的方式”,因此很明显迭代次数在这方面至关重要(M太大会导致过度拟合)。但:MM

值越小(收缩率越大),对于相同数量的迭代M,导致更大的训练风险。νM

仅仅意味着在低学习率的情况下,需要更多的迭代才能在训练集上达到相同的准确性。那么,这与过度拟合有何关系?

Answers:


23

假设您正在尝试通过迭代次数最小化目标函数。当前值为。在给定的数据集中,没有“不可减少的错误”,您可以将损失降至最低100.0训练数据 0.0。现在,您有两种方法可以做到这一点。0.0

  • 第一种方法是“大学习率”和很少的迭代。假设您可以在每次迭代中将损失降低,然后在1010.010次迭代中,您可以将损失减少至0.0

  • 第二种方法是“学习速度慢”,但迭代次数更多。假设您可以在每次迭代中将损失减少,并且您需要进行100次迭代才能使训练数据损失0.0。1.0100

现在考虑一下:这两种方法是否相等?如果不是,那么在优化上下文机器学习上下文中哪个更好?

优化文献中,这两种方法是相同的。因为它们都收敛到最优解。另一方面,在机器学习中,它们并不相等。因为在大多数情况下,我们不会将训练损失设为,否则会导致过度拟合。0

我们可以将第一种方法视为“粗级网格搜索”,将第二种方法视为“细级网格搜索”。第二种方法通常效果更好,但是需要更多的计算能力才能进行更多的迭代。

为了防止过度拟合,我们可以做不同的事情,第一种方法是限制迭代次数,假设我们正在使用第一种方法,将迭代次数限制为5。最后,训练数据的损失为50。(顺便说一句,从优化的角度来看,这很奇怪,这意味着我们将来可以改进我们的解决方案/它尚未收敛,但我们选择不这样做。在优化中,通常我们会向目标函数明确添加约束或惩罚项,但通常不限制迭代次数。)

另一方面,我们也可以使用第二种方法:如果我们将学习率设置为较小,比如说每次迭代减少损失,尽管我们有很多次迭代(例如500次迭代),我们仍然没有将损失最小化为0.00.15000.0

这就是为什么小学习率等于“更多正则化”的原因。

这是一个使用的实验数据使用不同学习率的示例xgboost。请检查follwoing两个链接,看看有什么不etan_iterations的意思。

Tree Booster的参数

XGBoost控制过度拟合

对于相同的迭代次数,说。小学习率表示“欠拟合”(或者模型具有“高偏差”),大学习率表示“过度拟合”(或者模型具有“高方差”)。50

在XGBoost模型中更改学习率ETA的示例

PS。拟合不足的证据是训练集和测试集都有较大的误差,并且训练集和测试集的误差曲线彼此接近。过度拟合的迹象是训练集的误差非常低,而测试集则很高,两条曲线彼此相距很远。


您是说学习率低时,对于相同的损失,您可以比学习率高时迭代更多(优化搜索更多)吗?我想我得到了您想要传递的直觉,但是更严格的解释和/或说明性的示例不会受到伤害。
安托万(Antoine)

谢谢。您可以更新您的链接吗?他们对我不起作用
Antoine

只要您不增加后续迭代中的训练误差,使用较高的学习率总是更好的选择。您指的正则化(偏差与方差)与训练/验证错误有关,与学习率无关。无论您使用的学习率是大还是小,如果达到0.0的训练误差,那么您都将过度拟合。如果您使用较大的学习率,则需要尽早停止优化以防止过度拟合。您可以使用验证集来查看您的验证错误是否在停止培训的那一刻增加。
好奇

否则我可能会丢失一些东西:)
好奇的

This is why small learning rate is sort of equal to "more regularizations"。根据本文,学习率越大,正规化程度越高:超收敛:使用大学习率对神经网络进行非常快速的训练
Antoine

2

使用牛顿法,可以通过减去损耗的斜率除以损耗的曲率来更新参数。在梯度下降优化中,您可以通过减去损耗的梯度乘以学习率来更新参数。换句话说,学习率的倒数用于代替实际的损耗曲率。

让我们将问题损失定义为定义什么是好模型还是坏模型的损失。这是真正的损失。让我们定义最佳损耗通过更新规则实际最小。

根据定义,正则化参数是优化损失中的任何术语,但不是问题损失。由于学习率在优化损失中的作用类似于额外的二次项,但与问题损失无关,因此它是一个正则化参数。

证明此观点合理的其他正则化示例包括:

  • 重量衰减,就像优化损失中的额外术语一样,它会惩罚大重量,
  • 惩罚复杂模型的条款,以及
  • 惩罚要素之间相关性的术语。

-我不明白In other words, the reciprocal of the learning rate is used in place of the real loss curvature。-我不是领域专家,这是我第一次看到以下定义:a regularization parameter is any term that is in the optimized loss, but not the problem loss。我也不太明白。您能否提供相关参考?在此先感谢
Antoine

@Antoine我无法提供参考。根据我的经验,我尝试使用其他三个示例来证明这一点。至于代替逆损耗曲率的学习率,您可以看到,如果同时编写牛顿法和梯度下降更新规则。
尼尔G
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.