Press "Enter" to skip to content

勇于学习机器学习:揭秘L1和L2正则化(第三部分)

为什么L0.5、L3和L4正则化是不常见的

Photo by Kelvin Han on Unsplash

欢迎回到“勇敢学习机器学习”的第三篇文章:“解密L1和L2正则化”之前,我们深入探讨了正则化的目的通过拉格朗日乘子理解L1和L2方法

继续我们的旅程,我们的导师和学习者组合将进一步探索L1和L2正则化与拉格朗日乘子的关系。

在本文中,我们将讨论一些引人入胜的问题,这些问题可能已经在你的脑海中闪过。如果对这些话题感到困惑,你来对地方了:

  • 为什么没有L0.5正则化?
  • 为什么我们关心一个问题是非凸问题,即大多数深度学习问题都是非凸问题?
  • 为什么L3和L4这样的范数不常用?
  • 可以将L1和L2正则化结合起来吗?这样做的优缺点是什么?

根据我们上次的讨论,我有一个问题,我了解到对于Lp范数,p的值可以是大于0的任何数字。为什么我们不使用0到1之间的p值?为什么没有L0.5正则化?

我很高兴你提出了这个问题。直接回答,我们通常避免使用小于1的p值,因为它们会导致非凸优化问题。让我用一张图片来说明这一点,展示不同p值下Lp范数的形状。仔细观察当p=0.5时,你会注意到形状明显是非凸的。

The shape of Lp norms for different p value. Source: https://lh5.googleusercontent.com/EoX3sngY7YnzCGY9CyMX0tEaNuKD3_ZiF4Fp3HQqbyqPtXks2TAbpTj5e4tiDv-U9PT0MAarRrPv6ClJ06C0HXQZKHeK40ZpVgRKke8-Ac0TAqdI7vWFdCXjK4taR40bdSdhGkWB

当我们观察一个三维表示,假设我们正在优化三个权重时,这一点变得更加明显。在这种情况下,问题明显不是凸的,出现了许多局部最小值沿着边界出现的情况。

来源:https://ekamperi.github.io/images/lp_norms_3d.png

我们通常避免在机器学习中使用非凸问题的原因是其复杂性。对于凸问题,您将得到一个全局最小值-这通常使解决过程更简单。然而,非凸问题通常存在多个局部最小值,可能需要大量计算且不可预测。我们正是要避免这种类型的挑战。

当我们使用拉格朗日乘数等技术来优化具有特定约束的函数时,这些约束必须是凸函数才能确保将它们添加到原始问题中不改变其基本属性,从而使问题更难解决。此方面至关重要;否则,添加约束可能会给原始问题增加更多困难。

我们为什么要关心问题或约束是否为非凸问题?大多数深度学习问题不都是非凸的吗?

您的问题触及了深度学习的一个有趣方面。虽然我们不喜欢非凸问题,但更准确地说,我们在深度学习领域经常遇到并需要处理这些问题。原因如下:

  1. 深度学习模型的性质导致非凸损失曲面:大多数深度学习模型,特别是具有隐藏层的神经网络,本质上具有非凸损失函数。这是由于这些模型内部发生的复杂非线性变换。这些非线性变换与参数空间的高维度组合通常导致非凸损失曲面。
  2. 局部最小值在深度学习中不再是问题:在高维空间中(这在深度学习中很常见),局部最小值并不像在低维空间中那样成问题。研究表明,深度学习中的许多局部最小值在值上接近全局最小值。此外,在这样的空间中更常见的是鞍点-梯度为零但既不是最大值也不是最小值的点,这是更大的挑战。
  3. 存在更有效处理非凸空间的高级优化技术。高级优化技术,如随机梯度下降(SGD)及其变种,在这些非凸空间中寻找良好解决方案非常有效。尽管这些解决方案可能不是全局最小值,但通常足以在实际任务中实现高性能。

尽管深度学习模型是非凸的,但它们擅长捕捉大型数据集中的复杂模式和关系。此外,对非凸函数的研究正在不断进步,加强我们的理解。展望未来,我们有可能更有效地处理非凸问题,并减少相关担忧。

