【漫话机器学习系列】077.范数惩罚是如何起作用的(How Norm Penalties Work)
范数惩罚的作用与原理
范数惩罚(Norm Penalty) 是一种常用于机器学习模型中的正则化技术,它的主要目的是控制模型复杂度,防止过拟合。通过对模型的参数进行惩罚(即在损失函数中加入惩罚项),使得模型的参数尽可能小或具有某种特定的结构,从而提升模型的泛化能力。
范数惩罚一般分为L1范数惩罚和L2范数惩罚两种,分别对应着Lasso回归和Ridge回归。这两种范数惩罚的作用是通过对模型参数的约束来减少模型的复杂度,避免过拟合。
1. L1范数惩罚(Lasso)
L1范数惩罚通过最小化参数的绝对值之和来施加惩罚。它的惩罚项为:
其中:
- 是模型的参数(例如线性回归中的权重)。
- λ 是正则化强度的超参数,控制惩罚项的权重。
L1范数的特点是:
- 它倾向于将某些参数的值缩小到0。因此,它能起到特征选择的作用,通过自动地去除一些不重要的特征(使得对应的权重变为零)。
- 适用于高维度数据和特征较多的场景。
L1范数惩罚的优点:
- 可以进行特征选择,自动剔除冗余特征。
- 对于稀疏数据(即大多数特征值为零的数据)有良好的效果。
2. L2范数惩罚(Ridge)
L2范数惩罚通过最小化参数的平方和来施加惩罚。它的惩罚项为:
其中:
- 是模型的参数。
- λ 是正则化强度的超参数。
L2范数的特点是:
- 它将所有参数都缩小到较小的值,而不会将它们缩小为零。也就是说,L2惩罚可以使模型的参数变得更小,但通常不会完全消除某些参数。
- 适用于特征较多,且特征之间存在一定相关性的情况。
L2范数惩罚的优点:
- 它通常能使得模型参数变得平滑,避免模型过于复杂,从而有效防止过拟合。
- 对于小的噪声数据,L2正则化通常能够更好地保持稳定性。
3. L1和L2的组合(Elastic Net)
Elastic Net 是 L1 和 L2 正则化的组合,它结合了 Lasso 和 Ridge 的优点。它的惩罚项为:
Elastic Net 同时使用 L1 和 L2 正则化,使得模型不仅可以选择重要特征(L1范数的特点),而且可以避免在特征空间中出现非常大的系数(L2范数的特点)。
4. 范数惩罚对模型的影响
范数惩罚的作用可以通过以下方式起作用:
- 控制模型复杂度:通过惩罚模型的参数,限制模型的自由度,使得模型不会过度拟合训练数据,特别是在特征较多或数据较少的情况下。
- 防止过拟合:当数据量较小或噪声较多时,模型很容易过拟合。范数惩罚通过限制参数的大小或数量,从而抑制过拟合。
- 提升模型泛化能力:正则化约束模型,使得它对训练集外的数据也有良好的表现。
5. 正则化强度超参数(λ)
- 选择合适的 λ:正则化强度 λ 控制了惩罚项的影响。如果 λ 太大,模型的复杂度会被过度约束,可能会欠拟合;如果 λ 太小,惩罚项的作用就不明显,可能会导致过拟合。通常通过交叉验证来选择合适的 λ。
总结
范数惩罚通过限制模型参数的大小或数量,防止模型过拟合并提高泛化能力。L1范数惩罚具有特征选择的效果,而L2范数惩罚则通过平滑模型来减少复杂性。Elastic Net 结合了两者的优点,适用于更多的实际场景。