如果我使用正则化(例如 L2),我可以不应用提前停止吗?

机器算法验证 优化 正则化 过拟合
2022-03-21 00:53:22

我已经看到提前停止是一种正则化形式,它限制参数θ的移动,其方式类似于 L2 正则化惩罚θ的移动以使其更接近原点。

这是否意味着如果我使用除 Early Stopping 之外的正则化并训练超过 Early Stopping 所禁止的过度拟合模型所需的时期,我可以避免过度拟合?

3个回答

在训练神经网络或梯度增强决策树(例如 LightGBM、XGBoost 等)时,将 L2 惩罚(或密切相关的权重衰减,以及可能的其他正则化技术,如 drop-out)与提前停止相结合是相当典型的。特别是。当训练有可能大量过度拟合的模型(比如我提到的那些)并且比一些广义线性模型的训练成本更高时,这很常见。不同的正则化技术具有不同的效果,模型可能会受益于其中的几种。

例如,当您无法弄清楚(或没有时间)如何以某种方式设置所有其他正则化参数以便您可以训练收敛而不会过度拟合时,通常使用提前停止。其他正则化参数,如 L1 和 L2 惩罚(以及神经网络中的 dropout,已被建议具有类似板条和尖峰的先验效果,树或部分树的子采样预测器有点类似,虽然基于树的模型中的采样观察或神经网络的数据增强具有更多强调在大多数数据中看到的模式等的效果)往往会减少过度拟合,并且正如您所建议的那样,让您训练更多的时期/需要提前停止之前的迭代。

@Tim 建议(+1),是的,您可以一次使用多种形式的正则化,但问题是为什么您要结合 L2(或其他)正则化使用提前停止。提前停止并不是那么容易可靠地实现,验证集上的最佳错误所在的位置并不总是很清楚,特别是因为验证集通常很小,因此它对损失的估计可能有很大的方差。如果您使用例如贝叶斯方法或虚拟留一法交叉验证来调整超参数,那么您可以使用所有数据来拟合模型,而不是为验证集保留一些数据,这也是可能会给出更好的模型。

L2 正则化的优点是过度拟合在很大程度上通过优化单个(通常)连续超参数来控制,我们可以训练模型收敛而不必担心过度拟合。提前停止也不像正则化那样可重现,因为停止前的迭代次数更多地取决于权重的随机初始化。

请注意,如果我们将权重初始化为小的随机值,那么提前停止也会鼓励最终值接近原点,因此无论如何它可能与 L2 正则化具有模糊相似的效果。

为什么不?您可以同时使用多种正则化方法,例如Elastic net结合了正则化。不同的正则化方法的工作方式不同,因此有时将它们组合起来会比单独使用其中任何一种方法(如使用 Elastic 网络)获得更好的结果。12

请注意,这些正则化的工作方式不同。使用您基本上假设将它们推向小值的参数具有高斯先验。正则化的另一个例子是dropout2这迫使模型“在没有这些参数的情况下做同样的事情”。通过提前停止,我们像往常一样训练模型,但当我们看到验证集性能下降时停止训练。在前面的两个正则化示例中,您明确选择了如何影响模型(使权重更小,强制构建更小的“子模型”),而提前停止,您的模型“不知道”无论如何要对其进行正则化. 将它们结合起来非常好,因为它们做的事情完全不同。我们把它们都称为正则化,但它们远不是做同样的事情。

此外,提前停止会使训练更快,因为您可能会跳过一些迭代,这在您的模型长时间训练的情况下可能是一个额外的好处。在某些情况下,如果您使用其他正则化,仅此一项就是使用提前停止的原因。