Tikhonov 正则化:伪逆的稳定化版本

从普通最小二乘的不稳定方向出发,推导 Tikhonov regularization,并用 SVD 解释它如何压制小奇异值。

第 4 章里我们已经看到,伪逆

x=Ab\mathbf{x} = \mathbf{A}^\dagger \mathbf{b}

统一表达了 minimum-norm least-squares solution

这条公式非常漂亮,但它也隐藏了一个现实问题:当矩阵 A\mathbf{A} 病态 ill-conditioned秩亏 rank-deficient,或者数据 b\mathbf{b} 本身带有噪声时,直接依赖伪逆得到的解可能会非常不稳定

更具体地说,若某些 奇异值 singular values 很小,那么伪逆在这些方向上相当于要除以很小的数,于是本来很小的误差也可能被放大很多

这说明:有时候我们不能只问 “哪一个解最符合最小二乘意义”,还必须进一步问 “哪一个解更稳定,更不容易被噪声放大”

这正是 Tikhonov regularization / Ridge regression 要解决的问题

为什么普通最小二乘还不够

普通最小二乘希望找到一个 x\mathbf{x},使得

Axb22\|\mathbf{A}\mathbf{x} - \mathbf{b}\|_2^2

尽可能小

这当然是合理的,因为它要求模型输出 Ax\mathbf{A}\mathbf{x} 尽量接近观测数据 b\mathbf{b}

但这里有一个潜在问题:如果仅仅追求残差小,那么某些解虽然确实把

Axb22\|\mathbf{A}\mathbf{x} - \mathbf{b}\|_2^2

压得很低,却可能让

x2\|\mathbf{x}\|_2

变得很大

而一个很大的解通常意味着两件事

  • 它对数据中的微小扰动更敏感
  • 它更可能依赖那些不稳定的小奇异值方向

所以在病态问题里,我们往往不希望解为了追求一点点额外拟合精度,就把自身放大得非常夸张

Tikhonov regularization 的目标函数

于是我们不再只最小化残差,而是改为最小化下面这个目标函数

minxAxb22+δ2x22,δ>0\min_{\mathbf{x}} \|\mathbf{A}\mathbf{x} - \mathbf{b}\|_2^2 + \delta^2 \|\mathbf{x}\|_2^2, \qquad \delta > 0

这里分成两部分

  • 第一项

    Axb22\|\mathbf{A}\mathbf{x} - \mathbf{b}\|_2^2

    仍然要求拟合数据

  • 第二项

    δ2x22\delta^2 \|\mathbf{x}\|_2^2

    则惩罚过大的解

因此,Tikhonov regularization 并不是放弃拟合,而是在

  • 拟合精度
  • 解的稳定性

之间做一个权衡

δ\delta 较小时,我们更接近原始的最小二乘问题;当 δ\delta 较大时,我们会更强地压制解的长度

从目标函数到正规方程

f(x)=Axb22+δ2x22f(\mathbf{x}) = \|\mathbf{A}\mathbf{x} - \mathbf{b}\|_2^2 + \delta^2 \|\mathbf{x}\|_2^2

先把它展开

f(x)=(Axb)(Axb)+δ2xxf(\mathbf{x}) = (\mathbf{A}\mathbf{x} - \mathbf{b})^\top(\mathbf{A}\mathbf{x} - \mathbf{b}) + \delta^2 \mathbf{x}^\top \mathbf{x}

继续整理得到

f(x)=xAAx2bAx+bb+δ2xx\begin{align*} f(\mathbf{x}) &= \mathbf{x}^\top \mathbf{A}^\top \mathbf{A}\mathbf{x} - 2\mathbf{b}^\top \mathbf{A}\mathbf{x} + \mathbf{b}^\top \mathbf{b} + \delta^2 \mathbf{x}^\top \mathbf{x} \end{align*}

x\mathbf{x} 求梯度:

xf(x)=2AAx2Ab+2δ2x\begin{align*} \nabla_{\mathbf{x}} f(\mathbf{x}) &= 2\mathbf{A}^\top \mathbf{A}\mathbf{x} - 2\mathbf{A}^\top \mathbf{b} + 2\delta^2 \mathbf{x} \end{align*}

令梯度为 00,得到

2AAx2Ab+2δ2x=02\mathbf{A}^\top \mathbf{A}\mathbf{x} - 2\mathbf{A}^\top \mathbf{b} + 2\delta^2 \mathbf{x} = 0

