← 返回题目列表

L1 和 L2 正则化有什么区别?为什么 L1 能产生稀疏解?

高频 困难 第 15 / 25 题 更新于 2026/07/28
线性模型正则化L1L2稀疏

简化版

L1 正则(Lasso)在损失里加权重绝对值之和 λΣ|wᵢ|,会把不重要特征的权重直接压成 0,产生稀疏解,自带特征选择能力。L2 正则(Ridge)加权重平方和 λΣwᵢ²,把权重整体压小但很难压到 0,让权重平滑、抗共线性、防过拟合。L1 稀疏的原因:L1 的约束区域是带尖角的菱形(棱形),最优解容易落在坐标轴上的顶点(某些权重恰好为 0);L2 的约束区域是圆形,没有尖角,最优解一般落在圆周上但各分量都非 0。两者都通过惩罚大权重来限制模型复杂度、防过拟合

详细版

L1 vs L2 对比:

L1(Lasso)L2(Ridge)
惩罚项`λΣwᵢ
解的特点稀疏(很多 w=0)稠密(w 都小但非 0)
作用特征选择 + 防过拟合权重收缩 + 防过拟合
几何约束区菱形(有尖角)圆形(光滑)
对共线性相关特征里随机留一个相关特征权重被均摊
可导性0 处不可导处处可导
解稳定性不稳定(易突变)稳定、平滑

为什么 L1 稀疏(两种解释):

  1. 几何:菱形约束区的顶点在坐标轴上,等高线最先碰到的往往是顶点 → 该维权重为 0。圆形无顶点,碰到的点各维都非 0。
  2. 梯度/软阈值:L1 的梯度是常数 ±λ(符号函数),不管 w 多小都以固定力度往 0 推,能把小权重推到恰好 0;L2 梯度 2λw 正比于 w,w 越小推力越弱,只能无限逼近 0 而到不了 0。

ElasticNet = L1 + L2 结合,兼顾稀疏和稳定。

完整版教学

一、正则化在解决什么——给「大权重」上税

过拟合的一个典型信号是权重变得很大:模型为了精确拟合训练集(含噪声),把某些系数抬得极高,决策面变得剧烈扭曲。正则化的思路是:在原损失后面加一个惩罚项,惩罚「权重太大」,逼模型在「拟合训练数据」和「保持权重小/简单」之间权衡:

总损失 = 原始损失(如 MSE/交叉熵) + λ · 惩罚项(w)
  • λ(正则强度):越大越强调「权重要小」,模型越简单(偏差↑方差↓);λ=0 就是不正则。
  • 惩罚项用权重的绝对值和就是 L1,用平方和就是 L2。

直觉:权重小 → 模型对输入的微小变化不敏感 → 决策面平滑 → 泛化更好。

二、L2 正则(Ridge):把权重整体压小

惩罚 = λ Σ wᵢ²          (权重平方和,即 L2 范数的平方)

特点:

  • 把所有权重成比例地收缩变小,但很难压到恰好 0(趋近 0 而已)——解是稠密的。
  • 处处可导(平方光滑),优化简单稳定。
  • 抗多重共线性:当两特征高度相关时,L2 倾向把权重均摊到它们身上(各分一半),而不是集中在一个上,系数更稳定。
  • 对线性回归就是岭回归,还顺带让 (XᵀX+λI) 一定可逆,解决了共线性下不可逆的问题。

用途:单纯防过拟合、稳定系数,不需要特征选择时的默认选择。

三、L1 正则(Lasso):把权重压成 0,自带特征选择

惩罚 = λ Σ |wᵢ|          (权重绝对值和,即 L1 范数)

特点:

  • 会把不重要特征的权重直接压成恰好 0——解是稀疏的。权重为 0 意味着该特征被彻底剔除,所以 L1 自带特征选择,能得到又稀疏又可解释的模型。
  • 在 0 处不可导(绝对值有尖角),优化需用次梯度 / 坐标下降 / 近端梯度。
  • 特征高度相关时,L1 往往只随机保留其中一个、其余压 0(这既是优点也是不稳定来源)。

用途:高维、想做特征选择、想要稀疏可解释模型时首选。

四、核心问题:为什么 L1 稀疏、L2 不稀疏

这是面试的重头戏,给两种互补的解释

解释一:几何视角(约束区域的形状)

把「加惩罚项」等价看成「在约束下最小化原损失」:L2 约束 Σwᵢ² ≤ t,L1 约束 Σ|wᵢ| ≤ t。二维下:

  • L2 的约束区域是圆w₁²+w₂² ≤ t)。
  • L1 的约束区域是菱形/棱形|w₁|+|w₂| ≤ t),四个顶点正好落在坐标轴上

原损失的等高线(椭圆)从最优点向外扩,第一次碰到约束区域的点就是正则化后的解

   L2(圆):等高线通常切在圆周的「侧面」 → w₁、w₂ 都非 0(不稀疏)
   L1(菱形):等高线很容易先碰到「尖角顶点」 → 顶点在轴上,某个 w=0(稀疏)

菱形有朝向坐标轴的尖角,等高线更容易先撞上尖角,而尖角处某个坐标恰好为 0。维度越高,尖角(低维面)越多,稀疏越明显。圆是光滑的没有尖角,撞上的点各分量一般都非 0。

解释二:梯度 / 软阈值视角(更本质)

看惩罚项对单个权重 w 的梯度(把它往 0 推的「力」):

  • L2d(λw²)/dw = 2λw,推力正比于 w。w 越接近 0,推力越弱,趋于 0——所以能无限逼近 0,却永远到不了 0。
  • L1d(λ|w|)/dw = λ·sign(w),推力是常数 ±λ,与 w 大小无关。哪怕 w 已经很小,仍以固定力度往 0 推,只要这个力压过原损失想让它偏离 0 的梯度,w 就被钉死在恰好 0

这在数学上对应 软阈值(soft-thresholding):L1 会把绝对值小于某阈值的权重直接置 0。这是 L1 产生稀疏最本质的机制。

五、什么时候用哪个——含 ElasticNet

  • L2(Ridge):想防过拟合、系数稳定、有共线性但不需要剔除特征。
  • L1(Lasso):高维、特征冗余多、想自动选特征、要稀疏可解释模型。
  • ElasticNet(L1+L2)λ₁Σ|w| + λ₂Σw²。当特征多且高度相关时,纯 L1 会不稳定地只留一个,ElasticNet 用 L2 项稳住、L1 项保稀疏,兼顾特征选择与稳定性,是高维相关特征场景的常用折中。

六、常见追问

  • λ 怎么定? 超参数,用交叉验证选。λ↑ → 正则强 → 偏差↑方差↓(更简单)。
  • 正则前要不要标准化? 通常要。未加权的 L1/L2 惩罚作用于系数,特征单位不同会改变同等预测效应所需的系数大小;应在训练折拟合缩放器。若业务明确采用有单位含义的加权惩罚,则按该定义处理。
  • L1 一定比 L2 好(因为能选特征)吗? 不一定。若所有特征都有用、或高度相关,L2 往往更稳、效果更好;要稀疏才选 L1。
  • 从贝叶斯看? L2 等价于给权重加高斯先验,L1 等价于加拉普拉斯先验(尖峰厚尾,鼓励权重为 0)。
  • 偏置 b 要正则吗? 一般不正则截距项,只惩罚权重 w。

七、用算例与工程边界复核

原损失相同的两组权重 [3,0][1.5,1.5],L1 范数都为 3,而 L2 平方和分别为 9 和 4.5;L2 更偏好分散的小权重。L1 的约束边界在坐标轴有尖角,最优解更容易落到某个系数为 0 的位置。

对象/方案核心机制选择或风险
L1/LassoλΣw
L2/RidgeλΣw²平滑收缩、通常不稀疏
Elastic Netλ1Σw

把推导和选择压缩成执行路径:

standardize features
 -> choose penalty and λ
 -> fit inside CV folds
 -> inspect stability, not only one split

L2 的准确说法是“通常不产生稀疏解”,不是数学上保证每个系数永远不等于 0。

八、常见误区与追问

  • 误区:L1 选出的特征就是因果特征。 它按预测目标和样本相关性选择,不能提供因果保证。
  • 误区:正则强度越大,泛化一定越好。 过强惩罚会造成高偏差和欠拟合,λ 必须在验证流程中选择。
  • 追问:为什么正则前常标准化? 否则同一 λ 对不同单位特征施加不公平的有效惩罚。
  • 追问:高度相关特征下 L1 会怎样? 它可能任意保留其中一个,跨数据折选择不稳定;Elastic Net 可缓解。
  • 追问:截距是否正则化? 多数实现默认不惩罚截距,具体要检查库定义。

九、加强记忆

记忆时抓住这条主线:L1(Lasso,λΣ|w|)产生稀疏解、把小权重压成恰好 0自带特征选择;L2(Ridge,λΣw²)把权重整体压小但非 0、稠密、抗共线性更稳定;两者都靠惩罚大权重防过拟合L1 稀疏的两个解释背牢:几何——L1 约束区是带轴上尖角的菱形,等高线易先撞尖角、某维为 0(L2 是圆、无尖角、不稀疏);梯度——L1 推力是常数 ±λ(不管 w 多小都往 0 推,能钉到 0),L2 推力 2λw 正比 w(越小越弱,只能逼近 0)。选择:稳定/共线性用 L2、选特征/稀疏用 L1、高维相关用 ElasticNet;用前先标准化截距不正则