第 4 章里我们已经看到,伪逆
x=A†b
统一表达了 minimum-norm least-squares solution
这条公式非常漂亮,但它也隐藏了一个现实问题:当矩阵 A 病态 ill-conditioned、秩亏 rank-deficient,或者数据 b 本身带有噪声时,直接依赖伪逆得到的解可能会非常不稳定
更具体地说,若某些 奇异值 singular values 很小,那么伪逆在这些方向上相当于要除以很小的数,于是本来很小的误差也可能被放大很多
这说明:有时候我们不能只问 “哪一个解最符合最小二乘意义”,还必须进一步问 “哪一个解更稳定,更不容易被噪声放大”
这正是 Tikhonov regularization / Ridge regression 要解决的问题
为什么普通最小二乘还不够
普通最小二乘希望找到一个 x,使得
∥Ax−b∥22
尽可能小
这当然是合理的,因为它要求模型输出 Ax 尽量接近观测数据 b
但这里有一个潜在问题:如果仅仅追求残差小,那么某些解虽然确实把
∥Ax−b∥22
压得很低,却可能让
∥x∥2
变得很大
而一个很大的解通常意味着两件事
- 它对数据中的微小扰动更敏感
- 它更可能依赖那些不稳定的小奇异值方向
所以在病态问题里,我们往往不希望解为了追求一点点额外拟合精度,就把自身放大得非常夸张
Tikhonov regularization 的目标函数
于是我们不再只最小化残差,而是改为最小化下面这个目标函数
xmin∥Ax−b∥22+δ2∥x∥22,δ>0
这里分成两部分
-
第一项
∥Ax−b∥22
仍然要求拟合数据
-
第二项
δ2∥x∥22
则惩罚过大的解
因此,Tikhonov regularization 并不是放弃拟合,而是在
之间做一个权衡
当 δ 较小时,我们更接近原始的最小二乘问题;当 δ 较大时,我们会更强地压制解的长度
从目标函数到正规方程
设
f(x)=∥Ax−b∥22+δ2∥x∥22
先把它展开
f(x)=(Ax−b)⊤(Ax−b)+δ2x⊤x
继续整理得到
f(x)=x⊤A⊤Ax−2b⊤Ax+b⊤b+δ2x⊤x
对 x 求梯度:
∇xf(x)=2A⊤Ax−2A⊤b+2δ2x
令梯度为 0,得到
2A⊤Ax−2A⊤b+2δ2x=0
两边同时除以 2,并合并含 x 的项:
(A⊤A+δ2I)x=A⊤b
这就是 Tikhonov regularization 对应的正规方程
与普通最小二乘的
A⊤Ax=A⊤b
相比,它多出了
δ2I
这一项
它的意义可以理解为:在每个坐标方向上都加了一点统一的 “支撑”,从而避免 A⊤A 在某些方向上过于接近奇异
只要 δ>0,矩阵
A⊤A+δ2I
就是可逆的,因为对任意非零向量 x 都有
x⊤(A⊤A+δ2I)x=∥Ax∥22+δ2∥x∥22>0
因此这个正则化问题总能给出唯一解
增广最小二乘的视角
这个问题还有一个非常重要的等价写法
xmin[AδI]x−[b0]22
因为展开后就是
[Ax−bδx]22=∥Ax−b∥22+δ2∥x∥22
这说明 Tikhonov regularization 可以看成一个 augmented least squares
但要注意,这并不是说我们真的在解一个新的精确方程组
[AδI]x=[b0]
而是说:我们把 “带正则项的最小二乘” 改写成了一个 “普通最小二乘” 的形式
这个视角很有价值,因为它表明正则化并不是一个完全陌生的新问题,而只是把约束编码进了一个更大的 least squares 问题里
一个 1 × 1 的标量例子
先看最简单的情形,设
A=[σ]
此时问题退化为
xmin(σx−b)2+δ2x2
对 x 求导并令其为 0:
2σ(σx−b)+2δ2x=0
整理得到
(σ2+δ2)x=σb
所以
xδ=σ2+δ2σb
如果没有正则化,而是直接求逆(即 δ=0),那么我们得到的是
x=σb
当 σ 很小时,这个量会变得很大,非常不稳定
而加入正则化之后,分母里多了一个 δ2,于是即使 σ 很小,解也不会轻易爆掉
这个一维例子很重要,因为它已经把 Tikhonov regularization 的本质完整表现出来了:它不是简单地 “除以 σ”,而是把这个过程替换成一个更平滑、更稳定的缩放
而一般矩阵的情形,本质上就是把这个标量结论沿着每个奇异值方向分别做一遍
SVD 视角下的统一表达
设
A=UΣV⊤
则
A⊤A=VΣ⊤ΣV⊤
因此
A⊤A+δ2I=V(Σ⊤Σ+δ2I)V⊤
于是正则化解
xδ=(A⊤A+δ2I)−1A⊤b
可以写成
xδ=V(Σ⊤Σ+δ2I)−1Σ⊤U⊤b
由于
Σ⊤Σ
是对角矩阵,所以中间这一块实际上只是在逐个奇异值方向上做缩放
如果 σ1,σ2,…,σr 是 A 的非零奇异值,那么对应系数就是
σi2+δ2σi
因此
xδ=Vdiag(σ12+δ2σ1,…,σr2+δ2σr,0,…,0)U⊤b
这个系数
σi2+δ2σi
常被称为 filter factor
它说明:
- 当 σi 较大时,这个系数接近 1/σi,与伪逆的行为很接近 (相乘等于 1)
- 当 σi 较小时,这个系数会明显变小,从而压制不稳定方向
所以 Tikhonov regularization 本质上是在每个奇异值方向上引入一个平滑的滤波机制
为什么小奇异值方向最危险
要理解这一点,先把 b 展开到左奇异向量基底里
b=i∑αiui
其中
αi=ui⊤b
那么伪逆解就是
x†=i∑σiαivi
问题立刻就暴露出来了:如果某个 σi 很小,那么即使 αi 只是一个很小的分量,
σiαi
也可能被放大成一个很大的数
而真实数据往往不是完全精确的,我们通常更接近于观察到
b=btrue+e
其中 e 是噪声
若把噪声也写成
e=i∑βiui
那么伪逆对噪声的作用就是
A†e=i∑σiβivi
因此,小奇异值方向危险的根源就在这里:
在逆问题里,它们对应的是 “要除以很小的数” 的方向,所以噪声会被巨大放大
而 Tikhonov regularization 把这个放大因子
σi1
替换成了
σi2+δ2σi
当 σi≪δ 时,
σi2+δ2σi≈δ2σi
这已经不再是一个会爆炸的量了
所以它的作用可以概括为:
- 对稳定的大奇异值方向,基本保留
- 对危险的小奇异值方向,主动抑制
它和伪逆是什么关系
现在再回头看前面的 filter factor
σi2+δ2σi
当 δ→0 时,有
σi2+δ2σi→⎩⎨⎧σi1,0,σi>0σi=0
这正好就是伪逆对奇异值的处理方式
因此
xδ→A†b(δ→0)
这句话非常关键,因为它说明 Tikhonov regularization 并不是和伪逆无关的另一个公式,而是伪逆解的一个 稳定化版本
从这个角度看:
- 伪逆 是把正则化强度一路减到 0 后的极限形式
- regularization 是在真正求解时更稳健的形式
这也解释了为什么在 病态问题、秩亏问题 和 含噪数据 中,我们常常更愿意先求正则化解,而不是直接把伪逆公式硬套到底
Ridge 和 LASSO 的一个简短对照
从更一般的正则化视角看,Tikhonov regularization 其实就是最经典的 Ridge 形式,也就是在最小二乘后面加一个 ℓ2 惩罚项
普通最小二乘是
xmin∥Ax−b∥22
Ridge 是
xmin∥Ax−b∥22+λ∥x∥22
而 LASSO 则把正则项换成了 ℓ1 范数
xmin∥Ax−b∥22+λ∥x∥1
其中
∥x∥1=i∑∣xi∣
这三者的共同点是:都在试图平衡
但 Ridge 和 LASSO 的行为差别非常明显
- Ridge 使用 ℓ2 惩罚,倾向于把所有系数整体缩小,但通常不会把某个分量精确压到 0
- LASSO 使用 ℓ1 惩罚,更容易把某些分量直接压成 0,因此会产生 稀疏 sparse 解
这也是为什么 LASSO 常被说成会自动做 feature selection:如果 x 的每个分量对应一个特征权重,那么很多权重可能被直接压成 0,于是这些特征等于被模型主动丢弃
从几何上看,这种差别来自于两种范数的形状不同:ℓ2 的等值线是圆滑的,而 ℓ1 的等值线带有尖角,所以最优点更容易落在坐标轴上
因此可以把二者粗略记成
还有一个重要区别是:本章讨论的 Ridge / Tikhonov regularization 可以写出显式解
x=(A⊤A+λI)−1A⊤b
而 LASSO 一般没有这么简单的闭式解,因为 ∥x∥1 在 0 处不可导,所以通常要借助数值优化方法来求,例如 coordinate descent、proximal gradient 或 soft-thresholding
因此,在本章的语境里可以这样理解:
- Ridge / Tikhonov 主要解决的是稳定性与小奇异值放大问题
- LASSO 更强调稀疏性、可解释性,以及从很多候选特征里自动筛选出少数真正重要的分量
小结
伪逆告诉我们最小二乘与最小范数在统一意义下的解是什么,而 Tikhonov regularization 则进一步回答了:当这个解不稳定时,我们应该如何把它改造成一个更可靠的版本
它通过在目标函数中加入
δ2∥x∥22
来抑制过大的解,并在 SVD 的每个奇异值方向上用 filter factor 压制小奇异值带来的噪声放大
因此可以认为:伪逆是极限形式,regularization 是稳定形式,而 δ 控制的正是拟合精度与稳定性之间的权衡