两边同时除以 22,并合并含 x\mathbf{x} 的项:

(AA+δ2I)x=Ab(\mathbf{A}^\top \mathbf{A} + \delta^2 \mathbf{I})\mathbf{x} = \mathbf{A}^\top \mathbf{b}

这就是 Tikhonov regularization 对应的正规方程

与普通最小二乘的

AAx=Ab\mathbf{A}^\top \mathbf{A}\mathbf{x} = \mathbf{A}^\top \mathbf{b}

相比,它多出了

δ2I\delta^2 \mathbf{I}

这一项

它的意义可以理解为:在每个坐标方向上都加了一点统一的 “支撑”,从而避免 AA\mathbf{A}^\top \mathbf{A} 在某些方向上过于接近奇异

只要 δ>0\delta > 0,矩阵

AA+δ2I\mathbf{A}^\top \mathbf{A} + \delta^2 \mathbf{I}

就是可逆的,因为对任意非零向量 x\mathbf{x} 都有

x(AA+δ2I)x=Ax22+δ2x22>0\mathbf{x}^\top (\mathbf{A}^\top \mathbf{A} + \delta^2 \mathbf{I}) \mathbf{x} = \|\mathbf{A}\mathbf{x}\|_2^2 + \delta^2 \|\mathbf{x}\|_2^2 > 0

因此这个正则化问题总能给出唯一解

增广最小二乘的视角

这个问题还有一个非常重要的等价写法

minx[AδI]x[b0]22\min_{\mathbf{x}} \left\| \begin{bmatrix} \mathbf{A} \\ \delta \mathbf{I} \end{bmatrix} \mathbf{x} - \begin{bmatrix} \mathbf{b} \\ \mathbf{0} \end{bmatrix} \right\|_2^2

因为展开后就是

[Axbδx]22=Axb22+δ2x22\left\| \begin{bmatrix} \mathbf{A}\mathbf{x} - \mathbf{b} \\ \delta \mathbf{x} \end{bmatrix} \right\|_2^2 = \|\mathbf{A}\mathbf{x} - \mathbf{b}\|_2^2 + \delta^2 \|\mathbf{x}\|_2^2

这说明 Tikhonov regularization 可以看成一个 augmented least squares

但要注意,这并不是说我们真的在解一个新的精确方程组

[AδI]x=[b0]\begin{bmatrix} \mathbf{A} \\ \delta \mathbf{I} \end{bmatrix} \mathbf{x} = \begin{bmatrix} \mathbf{b} \\ \mathbf{0} \end{bmatrix}

而是说:我们把 “带正则项的最小二乘” 改写成了一个 “普通最小二乘” 的形式

这个视角很有价值,因为它表明正则化并不是一个完全陌生的新问题,而只是把约束编码进了一个更大的 least squares 问题里

一个 1 × 1 的标量例子

先看最简单的情形,设

A=[σ]\mathbf{A} = [\sigma]

此时问题退化为

minx(σxb)2+δ2x2\min_x (\sigma x - b)^2 + \delta^2 x^2

xx 求导并令其为 00

2σ(σxb)+2δ2x=02\sigma(\sigma x - b) + 2\delta^2 x = 0

整理得到

(σ2+δ2)x=σb(\sigma^2 + \delta^2)x = \sigma b

所以

xδ=σσ2+δ2bx_\delta = \frac{\sigma}{\sigma^2 + \delta^2} b

如果没有正则化,而是直接求逆(即 δ=0\delta = 0),那么我们得到的是

x=bσx = \frac{b}{\sigma}

σ\sigma 很小时,这个量会变得很大,非常不稳定

而加入正则化之后,分母里多了一个 δ2\delta^2,于是即使 σ\sigma 很小,解也不会轻易爆掉

这个一维例子很重要,因为它已经把 Tikhonov regularization 的本质完整表现出来了:它不是简单地 “除以 σ\sigma”,而是把这个过程替换成一个更平滑、更稳定的缩放

而一般矩阵的情形,本质上就是把这个标量结论沿着每个奇异值方向分别做一遍

SVD 视角下的统一表达

A=UΣV\mathbf{A} = \mathbf{U}\mathbf{\Sigma}\mathbf{V}^\top

