回归中的正则化(线性,逻辑...)是减少过度拟合的最流行方法。
当目标是预测准确性(不作解释)时,是否有正则化的良好替代方法,特别适合于大数据集(百万分之十亿的观测值和数百万的特征)?
回归中的正则化(线性,逻辑...)是减少过度拟合的最流行方法。
当目标是预测准确性(不作解释)时,是否有正则化的良好替代方法,特别适合于大数据集(百万分之十亿的观测值和数百万的特征)?
Answers:
与您的问题没有直接关系的两个重要点:
首先,即使目标是精度而不是解释,在许多情况下,仍然需要进行正则化,因为这将确保真实测试/生产数据集(而不是用于建模的数据)的“高精度”。
其次,如果有十亿行和一百万列,则可能不需要正规化。这是因为数据巨大,并且许多计算模型都具有“有限的能力”,即几乎不可能过度拟合。这就是为什么某些深度神经网络具有数十亿个参数的原因。
现在,关于您的问题。正如Ben和Andrey所提到的,有一些选项可以替代正则化。我想添加更多示例。
使用更简单的模型(例如,减少神经网络中的隐藏单元数量。在SVM中使用低阶多项式核。减少高斯混合中的高斯数量。等等。)
尽早停止优化。(例如,减少神经网络训练的时间,减少优化中的迭代次数(CG,BFGS等)
许多模型的平均值(例如,随机森林等)
如果使用带有求解器的模型,您可以在其中定义迭代次数/纪元数,则可以跟踪验证错误并尽早停止:当验证错误开始增加时,停止算法。
两个想法:
我支持Ben Ogorek提出的“使用更简单的模型”策略。
我研究的是具有较小整数系数的稀疏线性分类模型(例如,最大5个变量,其整数系数在-5到5之间)。这些模型在准确性和复杂的性能指标(例如校准)方面具有很好的概括性。
如果您可以为模型指定其他约束(例如,单调性约束,辅助信息),那么这也可以通过减少假设空间来帮助推广(请参见例如 本文)。
这需要谨慎进行(例如,您可能希望将模型与没有约束的基线进行比较,并以确保您不受限制的方式设计训练过程)。