为什么 L1 能把权重压成 0,L2 永远到不了 0

原视频:【机器学习基础】为什么 L1 能把权重压成 0、L2 永远到不了 0:梯度恒定对越近越拉不动,菱形尖角落在坐标轴 UP 主:古希腊掌管代码的神 | 时长:0:56 | tag:机器学习基础 链接:https://www.bilibili.com/video/BV1FbpE61EjS

一句话结论

L1 的惩罚梯度是常数 $\lambda\cdot\text{sign}(w)$,离 0 多远拉力都一样,能在有限步内把权重推到 0 并停住;L2 的惩罚梯度是 $\lambda w$,权重越小拉力越弱,只会指数衰减式地无限接近 0。几何上是同一件事:L1 的约束区域是菱形,尖角落在坐标轴上,解容易撞在角上而天然稀疏。

面试答法

30 秒版:两种解释互相印证。从梯度看:L1 的拉力是恒定的 $\lambda\,\text{sign}(w)$,不随权重变小而减弱,所以能把权重一路推到 0;到了 0 点,只要损失项的梯度小于 $\lambda$,次梯度就能把它按住不动,于是精确地停在 0。L2 的拉力正比于 $w$ 本身,越靠近 0 拉得越慢,每步只是乘上一个 $(1-\eta\lambda)$,只能无限接近、永远不等于 0。从几何看:L1 约束是菱形、尖角在坐标轴上,损失等高线扩张时最先碰到的多半是角,那里就有坐标为 0;L2 是圆,没有角,碰点处坐标一般都不为 0。结论一句话:L1 自带特征选择(稀疏),L2 只做收缩(平滑)。

核心原理

1. 梯度解释:恒力 vs 衰减力

正则项加在损失后面:$L = L_0 + \lambda\sum_i |w_i|$(L1)或 $L = L_0 + \frac{\lambda}{2}\sum_i w_i^2$(L2)。只看正则项的梯度:

$$\frac{\partial \lambda|w|}{\partial w} = \lambda\,\text{sign}(w) \qquad \frac{\partial \frac{\lambda}{2}w^2}{\partial w} = \lambda w$$

L1 恒定拉力 vs L2 衰减拉力(视频截图,0:22)

2. 几何解释:菱形的尖角落在轴上

把正则写成约束形式:L1 是 $|w_1|+|w_2|\le C$(菱形),L2 是 $w_1^2+w_2^2\le C$(圆)。无约束最优点在区域外时,最优解落在等高线与约束区域的相切/相碰处。菱形的角恰好在坐标轴上(某个 $w_i=0$),等高线往外扩最先碰到的多半是角;圆上处处光滑,碰点坐标一般都不为 0。

菱形尖角 vs 圆(视频截图,0:37)

易错点与常见追问

修订说明