AA=VΣΣV\mathbf{A}^\top \mathbf{A} = \mathbf{V}\mathbf{\Sigma}^\top \mathbf{\Sigma}\mathbf{V}^\top

因此

AA+δ2I=V(ΣΣ+δ2I)V\mathbf{A}^\top \mathbf{A} + \delta^2 \mathbf{I} = \mathbf{V} (\mathbf{\Sigma}^\top \mathbf{\Sigma} + \delta^2 \mathbf{I}) \mathbf{V}^\top

于是正则化解

xδ=(AA+δ2I)1Ab\mathbf{x}_\delta = (\mathbf{A}^\top \mathbf{A} + \delta^2 \mathbf{I})^{-1}\mathbf{A}^\top \mathbf{b}

可以写成

xδ=V(ΣΣ+δ2I)1ΣUb\mathbf{x}_\delta = \mathbf{V} (\mathbf{\Sigma}^\top \mathbf{\Sigma} + \delta^2 \mathbf{I})^{-1} \mathbf{\Sigma}^\top \mathbf{U}^\top \mathbf{b}

由于

ΣΣ\mathbf{\Sigma}^\top \mathbf{\Sigma}

是对角矩阵,所以中间这一块实际上只是在逐个奇异值方向上做缩放

如果 σ1,σ2,,σr\sigma_1, \sigma_2, \dots, \sigma_rA\mathbf{A} 的非零奇异值,那么对应系数就是

σiσi2+δ2\frac{\sigma_i}{\sigma_i^2 + \delta^2}

因此

xδ=Vdiag(σ1σ12+δ2,,σrσr2+δ2,0,,0)Ub\mathbf{x}_\delta = \mathbf{V} \operatorname{diag} \left( \frac{\sigma_1}{\sigma_1^2 + \delta^2}, \dots, \frac{\sigma_r}{\sigma_r^2 + \delta^2}, 0, \dots, 0 \right) \mathbf{U}^\top \mathbf{b}

这个系数

σiσi2+δ2\frac{\sigma_i}{\sigma_i^2 + \delta^2}

常被称为 filter factor

它说明:

  • σi\sigma_i 较大时,这个系数接近 1/σi1 / \sigma_i,与伪逆的行为很接近 (相乘等于 1)
  • σi\sigma_i 较小时,这个系数会明显变小,从而压制不稳定方向

所以 Tikhonov regularization 本质上是在每个奇异值方向上引入一个平滑的滤波机制

为什么小奇异值方向最危险

要理解这一点,先把 b\mathbf{b} 展开到左奇异向量基底里

b=iαiui\mathbf{b} = \sum_{i} \alpha_i \mathbf{u}_i

其中

αi=uib\alpha_i = \mathbf{u}_i^\top \mathbf{b}

那么伪逆解就是

x=iαiσivi\mathbf{x}^\dagger = \sum_i \frac{\alpha_i}{\sigma_i} \mathbf{v}_i

问题立刻就暴露出来了:如果某个 σi\sigma_i 很小,那么即使 αi\alpha_i 只是一个很小的分量,

αiσi\frac{\alpha_i}{\sigma_i}

也可能被放大成一个很大的数

而真实数据往往不是完全精确的,我们通常更接近于观察到

b=btrue+e\mathbf{b} = \mathbf{b}_{\text{true}} + \mathbf{e}

其中 e\mathbf{e} 是噪声

若把噪声也写成

e=iβiui\mathbf{e} = \sum_i \beta_i \mathbf{u}_i

那么伪逆对噪声的作用就是

Ae=iβiσivi\mathbf{A}^\dagger \mathbf{e} = \sum_i \frac{\beta_i}{\sigma_i} \mathbf{v}_i

因此,小奇异值方向危险的根源就在这里: 在逆问题里,它们对应的是 “要除以很小的数” 的方向,所以噪声会被巨大放大

Tikhonov regularization 把这个放大因子

1σi\frac{1}{\sigma_i}

替换成了

σiσi2+δ2\frac{\sigma_i}{\sigma_i^2 + \delta^2}

σiδ\sigma_i \ll \delta 时,

σiσi2+δ2σiδ2\frac{\sigma_i}{\sigma_i^2 + \delta^2} \approx \frac{\sigma_i}{\delta^2}

这已经不再是一个会爆炸的量了

所以它的作用可以概括为:

  • 对稳定的大奇异值方向,基本保留
  • 对危险的小奇异值方向,主动抑制

