正则化

参考链接:正则化 (数学) - 维基百科,自由的百科全书

一直觉得一些来自西方的术语翻译过来很奇怪,比如计算机中的robustness被译为鲁棒性,乍一听不知所云,深入了解后发现其实就是稳定的意思,今天又学到正则化,不学根本不知道这是啥意思😅。咱就是说,这到底是哪些“专家”翻译的?

在机器学习中,正则化(Regularization)是一种防止模型过拟合(overfitting)并提高其泛化能力的技术。通过引入额外的约束或惩罚项,正则化能够限制模型复杂度,从而避免在训练集上的表现过于理想化,而忽略了对新数据的适应能力。正则化的核心目标是让模型更加简洁、稳健,并减少因噪声而导致的学习误差。

1. 过拟合的原因与影响

在训练机器学习模型时,尤其是在模型复杂度较高(例如具有大量特征或参数的深度神经网络)时,模型往往能够非常精确地拟合训练数据。虽然这可能在训练集上取得极好的结果,但却不能有效地应用于新的、未见过的数据。这种现象称为过拟合。过拟合通常表现为训练误差低,但测试误差较高,意味着模型学到了数据中的噪声,而非一般性的规律。

2. 正则化的基本思想

正则化的核心思想是在损失函数(如最小化误差)中加入一个惩罚项,该项会对模型的复杂度进行约束。例如,如果模型的权重过大(说明模型可能过于复杂),正则化将对其施加惩罚,促使模型的权重保持较小,从而降低复杂度。

3. 正则化的常见形式

正则化有几种常见的形式,其中最常见的是L1正则化L2正则化

3.1 L1正则化(Lasso回归)

L1正则化通过在损失函数中添加权重绝对值的和(即权重的L1范数)来约束模型。其惩罚项如下所示:

$$
L1=λ∑i=1n∣wi∣L_1 = \lambda \sum_{i=1}^{n} |w_i|
$$

其中,$w_i$是模型参数,$\lambda$是正则化强度的控制参数。L1正则化的一个重要特性是,它倾向于将一些权重推到零,从而实现特征选择。这意味着L1正则化可以产生一个稀疏的模型,其中许多特征的权重为零,进而减少模型的复杂度。

3.2 L2正则化(Ridge回归)

L2正则化则是通过在损失函数中添加权重平方和(即权重的L2范数)来实现约束。其惩罚项如下:
$$
L2=λ∑i=1nwi2L_2 = \lambda \sum_{i=1}^{n} w_i^2
$$
与L1正则化不同,L2正则化不会导致权重完全为零,而是将所有权重缩小至较小的值。L2正则化能够在一定程度上减少模型复杂度,但不会像L1正则化那样产生稀疏解。L2正则化对于多重共线性问题(即特征之间存在较强相关性)具有一定的缓解作用。

3.3 弹性网(Elastic Net)

弹性网正则化结合了L1和L2正则化的优点,它在惩罚项中同时包含了L1范数和L2范数。其形式为:

$$
LElasticNet=λ1∑i=1n∣wi∣+λ2∑i=1nwi2L_{\text{ElasticNet}} = \lambda_1 \sum_{i=1}^{n} |w_i| + \lambda_2 \sum_{i=1}^{n} w_i^2
$$
其中,$\lambda_1$和$\lambda_2$分别控制L1和L2正则化的强度。弹性网正则化特别适用于高维度数据或特征之间存在相关性的情况。

4. 正则化参数

正则化的强度通常由参数$\lambda$来控制。具体来说,$\lambda$的值决定了惩罚项在总损失函数中的权重。较大的$\lambda$值会使正则化项对模型参数施加更强的惩罚,可能导致模型过于简单,从而出现欠拟合(underfitting)。较小的$\lambda$值则可能导致正则化效果较弱,模型可能会出现过拟合。

一般来说,$\lambda$的选择通常通过交叉验证等方法来调优。

5. 正则化的效果

正则化对模型的影响主要体现在以下几个方面:

  • 减少过拟合:通过约束模型的复杂度,正则化可以防止模型过度拟合训练数据。
  • 提升泛化能力:正则化通过惩罚大权重,使得模型能够更好地适应未见过的数据。
  • 特征选择:L1正则化尤其有助于特征选择,因为它倾向于将一些权重推向零,进而去除冗余或无关特征。
  • 提高数值稳定性:在高维度或特征之间高度相关的情况下,正则化有助于提升模型的数值稳定性,避免模型参数出现极端的估计。

6. 正则化与偏差-方差权衡

正则化方法通过增加对模型复杂度的约束,改变了偏差(bias)与方差(variance)的平衡。通常:

  • 当$\lambda$较大时,正则化效果显著,模型的方差降低,但可能增加偏差,导致欠拟合。
  • 当$\lambda$较小时,正则化效果较弱,模型复杂度较高,可能会过拟合训练数据,导致方差过大。

因此,选择合适的正则化参数是至关重要的,它需要根据实际数据和任务通过交叉验证等方法来进行调优。

7. 其他正则化方法

除了L1和L2正则化外,还有其他一些正则化方法,如:

  • Dropout(在深度学习中使用):在每次训练时随机忽略一部分神经元,避免神经网络过度依赖某些特征,从而提高模型的泛化能力。
  • 数据增强:通过在训练过程中对数据进行变换、旋转、缩放等操作,来扩展训练集,间接提高模型的泛化能力。

8. 总结

正则化是机器学习中一个重要的技术手段,旨在通过在损失函数中添加惩罚项,控制模型的复杂度,防止过拟合,提高模型的泛化能力。常见的正则化方法包括L1正则化、L2正则化和弹性网正则化。选择合适的正则化强度对于模型的性能至关重要,需要通过交叉验证等方法进行调整。


正则化
http://wang-jiahao.github.io/posts/ce0afb50.html
作者
Jiahao Wang
发布于
2024年12月13日
更新于
2024年12月13日
许可协议