我们在这里介绍线性方程以及一种用于表示它们的标准形式Ax=y,其中x∈Rn为未知变量,A∈Rm,n为系数矩阵,y∈Rm为已知向量。实际上,求解一组线性方程 Ax=y的问题也可以解释为一个优化问题,即相对于x最小化∥Ax−y∥2
1. 动机和示例
如前面的例子所示,通用的线性方程可以用向量形式表示为
Ax=y
其中x∈Rn为未知变量,A∈Rm,n为系数矩阵,y∈Rm为已知向量。
我们预期,根据A和y的大小和性质,上述系统可能没有解,或者有唯一解,或者有无限多种可能的解。在后一种情况下,解的集合实际上构成Rn的一个子空间;在第一种情况(无解)下,我们将引入合适的近似解概念
2. 线性方程组的解集
2.1 定义与特性
线性方程组的解集定义为
S:={x∈Rn:Ax=y}
设a1,⋯,an∈Rm表示矩阵A的列,即A=[a1⋯an],注意矩阵乘积Ax只是A 的各列的线性组合,其系数由x给出
Ax=x1a1+⋯+xnan
我们回想一下,根据定义,矩阵的秩空间是由它的列生成的子空间,因此,无论x系数的值为何,向量Ax总是位于R(A)中。由此可得,每当y∈R(A)时,方程组不存在解(即它们不可行(infeasible)),因此解集S是空的。等价地,方程组有解当且仅当y∈R(A),也就是说当且仅当y是A的列的线性组合。这个条件可以通过秩检验来检查
rank([Ay])=rank(A)
假设接下来上述条件得到满足,因此存在一个解xˉ,使得y=Axˉ。接下来我们将证明解集是仿射集:注意方程组存在另一个解x=xˉ当且仅当
A(x−xˉ)=0
因此x−xˉ必须位于A的零空间N(A)中。因此方程组的所有可能解的形式为x=xˉ+z,其中z∈N(A)。也就是说,解集S是通过平移A的零空间得到的仿射集合S={x=xˉ+z:z∈N(A)}。由此也可得出,当且仅当N(A)={0},解xˉ才是唯一的
命题6.1(线性方程的解集):线性方程
Ax=y,A∈Rm,n
当且仅当rank([Ay])=rank(A)时,才有解。当满足此存在条件时,所有解的集合是仿射集合
S={x=xˉ+z:z∈N(A)}
其中xˉ是满足Axˉ=y的任何向量。特别地,如果满足方程组满足存在条件,并且 N(A)={0},则方程组有唯一解
2.2 欠定系统(underdetermined)、超定系统(overdetermined)和方阵系统
我们简要讨论线性方程组中可能出现的三种典型情况,即未知数多于方程数(欠定)、方程数多于未知数(超定)、以及方程数与未知数相等的情况。这三种情况是在假设矩阵A为满秩的前提下讨论的。对于满秩矩阵,下列定理成立(也可参见之前在Chapter 6.4.3 推论4.3中给出的等价结果)。
定理 6.1:以下两个命题成立
- 当且仅当A⊤A可逆时,矩阵A∈Rm,n才是列满秩(即rank(A)=n)
- 当且仅当AA⊤可逆时,矩阵A∈Rm,n才是行满秩(即rank(A)=m)
证明
A⊤A⪰0当且仅当半正定矩阵是可逆的,它实际上才是正定矩阵。A⊤A⪰0是正定矩阵充要条件是它为列满秩。定理中第二点的证明也遵循类似的思路
超定系统(Overdetermined systems):当系统Ax=y的方程数量多于未知数数量时,即矩阵A的行数多于列数(瘦矩阵)m>n,这个系统被称为超定系统。假设A是列满秩的,即rank(A)=n,则R(A)=Rn。由公式dimN(A)+rank(A)=n,可知dimN(A)=0,因此该系统要么有唯一解,要么无解。实际上,超定系统最常见的情况是y∈R(A),因此没有解。在这种情况下,引入近似解的概念通常是有用的,即求一个解,使某个适当的Ax与y之间的不匹配度量达到最小,如在第Section 6.3.1 节中进一步讨论的那样
欠定系统(Underdetermined systems):如果系统Ax=y中未知数多于方程数,即矩阵A的列数多于行数(宽矩阵)n>m,则称该系统为欠定系统。假设A为行满秩,即rank(A)=m,则R(A)=Rm。由公式dimN(A)+rank(A)=n,可知dimN(A)=n−m>0。因此,这个线性方程组是可解的,且具有无限多的可能解,解的集合具有n−m维。在所有可能的解中,通常感兴趣的是选出一个具有最小范数的特定解:这一问题在第Section6.3.2节中有详细讨论
方阵系统(Square systems):当方程组Ax=y的方程数量等于未知数数量时,该系统称为方阵系统,即矩阵A为方阵n=m。如果一个方阵是满秩的,那么它是可逆的,并且逆矩阵A−1是唯一的,满足A−1A=I。在满秩方阵A的情况下,线性系统的解是唯一的,形式上写作x=A−1y。然而,需要注意的是,解x很少通过实际求A−1并与y相乘来计算。有关计算非奇异线性方程组解的数值方法,请参见Section第 7.2 节
3. 最小二乘(Least-squares)和最小范数解
3.1 近似解:最小二乘法
当y∈R(A)时,线性方程组是无解的。在超定方程组的情况下,这种情况经常发生。然而,在这种情况下,确定方程组的近似解可能是有意义的,即找到一个使得残差向量r:=Ax−y尽可能“较小”的解。衡量残差大小的自然方法是使用范数:因此我们希望确定x,使得残差的范数最小化。在本节中,我们特别讨论最常见的情况,即用于衡量残差的范数选择标准欧几里得范数,此时问题变为
xmin∥Ax−y∥2
由于函数z2在z≥0时单调递增,因此之前的问题也等价于最小化欧几里得范数的平方
xmin∥Ax−y∥22
从后者表述中得出了线性方程最小二乘(least-squares,LS)解的名称,即一种使方程残差平方和最小的解
∥Ax−y∥22=i=1∑m(ai⊤x−yi)2
其中ai⊤表示A的第i行。
上述问题有一个有趣的几何解释:由于向量Ax位于R(A)中,该问题相当于确定R(A)中距离y最近的点y~=Ax。投影定理Section2.3节(定理 2.2)则告诉我们,这个点是y在子空间R(A)上的正交投影,如下图所示

