问题: 什么是正则化?L1和L2正则化分别是什么?它们的核心区别是什么?

👇 点击展开/折叠 面试背诵模板(建议先背这个) 正则化是给损失函数加“罚单”,防止模型太自以为是(过拟合)。L1正则化(Lasso回归)罚权重绝对值之和,让不重要的权重直接变0,自动帮你挑出有用特征。L2正则化(Ridge回归/岭回归)罚权重平方和,让所有权重都缩小但不归零,逼模型“低调做人”。核心区别:L1砍掉无用特征(稀疏),L2压榨所有特征(平滑)。特征多优先L1做降维,特征少优先L2保稳定。
---

一、正则化是什么?(用大白话讲)

想象你在训练一个模型,它为了在训练集上拿满分,把每个数据点的细节都死记硬背下来,连噪音都学了进去。结果一换新题目就翻车,这就是过拟合。

正则化就是给模型立个规矩:“想拿高分可以,但必须简单点”。它在计算损失(扣分)时,额外加一笔“惩罚项”,逼模型学会抓大放小,而不是钻牛角尖。

二、L1正则化(Lasso回归)—— “断舍离”高手

公式:损失 = 原损失 + λ × Σ|权重|
通俗理解:你给模型发“工资”(权重),L1的规则是“总工资有上限”。模型只能把有限的预算分给少数关键特征,其他特征直接发零工资(权重变0)。
结果:模型变得稀疏,一堆权重变成0,自动帮你筛选出真正有用的特征。
外号:Lasso回归(拉索回归),像绳子一样把没用的特征“勒”掉。

三、L2正则化(Ridge回归/岭回归)—— “共同富裕”代表

公式:损失 = 原损失 + λ × Σ(权重²)
通俗理解:还是发工资,但L2的规矩是“工资差距不能太大”。所有权重都得有,但都得压得低低的,谁也不许突出。
结果:权重被均匀缩小,但不会变成0。模型参数整体“低调”,曲线更平滑,不会因为某个特征波动就剧烈震荡。
外号:Ridge回归(岭回归),像山脊一样平滑稳定。

四、L1 vs L2:一张表看懂区别

维度 L1(Lasso) L2(Ridge)
惩罚公式 绝对值之和 平方和
对权重的态度 “要么给你全部,要么一分不给” “大家都少拿点”
最终效果 部分权重变0(稀疏) 权重都变小但不归零
擅长什么 帮你挑特征(降维) 防过拟合(保稳定)
对异常值 不太敏感(绝对值抗干扰) 比较敏感(平方放大离群点)
特征相关时 随机选一个 大家一起平分权重

五、为什么L1能把权重变成0,L2不能?(一句话解释)

  • L1 的惩罚形状像菱形,等高线碰到菱形的尖角时,最优解就在坐标轴上——某个权重正好为0。
  • L2 的惩罚形状像圆形,等高线和圆相切时,切点通常不在坐标轴上——所有权重都还在,只是变小了。

六、怎么选?(面试一句话带走)

  • 特征多、样本少 → 用 L1,先筛一圈特征再说。
  • 特征少、特征之间有关系 → 用 L2,稳定又平滑。
  • 两个都要 → 用 弹性网(ElasticNet),L1 + L2 一起上。

三、为什么正则化只针对权重 w,而不约束偏置项 b?(极简总结)

正则化惩罚 只加在权重 w 上,不加在偏置 b 上,根本原因就两条:

  1. b 不决定模型复杂度
    b 只负责整体上下平移,曲度和波动由 w 控制。过拟合的根源是 w 过大导致曲线剧烈震荡,而不是 b 的大小。
  2. 惩罚 b 会破坏平移不变性
    若惩罚 b,模型会依赖特征的原点位置(绝对值)而非特征间的关系,导致不合理的结果——数据整体平移后模型输出无法保持一致。

一句话:b 只调基准,不影响曲线形状;惩罚 b 既不防过拟合,还会让模型变“蠢”,所以默认只惩罚 w。