普通英语的正则化是什么?


73

与其他文章不同,我发现非数学家(如我)无法阅读该主题的维基百科条目。

我了解基本概念,即您倾向于使用规则较少的模型。我没有得到的是如何从一组规则获得一个“正则化分数”,该分数可用于对模型进行分类(从最小拟合到最大拟合)。

您能描述一个简单的正则化方法吗?

我对分析统计交易系统感兴趣。如果您能描述是否/如何应用正则化来分析以下两个预测模型,那就太好了:

模型1-在以下情况下价格上涨:

  • exp_moving_avg(价格,期间= 50)> exp_moving_avg(价格,期间= 200)

模型2-在以下情况下价格上涨:

  • 价格[n] <价格[n-1]连续10次
  • exp_moving_avg(价格,期间= 200)上升

但是我对了解如何进行正则化更感兴趣。因此,如果您知道更好的模型来进行说明,请这样做。


7
岭回归就是一个例子,它是OLS,系数平方和之和为边界。这将在模型中引入偏差,但有时会大大降低系数的方差。LASSO是另一种相关方法,但是对系数的大小设置了L1约束。它具有降低系数的优势。这对于p >> n情况很有用。以某种方式进行正则化意味着“缩小”模型以避免过度拟合(并减少系数方差),这通常会提高模型的预测性能。
HairyBeast

2
@HairyBeast您应该把您的好评论作为答案。如果可能,请尝试添加一个说明性示例,以便OP可以弄清楚如何将其转化为当前的问题。
chl

1
@HairyBeast,所以我可以说正则化只是一种实现偏差方差折衷的方法吗?
鳄梨

我发现该视频非常有帮助,特别是在可视化Lp正则化的不同形式方面:youtube.com/watch?
v=sO4ZirJh9ds

正则化用于解决学习模型中的过拟合问题。试图用简单的英语和视觉方式进行解释。以下是文章medium.com/@vamsi149/…
–solver149

Answers:


56

简而言之,正则化是调整或选择模型复杂度的首选级别,因此您的模型更擅长预测(概括)。如果您不这样做,您的模型可能太复杂,过度拟合,或者太简单,欠拟合,这两种方法都会给出错误的预测。

如果最小二乘将复杂模型拟合到少量训练数据,则可能会过拟合,这是最常见的情况。模型的最佳复杂性取决于您要建模的过程的种类和数据的质量,因此没有先验正确的模型复杂性。

要进行正则化,您需要两件事:

  1. 一种测试模型在预测方面的性能的方法,例如使用交叉验证或一组验证数据(您不能为此使用拟合误差)。
  2. 调整参数,使您可以更改模型的复杂度或平滑度,或选择具有不同复杂度/平滑度的模型。
基本上,您可以调整复杂性参数(或更改模型),然后找到可以提供最佳模型预测的值。

请注意,优化后的正则化误差将不能准确预测总体预测误差,因此,在正则化之后,您最终将不得不使用其他验证数据集或执行一些其他统计分析以获得无偏的预测误差。

使用(交叉)验证测试的一种替代方法是使用贝叶斯先验或其他方法来惩罚复杂性或不平滑性,但是这些方法需要更多的统计信息以及对问题和模型特征的了解。


2
向我+1。我喜欢这个答案从一开始就很容易理解...
Andrew

2
正则化真的用于减少拟合不足吗?以我的经验,正则化用于复杂/敏感的模型以降低复杂性/敏感度,但从来没有应用于简单/不敏感的模型以增加复杂性/敏感度。
理查德·哈迪

这个答案现在已经很老了,但是我假设Toby所指的是,正则化是在给定数据量的情况下适合于适当复杂性模型的原则方法。它既可以选择先验模型,也可以选择参数太少(或参数错误)的模型,也可以选择过于复杂和过度拟合的模型。
布莱恩·克劳斯

26

假设您通过经验风险最小化进行学习。

更确切地说:

  • 您已经获得了非负损失函数,该表征了您的预测有多糟糕L(actual value, predicted value)
  • 您希望以这样的方式拟合模型,使其预测最小化损失函数的均值,仅根据训练数据(您拥有的唯一数据)进行计算

那么学习过程的目的是找到(此方法称为经验风险最小化)。Model=argminL(actual,predicted(Model))

但是,如果您没有足够的数据,并且模型中存在大量变量,那么很可能会找到一个不仅可以解释模式而且可以解释数据中随机噪声的模型。这种效应称为过拟合,它会导致模型的泛化能力下降。

为了避免过度拟合,将正则化项引入目标函数: Model=argminL(actual,predicted(Model))+λR(Model)

通常,此术语对复杂模型施加特殊惩罚。例如,在具有大系数的模型(L2正则化, =系数平方和)或具有很多(如果非零系数)的模型中(L1正则化, =系数绝对值之和)。如果我们正在训练决策树,则可以是其深度。R R RR(Model)RRR

另一观点是引入了我们对最佳模型形式的先验知识(“它没有太大的系数”,“它几乎与正交”)¯ Ra¯


12

简而言之,正则化就是使您期望获得的解决方案受益。如您所述,例如,对于简单性的一些定义,您可以从“简单”解决方案中受益。如果您的问题有规则,则一个定义可以是更少的规则。但这取决于问题。

但是,您在问正确的问题。例如,在支持向量机中,这种“简单性”来自于“最大余量”方向上的束缚。此裕度可以根据问题明确定义。Wikipedia中的SVM文章中有很好的几何推导。事实证明,正规化术语至少可以说是SVM的“秘密秘诀”。

您如何进行正则化?通常,使用的方法附带了这种方法,如果使用SVM,则要进行L2正则化,如果使用LASSO,则要进行L1正则化(请参见hairybeast在说什么)。但是,如果您要开发自己的方法,则需要知道如何从非期望的解决方案中区分出期望的解决方案,并具有将其量化的功能。最后,您将有一个成本项和一个正则化项,并且您想优化两者之和。


1

正则化技术是应用于机器学习模型的技术,可使决策边界/拟合模型更加平滑。这些技术有助于防止过度拟合。

示例:神经网络中的L1,L2,辍学,体重下降。SVM中的参数C


0

简而言之,正则化是一种在训练机器学习算法时避免过度拟合的技术。如果您的算法具有足够的自由参数,则可以对样本进行非常详细的插值,但是样本外部的示例可能不会遵循此细节插值,因为它只是捕获了样本中的噪声或随机不规则现象,而不是真实趋势。

可以通过限制模型中参数的绝对值来避免过度拟合,这可以通过在成本函数中添加一个项来实现,该项根据模型参数的大小施加惩罚。如果以L1范数衡量幅度,则称为“ L1正则化”(通常会导致稀疏模型),如果以L2范数衡量,则称为“ L2正则化”,依此类推。

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.