因此,我们可以应用Section 定理 2.2 来找到问题的显式解,如以下命题所示
命题6.2(线性方程的最小二乘近似解):设A∈Rm,n,y∈Rm。最小二乘问题
xmin∥Ax−y∥2
至少有一个解。此外,上式的任何解x∗∈Rn都是以下线性方程组(法方程)的解
A⊤Ax∗=A⊤y
反之亦然。此外,如果A是满列秩(即rank(A)=n),则上式的解是唯一的,并且其解为
x∗=(A⊤A)−1A⊤y
证明
对于任意y∈Rm,根据定理 2.2,存在一个唯一的点y~∈R(A),其与y的距离最小,并且该点满足(y−y~)∈R(A)⊥≡N(A⊤),即
A⊤(y−y~)=0
由于y~∈R(A),因此一定存在一个x使得y~=Ax,从而证明了解的存在性。然后,将y~=Ax代入先前的正交条件,我们得到
A⊤Ax=A⊤y
最后,如果A列满秩,那么根据Section定理6.1,A⊤A是可逆的,因此唯一解的形式得证
备注6.1(法方程(Normal equations)与最优性):法方程无非就是优化问题的最优性条件
xminf(x)
其中f(x)=∥Ax−y∥22。Section 8.4 节看到的,当函数可微、凸,并且问题没有约束时,最优点由条件∇f(x)=0来表征。在我们的例子中,函数f在x处的梯度很容易看出为∇f(x)=A⊤(Ax−y)
3.2 欠定情况:最小范数解
接下来我们考虑矩阵A的列数多于行数的情况m<n。假设A是行满秩的,因此系统有无限多个解,并且解的集合为Sxˉ={x:x=xˉ+z,z∈N},其中xˉ是任意满足Axˉ=y的向量。我们感兴趣的是从解集合Sxˉ中挑选出具有最小欧几里得范数的解x∗。也就是说,我们要解决的问题是
x:Ax=ymin∥x∥2
这等价于minx∈Sxˉ∥x∥2。 可以直接应用Section推论 2.1:唯一解x∗必须与N(A)正交,或者说,x∗∈R(A⊤),这意味着x∗=A⊤ξ,对于某个合适的 ξ。由于x∗必须能解这个方程组,因此必须有Ax∗=y,即AA⊤ξ=y。由于A是行满秩的,AA⊤可逆,那么方程的唯一解为ξ=(AA⊤)−1y。最终,这给出了该方程组的唯一最小范数解
x∗=A⊤(AA⊤)−1y
之前的讨论完成了以下命题的证明
命题6.3(最小范数解):设A∈Rm,n,m≤n,且为满秩,y∈Rm。在线性方程组Ax=y的解中,存在唯一一个具有最小欧几里得范数的解。该解为
x∗=A⊤(AA⊤)−1y
3.3 最小二乘法与伪逆
对于A∈Rm,n,y∈Rm,考虑最小二乘问题
xmin∥Ax−y∥2
在假设线性方程组Ax=y存在解的前提下,这些方程组的任何解也是最小二乘问题的一个极小值点,反之,最小二乘问题的任何极小值点也是线性方程组的一个解。因此,从某种意义上说,考虑最小二乘问题比考虑线性方程组Ax=y更通用,因为即便线性方程组没有解,最小二乘问题仍然可能有解;而当解集非空时,最小二乘问题与Ax=y有相同的解集。进一步注意,当A具有非平凡零空间时,最小二乘问题会有多个(无限多个)解。实际上,最小二乘问题的所有解都是法方程A⊤Ax∗=A⊤y的解,而当且仅当N(A⊤A)=N(A)非平凡时这些方程才有多个解
在所有可能的法方程A⊤Ax∗=A⊤y的解中,我们感兴趣的是找到唯一的最小范数解(注意,由于R(A⊤A)=R(A⊤),这些方程总至少有一个解)。根据Section推论2.1,我们知道唯一的最小范数解x∗必须与N(A)正交,或者换句话说,必须属于R(A⊤)。因此,x∗由以下两个条件唯一确定
- 它必须属于R(A⊤)(满足范数最小)
- 它必须满足正规方程A⊤Ax∗=A⊤y(满足最小二乘)
我们声称,这样的解可以通过 Moore–Penrose 广义逆简单表示如下
x∗=A†y
证明
设A=UrΣVr⊤是紧凑型奇异值分解。则根据Section5.2.3 Moore-Penrose伪逆表示为A†=VrΣ−1Ur⊤,因此得到x∗=A†y=VrΣ−1Ur⊤y=Vrξ,因此x∗∈R(Vr),但是我们有R(V)r=R(A⊤),条件一可以满足
另外
A⊤Ax∗=A⊤AA†y=VrΣUr⊤UrΣVr⊤VrΣ−1Ur⊤y=VrΣUr⊤y=A⊤y
这表明条件二也得到了满足,因此x∗=A†y为最小二乘问题提供了最小范数的唯一解。总结如下推论
推论6.1(最小二乘问题的解集):最小二乘问题的最优解集
p∗=xmin∥Ax−y∥2
能够表示为
Xopt=A†y+N(A)
其中A†y是最优集合中的最小范数点。最优值p∗是y在R(A)的正交补上的投影的范数:对于x∗∈Xopt
p∗=∥y−Ax∗∥2=∥(Im−AA†)y∥2=∥PR(A)⊥y∥2
其中矩阵PR(A)⊥是投影到R(A)⊥的投影算子,参考Section5.2.4 公式 (5.12) 所定义。如果A是满列秩的,则解是唯一的,且等于
x∗=A†y=(A⊤A)−1A⊤y
3.4 最小二乘问题的解释
最小二乘问题可以根据应用背景给出多种不同解释
- 线性方程的近似解
给定一个线性方程组Ax=y,该方程组可能不可解,我们放宽要求,寻找一个近似解x,使其近似满足方程组,即Ax≈y。在最小二乘法中,近似解要求方程的残差向量r=Ax−y的欧几里得范数最小
- 投影到R(A)
给定一个点y∈Rm,最小二乘问题寻求一个系数向量x,使得A的列an,⋯,an的线性组合能够以最佳方式近似y,即在R(A)中的投影。最小二乘解x∗给出了该线性组合的最优系数,使得
y=Ax∗=x1∗a1+⋯+xn∗an
是y在由A的列所生成的子空间上的投影
- 线性回归
记 A 的行向量为αi⊤,i=1,⋯,m,则最小二乘问题可以重写为
xmini=1∑m(αi⊤x−yi)2
也就是说,给定输出点yi和输入点αi,其中i=1,⋯,m,我们试图用输入点的线性函数f(αi)=αi⊤x来近似输出点,这里的x是定义线性函数的参数
二维中的一个经典例子是用直线拟合数据。给定标量输出观测值yi∈R,和输入观测值ξi∈R,i=1,⋯,m,我们寻求一个仿射函数
f(ξ)=x1ξ+x2=a⊤x,a=[ξ1],x=[x1x2]
x1是直线的斜率,x2是与垂直轴的交点,在最小二乘意义下近似输出
xmini=1∑m(x1ξi+x2−yi)2=xmini=1∑m(a⊤x−yi)2