最小二乘法 (Least Squares) 深度几何解析:从投影矩阵到正规方程 | 线代拾遗

简述有限元系列等工程应用中,我们经常遇到“方程多于未知数”的超定方程组。此时,最小二乘法(Least Squares)不仅是一种数据拟合的计算技巧,更展示了线性代数中四个基本子空间之间优美的几何关系。

今天,我们暂时忘掉枯燥的公式背诵,试着从几何的视角,把这个经典的算法“看”清楚。


一、 尴尬的现实:当 Ax=bAx=b 无解时

我们先面对一个线性代数中最常见的问题场景。考虑线性方程组:

Ax=b \mathbf{A}\boldsymbol{x} = \boldsymbol{b}

其中 ARm×n\mathbf{A} \in \mathbb{R}^{m \times n} 为系数矩阵(通常 m>nm > n,即方程个数多于未知数个数),bRm\boldsymbol{b} \in \mathbb{R}^m 为观测数据。

列空间(Column Space)的角度看,方程组有解的充要条件是:向量 b\boldsymbol{b} 必须躺在矩阵 A\mathbf{A} 的列向量张成的空间里,即 bC(A)\boldsymbol{b} \in C(\mathbf{A})

但是,现实很骨感。 由于测量误差、噪声干扰,我们的观测数据 b\boldsymbol{b} 往往会“溢出”这个完美的理论空间 C(A)C(\mathbf{A})。这时候,方程组就无解了。

我们不能两手一摊说“没算出来”,而是要退而求其次: 既然找不到精确解,能不能找到一个“最佳近似解” x^\hat{\boldsymbol{x}}

所谓“最佳”,就是让预测值 Ax^\mathbf{A}\hat{\boldsymbol{x}} 和观测值 b\boldsymbol{b} 靠得最近,即让误差(残差)向量的长度平方最小(二范数):

minxAxb2 \min_{\boldsymbol{x}} \lVert \mathbf{A}\boldsymbol{x} - \boldsymbol{b} \rVert ^2

二、 几何视角:正交性原理与正规方程

这是理解最小二乘法最性感的方式。请闭上眼想象: 在 mm 维空间中,C(A)C(\mathbf{A}) 是一个平坦的 nn 维超平面。而你的观测向量 b\boldsymbol{b} 像一根刺一样斜指在平面之外。

直觉告诉你: 在这个平面上,哪个点距离 b\boldsymbol{b} 最近?毫无疑问,就是 b\boldsymbol{b} 在平面上的垂直投影(Orthogonal Projection)。

1. 误差向量与正交性

我们将这个投影点记为 p=Ax^\boldsymbol{p} = \mathbf{A}\hat{\boldsymbol{x}}。 此时,残差向量 e\boldsymbol{e} 连接着 b\boldsymbol{b}p\boldsymbol{p}

e=bAx \boldsymbol{e} = \boldsymbol{b} - \mathbf{A}\boldsymbol{x}

当距离最短时,e\boldsymbol{e} 必须垂直于整个平面 C(A)C(\mathbf{A})。这意味着,e\boldsymbol{e} 必须垂直于 A\mathbf{A} 的每一个列向量。

A=[α1,α2,,αn]\mathbf{A} = [\boldsymbol{\alpha}_1, \boldsymbol{\alpha}_2, \cdots, \boldsymbol{\alpha}_n],则有:

αiTe=0, i=1,,n \boldsymbol{\alpha}_i^\mathsf{T} \boldsymbol{e} = 0, \quad \forall\ i = 1, \cdots, n

把这些式子打包成矩阵形式,就是 A\mathbf{A} 的转置与 e\boldsymbol{e} 的乘积为零向量:

ATe=0 \mathbf{A}^\mathsf{T} \boldsymbol{e} = \mathbf{0}

2. 推导正规方程 (Normal Equations)

现在,我们将 e=bAx^\boldsymbol{e} = \boldsymbol{b} - \boldsymbol{A} \hat{\boldsymbol{x}} 代入上面的正交条件:

AT(bAx^)=0 \mathbf{A}^\mathsf{T} (\boldsymbol{b} - \mathbf{A}\hat{\boldsymbol{x}}) = \mathbf{0}

展开括号,把含 x^ \hat{\boldsymbol{x}} 的项移到左边,就得到了大名鼎鼎的正规方程

ATAx^=ATb \mathbf{A}^\mathsf{T}\mathbf{A} \hat{\boldsymbol{x}} = \mathbf{A}^\mathsf{T}\boldsymbol{b}

结论:不管 Ax=b\mathbf{A}\boldsymbol{x}=\boldsymbol{b} 有没有解,正规方程总是成立的! 如果 A\mathbf{A} 是列满秩的(Rank = nn),那么 ATA\mathbf{A}^\mathsf{T}\mathbf{A} 就是可逆的,我们直接得到了唯一的最小二乘解:

x^=(ATA)1ATb \hat{\boldsymbol{x}} = (\mathbf{A}^\mathsf{T}\mathbf{A})^{-1}\mathbf{A}^\mathsf{T}\boldsymbol{b}

三、 微积分视角:为什么计算上是求导?

