1

那么,在机器学习中,防止过拟合的一种方法是加入L2正则化,也有人说L1正则化更好,这是为什么呢?我也知道L1是用来保证数据的稀疏性的,这个结果的理论支持是什么?

4

4 回答 4

6

L1 正则化用于稀疏性。这可能是有益的,尤其是在处理大数据时,因为 L1 可以生成比 L2 正则化更多的压缩模型。这基本上是由于随着正则化参数的增加,您的最优值为 0 的可能性更大。

L2 正则化由于平方而惩罚更多的数字。当然,L2 在平滑方式上更“优雅”。

你应该检查这个网页

附言

更全面的数学解释可能不适合本网站,您可以尝试其他 Stack Exchange 网站,例如

于 2015-04-22T14:19:42.050 回答
0

L1 正则化:它增加了一个等于系数大小绝对值的 L1 惩罚,或者只是限制系数的大小。例如,Lasso 回归实现了这种方法。

当具有大量特征时,L1 正则化是首选,因为它提供了稀疏解决方案。甚至,我们获得了计算优势,因为可以避免零系数的特征。

你可以阅读更多这个网站

于 2022-02-13T11:54:36.033 回答
0

众所周知,L1 正则化有助于在稀疏特征空间中执行特征选择,这也是在某些情况下使用 L1 的一个很好的实际理由。然而,除了这个特殊原因之外,我从未见过 L1 在实践中表现得比 L2 更好。如果您查看有关此问题的LIBLINEAR 常见问题解答,您会发现他们没有看到 L1 击败 L2 的实际示例,并鼓励图书馆用户在找到时与他们联系。即使在您可能从 L1 的稀疏性中受益以进行特征选择的情况下,对剩余变量使用 L2 也可能比单独使用 L1 提供更好的结果。

所以,正如 Andrew Ng 在这里解释的那样

即使有很多不相关的特征,因为有训练样本,L1 正则化逻辑回归也可能是有效的。

当功能数量很大时,您可以试一试 L1,但 L2 应该始终是您的盲目选择。

即使在考虑到功能数​​量的情况下,您有充分的理由使用 L1,我也建议您改用 Elastic Nets。同意只有在进行线性/逻辑回归时,这才是一个实用的选择。但是,在这种情况下,弹性网络已被证明(在理论上和实践中)比 L1/Lasso 更好。Elastic Nets 结合了 L1 和 L2 正则化,“唯一”的代价是引入另一个超参数进行调整(有关更多详细信息,请参阅 Hastie 的论文页面 on stanford.edu)。

所以简而言之,L1 正则化最适合稀疏特征空间中的特征选择。

于 2016-07-28T01:57:19.473 回答
-1

由于 l1 正则化器创建稀疏性,因此与 l2 正则化器相比,它更快地收敛到您的最小值。现在让我们试着证明这一点。l1 正则器是一个绝对值函数 (|w_i|),它是线性函数,即无论值是正数还是负数,结果总是正数。现在,在解决任何模型的优化问题时,我们需要 SGD(随机梯度下降),它需要一个微分函数。所以现在我们需要区分 l1 正则化器。|w_i| 的微分 始终是恒定的,因此在 SGD 的更新阶段需要更长的步骤。

来到 l2 正则化器,它是 |w_i|^2,它是一个二次函数,它的图形看起来像一个抛物线,其最小值为 0,而没有最大值。l2 正则化器的导数是一个线性函数,它减小缓慢,这意味着它与 l1 正则化器相比不是恒定的。因此它比 l1 需要更多的时间来收敛。这回答了您的理论支持问题。

使用它取决于您的问题,即数据是否有很多特征,并且您知道它们中的大多数都是无用的,因此最好使用 l1 正则化器,因为它会将这些特征的值设为 0,您将获得一个特征容易解释的向量。这是 l1 的用例之一。在某些情况下,您必须同时使用这两种方法,并且正则化被称为弹性网络。您需要这些东西来尝试为您的模型获得最佳结果。

希望这可以帮助。

于 2019-06-07T10:54:36.543 回答