为什么我们不考虑使用更高的范数(如L3和L4)进行正则化?

回想一下我们之前讨论的图像,显示了不同p值下Lp范数的形状。随着p的增加,Lp范数的形状逐渐演变。例如,当p = 3时,它类似于一个带有圆角的正方形,当p接近无穷大时,它形成一个完美的正方形。

不同p值下的Lp范数形状。来源:https://lh5.googleusercontent.com/EoX3sngY7YnzCGY9CyMX0tEaNuKD3_ZiF4Fp3HQqbyqPtXks2TAbpTj5e4tiDv-U9PT0MAarRrPv6ClJ06C0HXQZKHeK40ZpVgRKke8-Ac0TAqdI7vWFdCXjK4taR40bdSdhGkWB

在我们优化问题的背景下,考虑更高阶的范数,如L3或L4。类似于L2正则化,其中损失函数和约束轮廓在圆角处相交,这些更高阶的范数将鼓励权重逼近零,就像L2正则化一样。(如果这部分不清楚,请随时查阅第2部分以获得更详细的解释。)根据这个说法,我们可以谈论为什么L3和L4范数不常用的两个关键原因:

  1. L3和L4范数与L2具有相似的效果,没有提供显著的新优势(使权重接近0)。相比之下,L1正则化将权重置零并引入了稀疏性,对于特征选择非常有用。
  2. 计算复杂度是另一个重要的方面。正则化影响优化过程的复杂度。与L2相比,L3和L4范数的计算负担更重,使其在大多数机器学习应用中不太可行。

总而言之,虽然在理论上可以使用L3和L4范数,但它们与L1或L2正则化相比没有提供独特的优势,并且它们的计算效率低下使其不太实用。

是否可以结合L1和L2正则化?

是的,确实可以结合L1和L2正则化,这种技术通常被称为弹性网正则化。这种方法将L1(套索)和L2(岭)正则化的特性融合在一起,可以在挑战性的情况下非常有用。

弹性网正则化是L1和L2正则化项的线性组合。它将L1和L2范数添加到损失函数中。因此,它有两个要调整的参数,lambda1和lambda2。

弹性网正则化。来源:https://wikimedia.org/api/rest_v1/media/math/render/svg/a66c7bfcf201d515eb71dd0aed5c8553ce990b6e

使用弹性网正则化有什么好处?为什么我们不经常使用它?

通过结合这两种正则化技术,弹性网可以提高模型的泛化能力,比单独使用L1或L2正则化更有效地减少过拟合的风险。

让我们简要介绍一下它的优点:

  1. 弹性网比L1更稳定。 L1正则化可以导致稀疏模型,这对于特征选择非常有用。但在某些情况下,它可能不稳定。例如,L1正则化可以在高度相关的变量之间任意选择特征(同时使其他系数变为0)。而弹性网可以更均匀地分配权重给这些变量。
  2. L2可以比L1正则化更稳定,但它不鼓励稀疏性。弹性网的目标是平衡这两个方面,从而可能产生更强大的模型。

然而,弹性网正则化引入了额外的超参数,需要精细调整。在L1和L2正则化之间实现正确的平衡和最佳模型性能涉及到增加的计算工作。这种额外的复杂性是它不经常使用的原因。

在我们的下一节中,我们将从一个全新的角度探讨L1和L2正则化,深入探究贝叶斯先验信念的领域,以加深我们的理解。暂且停在这里,期待我们的下次讨论!

本系列的其他文章:

  • 如果你喜欢这篇文章,你可以在 LinkedIn上找到我。

参考资料:

通过迭代软阈值化实现弹性网络正则化

正则化简介

系列的一部分:机器学习 偏差 vs 方差,梯度下降的后续 内容摘要:1100字,11分钟…

kevinbinz.com

规范和机器学习

机器学习和优化中规范的介绍,着重介绍LASSO和岭回归。

ekamperi.github.io

Leave a Reply

Your email address will not be published. Required fields are marked *