它和伪逆是什么关系

现在再回头看前面的 filter factor

σiσi2+δ2\frac{\sigma_i}{\sigma_i^2 + \delta^2}

δ0\delta \to 0 时,有

σiσi2+δ2{1σi,σi>00,σi=0\frac{\sigma_i}{\sigma_i^2 + \delta^2} \to \begin{cases} \dfrac{1}{\sigma_i}, & \sigma_i > 0 \\ 0, & \sigma_i = 0 \end{cases}

这正好就是伪逆对奇异值的处理方式

因此

xδAb(δ0)\mathbf{x}_\delta \to \mathbf{A}^\dagger \mathbf{b} \qquad (\delta \to 0)

这句话非常关键,因为它说明 Tikhonov regularization 并不是和伪逆无关的另一个公式,而是伪逆解的一个 稳定化版本

从这个角度看:

  • 伪逆 是把正则化强度一路减到 00 后的极限形式
  • regularization 是在真正求解时更稳健的形式

这也解释了为什么在 病态问题秩亏问题含噪数据 中,我们常常更愿意先求正则化解,而不是直接把伪逆公式硬套到底

Ridge 和 LASSO 的一个简短对照

从更一般的正则化视角看,Tikhonov regularization 其实就是最经典的 Ridge 形式,也就是在最小二乘后面加一个 2\ell^2 惩罚项

普通最小二乘是

minxAxb22\min_{\mathbf{x}} \|\mathbf{A}\mathbf{x} - \mathbf{b}\|_2^2

Ridge 是

minxAxb22+λx22\min_{\mathbf{x}} \|\mathbf{A}\mathbf{x} - \mathbf{b}\|_2^2 + \lambda \|\mathbf{x}\|_2^2

LASSO 则把正则项换成了 1\ell^1 范数

minxAxb22+λx1\min_{\mathbf{x}} \|\mathbf{A}\mathbf{x} - \mathbf{b}\|_2^2 + \lambda \|\mathbf{x}\|_1

其中

x1=ixi\|\mathbf{x}\|_1 = \sum_i |x_i|

这三者的共同点是:都在试图平衡

  • 对数据的拟合
  • 对解复杂度的控制

RidgeLASSO 的行为差别非常明显

  • Ridge 使用 2\ell^2 惩罚,倾向于把所有系数整体缩小,但通常不会把某个分量精确压到 00
  • LASSO 使用 1\ell^1 惩罚,更容易把某些分量直接压成 00,因此会产生 稀疏 sparse

这也是为什么 LASSO 常被说成会自动做 feature selection:如果 x\mathbf{x} 的每个分量对应一个特征权重,那么很多权重可能被直接压成 00,于是这些特征等于被模型主动丢弃

从几何上看,这种差别来自于两种范数的形状不同:2\ell^2 的等值线是圆滑的,而 1\ell^1 的等值线带有尖角,所以最优点更容易落在坐标轴上

因此可以把二者粗略记成

  • Ridge:更像整体收缩
  • LASSO:更像稀疏化

还有一个重要区别是:本章讨论的 Ridge / Tikhonov regularization 可以写出显式解

x=(AA+λI)1Ab\mathbf{x} = (\mathbf{A}^\top \mathbf{A} + \lambda \mathbf{I})^{-1}\mathbf{A}^\top \mathbf{b}

LASSO 一般没有这么简单的闭式解,因为 x1\|\mathbf{x}\|_100 处不可导,所以通常要借助数值优化方法来求,例如 coordinate descentproximal gradientsoft-thresholding

因此,在本章的语境里可以这样理解:

  • Ridge / Tikhonov 主要解决的是稳定性与小奇异值放大问题
  • LASSO 更强调稀疏性、可解释性,以及从很多候选特征里自动筛选出少数真正重要的分量

小结

伪逆告诉我们最小二乘与最小范数在统一意义下的解是什么,而 Tikhonov regularization 则进一步回答了:当这个解不稳定时,我们应该如何把它改造成一个更可靠的版本

它通过在目标函数中加入

δ2x22\delta^2 \|\mathbf{x}\|_2^2

来抑制过大的解,并在 SVD 的每个奇异值方向上用 filter factor 压制小奇异值带来的噪声放大

因此可以认为:伪逆是极限形式,regularization 是稳定形式,而 δ\delta 控制的正是拟合精度与稳定性之间的权衡