9

这似乎是一个愚蠢的问题,但我就是想不出一个合理的答案。

据说正则化可以帮助我们获得简单模型而不是复杂模型,以避免过度拟合。但是对于线性分类问题:

f(x) = Wx

模型的复杂性在某种程度上是明确的:它是线性的,不是二次的或更复杂的。那么为什么我们还需要对参数进行正则化呢?为什么在这种情况下我们更喜欢较小的权重?

4

3 回答 3

4

随着您增加要训练模型的样本数量或降低模型的复杂性,对模型进行正则化的需求将越来越少。但是,在没有(或具有非常小的正则化效果)的情况下训练模型所需的示例数量会随着参数的数量以及可能在模型中继承的一些其他因素而呈指数级增加。

由于在大多数机器学习问题中,我们没有所需数量的训练样本模型复杂度很大,我们必须使用正则化来避免或减少过度拟合的可能性。直观地说,正则化的工作方式是将惩罚项引入到损失函数的argmin∑L(desired,predictionFunction(Wx))位置L,该损失函数计算模型的预测与期望目标的偏差程度。所以新的损失函数变成了argmin∑L(desired,predictionFunction(Wx)) + lambda*reg(w)wherereg是一种正则化(例如squared L2),lambda是一个控制正则化效果的系数。然后,自然地,在最小化成本函数的同时,权重向量被限制为具有较小的平方长度(例如squared L2 norm) 并缩小到零。这是因为权重向量的平方长度越大,损失越大。因此,权重向量还需要补偿在优化运行时降低模型的损失。

现在想象一下,如果你去掉正则化项(lambda = 0)。然后模型参数可以自由具有任何值,因此无论您使用线性模型还是非线性模型,权重向量的平方长度都可以增长。这为模型的复杂性增加了另一个维度(除了参数的数量),优化过程可能会找到可以与训练数据点完全匹配的权重向量。但是,当暴露于看不见的(验证或测试)数据集时,模型将无法很好地泛化,因为它已经过度拟合到训练数据。

于 2016-01-14T16:19:07.577 回答
0

在机器学习模型中使用正则化来处理过度拟合的问题,即当训练误差和测试误差之间的差异太大时。对于像逻辑回归这样的线性模型,该模型可能在您的训练数据上表现得非常好,并且它试图以如此高的精度预测每个数据点。这种情况会导致数据过度拟合,因为您的模型可能也在拟合异常值,这可能会给您的模型带来巨大的麻烦。

在此处输入图像描述

这个链接显示了带有 l2 正则化器的逻辑回归方程,它有一个 lambda 参数,有助于减少损失部分的影响,但 lambda 的值不应该太高,因为这样会导致欠拟合,最终你的模型会变得愚蠢。

于 2019-06-04T08:49:21.357 回答
0

使用正则化的主要原因是为了克服过度拟合的问题。当您的模型很好地拟合数据(即也捕获所有噪声)时,正则化会惩罚权重。您可以阅读更多内容并通过参考中的实现细节获得数学直觉

于 2021-01-31T09:37:26.290 回答