为什么“计算上看是求导”呢?这其实回归了问题的本源:极值问题。 我们的目标是最小化误差平方和函数 L(x)L(\boldsymbol{x})

L(x)=Axb2=(Axb)T(Axb) L(\boldsymbol{x}) = \|\mathbf{A}\boldsymbol{x} - \boldsymbol{b}\|^2 = (\mathbf{A}\boldsymbol{x} - \boldsymbol{b})^\mathsf{T}(\mathbf{A}\boldsymbol{x} - \boldsymbol{b})

展开这个二次型:

L(x)=xTATAxxTATbbTAx+bTb L(\boldsymbol{x}) = \boldsymbol{x}^\mathsf{T}\mathbf{A}^\mathsf{T}\mathbf{A}\boldsymbol{x} - \boldsymbol{x}^\mathsf{T}\mathbf{A}^\mathsf{T}\boldsymbol{b} - \boldsymbol{b}^\mathsf{T}\mathbf{A}\boldsymbol{x} + \boldsymbol{b}^\mathsf{T}\boldsymbol{b}

注意 \boldsymbol{x}^\boldsymbol{T}\mathbf{A}^\boldsymbol{T}\boldsymbol{b} 是一个标量,它的转置等于它自己,即 \boldsymbol{b}^\boldsymbol{T}\mathbf{A}\boldsymbol{x}。所以中间两项可以合并:

L(x)=xTATAx2ATbx+bTb L(\boldsymbol{x}) = \boldsymbol{x}^\mathsf{T}\mathbf{A}^\mathsf{T}\mathbf{A}\boldsymbol{x} - 2\mathbf{A}^\mathsf{T}\boldsymbol{b} \cdot \boldsymbol{x} + \boldsymbol{b}^\mathsf{T}\boldsymbol{b}

这就相当于一个关于向量 x\boldsymbol{x} 的二次函数 ax22bx+cax^2 - 2bx + c。要求极小值,我们对 x\boldsymbol{x} 求梯度(导数)并令其为 0:

Lx=2ATAx2ATb=0 \frac{\partial L}{\partial \boldsymbol{x}} = 2\mathbf{A}^\mathsf{T}\mathbf{A}\boldsymbol{x} - 2\mathbf{A}^\mathsf{T}\boldsymbol{b} = \mathbf{0}

看!约去系数 2,我们再次得到了正规方程

ATAx=ATb \mathbf{A}^\mathsf{T}\mathbf{A}\boldsymbol{x} = \mathbf{A}^\mathsf{T}\boldsymbol{b}

这证明了:几何上的正交投影点,正是多元函数微积分意义下的极值点。


四、 严格证明:为什么正规方程的解就是最小值?

几何直观和微积分推导都很美妙,但作为严谨的理工科学生,我们还需要用代数语言确认:这个解真的对应全局最小值吗?(不仅仅是驻点)

命题:设 x^ \hat{\boldsymbol{x}} 是正规方程 ATAx=ATb\mathbf{A}^\mathsf{T}\mathbf{A}\boldsymbol{x} = \mathbf{A}^\mathsf{T}\boldsymbol{b} 的解,则对于任意 xRn\boldsymbol{x} \in \mathbb{R}^n,均有 AxbAx^b\|\mathbf{A}\boldsymbol{x} - \boldsymbol{b}\| \ge \|\mathbf{A} \hat{\boldsymbol{x}} - \boldsymbol{b}\|

证明思路(勾股定理的推广):

  1. 构造残差:令 e=Ax^b\boldsymbol{e} = \boldsymbol{A} \hat{\boldsymbol{x}} - \boldsymbol{b}。 由正规方程可知 AT(Ax^b)=0\mathbf{A}^\mathsf{T}(\mathbf{A} \hat{\boldsymbol{x}} - \boldsymbol{b}) = \mathbf{0},即 ATboldsymbole=0\mathbf{A}^\mathsf{T}\\boldsymbol{e} = \mathbf{0}。 翻译成人话:误差向量 e\boldsymbol{e} 垂直于 A\boldsymbol{A} 的列空间,即 eC(A)\boldsymbol{e} \in C(\mathbf{A})^\perp

  2. 正交分解:对于任意其他的 x\boldsymbol{x},我们来看看它的误差向量 Axb\boldsymbol{A}\boldsymbol{x} - \boldsymbol{b}。我们玩一个“加一项减一项”的把戏:

    Axb=AxAx^+Ax^b=A(xx^)+e \begin{aligned} \mathbf{A}\boldsymbol{x} - \boldsymbol{b} &= \mathbf{A}\boldsymbol{x} - \mathbf{A} \hat{\boldsymbol{x}} + \mathbf{A} \hat{\boldsymbol{x}} - \boldsymbol{b} \\\\ &= \mathbf{A}(\boldsymbol{x} - \hat{\boldsymbol{x}}) + \boldsymbol{e} \end{aligned}
  3. 应用勾股定理

    • 第一部分 A(xx^)\boldsymbol{A}(\boldsymbol{x} - \boldsymbol{ \hat{x}}) 显然还在列空间 C(A)C(\mathbf{A}) 里。
    • 第二部分 e\boldsymbol{e} 在左零空间 C(A)C(\mathbf{A})^\perp 里。 它们互相垂直!根据勾股定理(即向量内积为0): Axb2=A(xx^)2+e2 \|\mathbf{A}\boldsymbol{x} - \boldsymbol{b}\|^2 = \|\mathbf{A}(\boldsymbol{x} - \hat{\boldsymbol{x}})\|^2 + \|\boldsymbol{e}\|^2
  4. 一锤定音: 显然,模长的平方 A(xx^)20\|\mathbf{A}(\boldsymbol{x} - \hat{\boldsymbol{x}})\|^2 \ge 0 恒成立。 因此:

    Axb2e2=Ax^b2 \|\mathbf{A}\boldsymbol{x} - \boldsymbol{b}\|^2 \ge \|\boldsymbol{e}\|^2 = \|\mathbf{A} \hat{\boldsymbol{x}} - \boldsymbol{b}\|^2

    当且仅当 A(xx^)=0\boldsymbol{A}(\boldsymbol{x} - \boldsymbol{ \hat{x}}) = \boldsymbol{0} 时等号成立。如果 A\boldsymbol{A} 列满秩,这就意味着 x=x^\boldsymbol{x} = \boldsymbol{ \hat{x}}

