L1与L2正则化:核心差异全解析
L1正则化和L2正则化是机器学习中常用的两种正则化方法,主要用于防止模型过拟合(Overfitting)、提升模型泛化能力。它们的核心区别在于惩罚项的形式,进而导致模型行为和应用场景的差异。以下从数学形式、作用机制、特性及应用场景等方面详细对比:
一、数学形式
正则化通过在损失函数(如均方误差MSE、交叉熵等)中添加一个惩罚项(Regularization Term)来限制模型参数的复杂度。假设模型的参数为权重向量 w\mathbf{w}w(不包含偏置项 bbb),则:
-
L1正则化(Lasso正则化):
惩罚项为参数的绝对值之和,损失函数变为:
LL1=原损失函数+λ⋅∥w∥1=原损失函数+λ∑i=1n∣wi∣ \mathcal{L}_{\text{L1}} = \text{原损失函数} + \lambda \cdot \|\mathbf{w}\|_1 = \text{原损失函数} + \lambda \sum_{i=1}^n |w_i| LL1=原损失函数+λ⋅∥w∥1=原损失函数+λi=1∑n∣wi∣
其中 λ≥0\lambda \geq 0λ≥0 是正则化强度超参数(λ\lambdaλ 越大,惩罚越强)。 -
L2正则化(Ridge正则化):
惩罚项为参数的平方和,损失函数变为:
LL2=原损失函数+λ⋅∥w∥22=原损失函数+λ∑i=1nwi2 \mathcal{L}_{\text{L2}} = \text{原损失函数} + \lambda \cdot \|\mathbf{w}\|_2^2 = \text{原损失函数} + \lambda \sum_{i=1}^n w_i^2 LL2=原损失函数+λ⋅∥w∥22=原损失函数+λi=1∑nwi2
二、核心区别
1. 对参数的约束方式不同
- L1正则化:倾向于将不重要的参数压缩至0(稀疏性)。
由于绝对值函数的尖点特性(在 wi=0w_i=0wi=0 处不可导),优化过程中梯度下降会“倾向于”将某些参数直接推至0,从而自动剔除冗余特征。 - L2正则化:倾向于将参数均匀缩小(平滑性),但几乎不会压缩至0。
平方项的梯度与参数大小成正比(∇w∥w∥22=2w\nabla_w \|\mathbf{w}\|_2^2 = 2\mathbf{w}∇w∥w∥22=2w),因此大参数会被更显著地缩小,小参数则被轻微调整,最终所有参数保留但重要性被削弱。
2. 稀疏性与特征选择
- L1:天然具备特征选择能力。
由于部分参数会被压缩至0,模型仅依赖非零参数对应的特征,相当于自动筛选出关键特征(例如,在高维数据中,若1000个特征中只有10个重要,L1可将其余990个特征的参数置零)。 - L2:无稀疏性,所有特征的参数都会被保留(只是权重变小)。
若特征间存在高度相关性(如多重共线性),L2会倾向于让相关特征的参数均匀分配权重(例如,两个高度相关的特征 w1w_1w1 和 w2w_2w2 可能同时被缩小,但不会其中一个为0)。
3. 优化难度与解的性质
- L1:目标函数在 wi=0w_i=0wi=0 处不可导(绝对值函数的尖点),需使用次梯度(Subgradient)或专用算法(如坐标下降法、LARS算法)求解。解通常是稀疏的、不连续的。
- L2:目标函数是光滑凸函数(平方项可导),梯度计算简单(∇w∥w∥22=2w\nabla_w \|\mathbf{w}\|_2^2 = 2\mathbf{w}∇w∥w∥22=2w),可通过梯度下降、牛顿法等高效求解。解是平滑的、连续的。
4. 对异常值的敏感性
- L2:平方项会放大异常值的影响(例如,若某个误差项很大,平方后会显著增加惩罚项),因此模型对异常值更敏感。
- L1:绝对值项对异常值的惩罚更温和(误差项的绝对值增长线性),模型鲁棒性更强。
三、作用与应用场景
L1正则化的作用:
- 防止过拟合:通过稀疏化参数,减少模型对噪声的依赖。
- 特征选择:自动剔除冗余特征,降低模型复杂度(尤其适用于高维低样本场景,如文本分类、基因数据)。
- 提升可解释性:仅保留关键特征的参数,模型结构更简洁。
典型场景:
- 特征数量远大于样本量(n≫mn \gg mn≫m);
- 需要识别关键特征(如推荐系统中的用户兴趣特征筛选);
- 处理稀疏数据(如One-Hot编码后的类别特征)。
L2正则化的作用:
- 防止过拟合:通过缩小参数,限制模型对训练数据的过度拟合。
- 稳定模型:避免参数过大导致的数值不稳定(如梯度爆炸)。
- 缓解多重共线性:在特征相关时,均匀分配权重,避免参数剧烈波动。
典型场景:
- 特征数量适中且相关性较强(如房价预测中的面积、房间数等特征);
- 需要保留所有特征的信息(如图像识别中的像素特征);
- 模型参数易因数据噪声过大(如L2对异常值更敏感的场景需谨慎,但整体仍常用)。
四、总结对比表
特性 | L1正则化 | L2正则化 |
---|---|---|
惩罚项形式 | 绝对值之和 $\sum | w_i |
参数稀疏性 | 强(参数易置零) | 弱(参数趋近于0但不为0) |
特征选择 | 支持(自动筛选关键特征) | 不支持(保留所有特征) |
解的光滑性 | 不连续(不可导点) | 连续(光滑可导) |
优化难度 | 较高(需专用算法) | 较低(梯度下降友好) |
对异常值鲁棒性 | 较强(绝对值惩罚温和) | 较弱(平方放大误差) |
典型应用 | 高维稀疏数据、特征选择 | 特征相关、需稳定模型的场景 |
扩展:弹性网络(Elastic Net)
实际中,L1和L2可结合为弹性网络(Elastic Net),损失函数为:
LENet=原损失函数+λ1∥w∥1+λ2∥w∥22
\mathcal{L}_{\text{ENet}} = \text{原损失函数} + \lambda_1 \|\mathbf{w}\|_1 + \lambda_2 \|\mathbf{w}\|_2^2
LENet=原损失函数+λ1∥w∥1+λ2∥w∥22
其中 λ1\lambda_1λ1 控制L1强度,λ2\lambda_2λ2 控制L2强度。它同时具备L1的特征选择能力和L2的平滑性,适用于特征高度相关的场景(如生物信息学、金融风控)。