避免过度拟合回归:正则化的替代方法


19

回归中的正则化(线性,逻辑...)是减少过度拟合的最流行方法。

当目标是预测准确性(不作解释)时,是否有正则化的良好替代方法,特别适合于大数据集(百万分之十亿的观测值和数百万的特征)?


3
“大数据集”可能意味着很多观察值,很多变量或两者兼有,答案可能取决于观察值和变量的数量。
佩雷,

为什么不使用规范正则化?对于神经网络,存在辍学
seanv507 '17

4
正则化的优点是计算量便宜。打包方法(例如装袋法和增强方法等)与用于模型诊断的交叉验证方法相结合是一个很好的选择,但它将是成本更高的解决方案。
Digio


1
在Digio的评论中添加:正则化与装袋/提升相比便宜,但是与“无正则化”的替代相比仍然昂贵(请参阅Ben Recht的这篇文章,了解正则化如何使深度学习变得困难)。如果您有大量样本,则任何正则化方法都无法很好地工作,而且价格便宜得多。@ hxd1001 指出,该模型仍然可以很好地推广)
Berk

Answers:


11

与您的问题没有直接关系的两个重要点:

  • 首先,即使目标是精度而不是解释,在许多情况下,仍然需要进行正则化,因为这将确保真实测试/生产数据集(而不是用于建模的数据)的“高精度”。

  • 其次,如果有十亿行和一百万列,则可能不需要正规化。这是因为数据巨大,并且许多计算模型都具有“有限的能力”,即几乎不可能过度拟合。这就是为什么某些深度神经网络具有数十亿个参数的原因。


现在,关于您的问题。正如Ben和Andrey所提到的,有一些选项可以替代正则化。我想添加更多示例。

  • 使用更简单的模型(例如,减少神经网络中的隐藏单元数量。在SVM中使用低阶多项式核。减少高斯混合中的高斯数量。等等。)

  • 尽早停止优化。(例如,减少神经网络训练的时间,减少优化中的迭代次数(CG,BFGS等)

  • 许多模型的平均值(例如,随机森林等)


非常感谢。第二种选择(尽早停止)是我们目前正在尝试使用SGD的方法。效果不错。我们希望将其与正则化进行比较。您是否知道任何文章提到此方法?
贝努瓦·桑切斯

1
在梯度下降的早期停止与正则化之间存在几何关系。例如,原始形式的岭回归要求参数最小化位于以原点为中心的实心椭圆内的损失函数,而椭圆的大小是正则化强度的函数。如果脊参数与非正规解不同,则它们位于椭圆的表面上。如果您从起点出发进行上升,然后提早停止,则您将处于这些椭圆之一的边界上……
Matthew Drury

因为您遵循了梯度,所以您遵循了达到真实最小值的路径,因此您在许多时间中将大约以脊解为终点。我不确定您能否严格遵循这一思路,但可能存在某种关系。
马修·德鲁里

@BenoitSanchez 本文可能是相关的。作者解决了一个不同的问题(特征向量计算中的过拟合),但是处理过拟合的策略是相同的(即通过减少计算进行隐式正则化)。该策略是解决可以产生近似解决方案的更便宜的问题(我认为,这与在优化过程中尽早停止相同)。
Berk U.

@BenoitSanchez我推荐这个。洛伦佐(Lorenzo)的演讲可在youtube上找到,但此页面上还有一些论文的链接mit.edu/~9.520/fall17/Classes/early_stopping.html
David Kozak

14

正则化的两种选择:

  1. 有很多很多观察
  2. 使用更简单的模型

反向传播的共同发明者Geoff Hinton曾经讲过一个工程师的故事,他告诉他(大意地解释):“ Geoff,我们不需要深层网络中的辍学,因为我们拥有大量数据。” 他的回答,是,“好吧,那你应该在更深网,直到你过学习,然后用辍学生”。除了好的建议,即使有足够多的数据,您显然也可以避免进行正则化。

使用固定数量的观察值,您还可以选择更简单的模型。您可能不需要正则化就可以在简单的线性回归中估算截距,斜率和误差方差。


3

避免过度拟合的一些其他可能性

  • 降维

    <<

  • 特征选择(还可以降低维数)

    您可以执行一轮特征选择(例如使用LASSO)以获得较低维的特征空间。如果某些较大但未知的特征子集无关紧要,则使用LASSO进行特征选择之类的操作可能会很有用。

  • 使用不太容易过度拟合的算法,例如随机森林。(取决于设置,特征的数量等,这些计算可能比普通的最小二乘法更加昂贵。)

    其他一些答案也提到了增强和装袋技术/算法的优势。

  • 贝叶斯方法

    在系数向量上添加先验可减少过拟合。这在概念上与正则化有关:岭回归是最大后验估计的特例。


2

如果使用带有求解器的模型,您可以在其中定义迭代次数/纪元数,则可以跟踪验证错误并尽早停止:当验证错误开始增加时,停止算法。


1
这个问题明确地询问了回归(线性,逻辑)模型。
马修·德鲁里

2
从技术上讲,线性回归和逻辑回归是非常简单的神经网络。
安德烈·卢亚延

2
我不认为这改变了我的信念,即这不能回答所提出的问题。如果您将其改写为“如果您使用某种形式的梯度下降来拟合回归,并应用了早期停止”,那会更好。
马修·德鲁里

甚至sklearn也有许多模型支持参数限制迭代次数。它可以用来跟踪准确性。但是我想你是对的,措词并不完全正确。
Andrey Lukyanenko

1

两个想法:

  1. 我支持Ben Ogorek提出的“使用更简单的模型”策略。

    我研究的是具有较小整数系数的稀疏线性分类模型(例如,最大5个变量,其整数系数在-5到5之间)。这些模型在准确性和复杂的性能指标(例如校准)方面具有很好的概括性。

    ñ/d足够大,在这种情况下数据是可分离的,并且分类问题变得容易)。

  2. 如果您可以为模型指定其他约束(例如,单调性约束,辅助信息),那么这也可以通过减少假设空间来帮助推广(请参见例如 本文)。

    这需要谨慎进行(例如,您可能希望将模型与没有约束的基线进行比较,并以确保您不受限制的方式设计训练过程)。

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.