证毕。 这一步证明确保了我们的几何直觉是绝对可靠的。


五、 算子视角:投影矩阵 (Projection Matrix)

既然我们找到了那个“影子” p=Ax^\boldsymbol{p} = \boldsymbol{A} \hat{\boldsymbol{x}},我们能不能直接找到一个矩阵 P\boldsymbol{P},使得对于任意向量 b\boldsymbol{b},乘以它就能直接得到投影?

将解 x^=(ATA)1ATb \hat{\boldsymbol{x}} = (\mathbf{A}^\mathsf{T}\mathbf{A})^{-1}\mathbf{A}^\mathsf{T}\boldsymbol{b} 代入 p=Ax^\boldsymbol{p} = \boldsymbol{A} \hat{\boldsymbol{x}}

p=A(ATA)1ATb \boldsymbol{p} = \boldsymbol{A}(\mathbf{A}^\mathsf{T}\mathbf{A})^{-1}\mathbf{A}^\mathsf{T}\boldsymbol{b}

你看,前面这一坨矩阵,就是 we 梦寐以求的正交投影矩阵 P\boldsymbol{P}

P=A(ATA)1AT \boldsymbol{P} = \boldsymbol{A}(\mathbf{A}^\mathsf{T}\mathbf{A})^{-1}\mathbf{A}^\mathsf{T}

正交投影矩阵的两个“身份证”

怎么判断一个矩阵是不是正交投影矩阵?看它是否满足两个性质:

  1. 幂等性 (Idempotent)P2=P\boldsymbol{P}^2 = \boldsymbol{P}直觉:如果你已经把一个向量投影到平面上了,再投影一次,它应该还在原地,不会动了。
  2. 对称性 (Symmetric)PT=P\boldsymbol{P}^\mathsf{T} = \boldsymbol{P}数学细节:因为 (ATA)(\mathbf{A}^\mathsf{T}\mathbf{A}) 是对称阵,它的逆也是对称阵,所以整个 P\boldsymbol{P} 也是对称的。

互补的艺术

既然 P\boldsymbol{P} 负责把向量投影到 C(A)C(\mathbf{A}) 上,那么 IP\boldsymbol{I} - \boldsymbol{P} 是干什么的?

回忆一下 e=bp=(IP)b\boldsymbol{e} = \boldsymbol{b} - \boldsymbol{p} = (\boldsymbol{I} - \boldsymbol{P})\boldsymbol{b}。 因为 e\boldsymbol{e} 垂直于列空间,所以 IP\boldsymbol{I} - \boldsymbol{P} 是把向量投影到 A\boldsymbol{A}左零空间N(AT)N(\boldsymbol{A}^\mathsf{T}))里。

这完美印证了线性代数基本定理:

Rm=C(A)N(AT) \mathbb{R}^m = C(\mathbf{A}) \oplus N(\mathbf{A}^\mathsf{T})

任意向量 b\boldsymbol{b} 都可以唯一分解为一个在列空间的分量 p\boldsymbol{p} 和一个在左零空间的分量 e\boldsymbol{e}


六、 总结

最小二乘法并不是一种“凑合”的计算方法,它蕴含着深刻的几何智慧。

最小二乘法的心法:

「几何上看是投影,代数上看是正交,计算上看是求导。」

  1. 正规方程 ATAx=ATb\mathbf{A}^\mathsf{T}\mathbf{A}\boldsymbol{x} = \mathbf{A}^\mathsf{T}\boldsymbol{b} 是它的代数核心
  2. 正交性 eC(A)\boldsymbol{e} \perp C(\mathbf{A}) 是它的几何灵魂
  3. 投影矩阵 P\boldsymbol{P} 是它的算子表达

掌握了这三点,当你下次面对一堆杂乱无章的数据点时,你看到的就不再是无解的方程,而是那个优雅地投射在子空间上的“完美的影子”。