003.正则化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 上,根本原因就两条:
- b 不决定模型复杂度
b 只负责整体上下平移,曲度和波动由 w 控制。过拟合的根源是 w 过大导致曲线剧烈震荡,而不是 b 的大小。 - 惩罚 b 会破坏平移不变性
若惩罚 b,模型会依赖特征的原点位置(绝对值)而非特征间的关系,导致不合理的结果——数据整体平移后模型输出无法保持一致。
一句话:b 只调基准,不影响曲线形状;惩罚 b 既不防过拟合,还会让模型变“蠢”,所以默认只惩罚 w。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 LGQ的博客!