楼层: 小学/ 初中/ 高中/ 大学/SVD 与四个基本子空间:矩阵的骨架/ 研究生/ 算法/ 奥数
14

SVD 与四个基本子空间:矩阵的骨架

Four Fundamental Subspaces · 奇异值分解 Singular Value Decomposition
上一章把"空间"抽象出来了,这一章就问一个最具体的问题:矩阵 $A$ 到底把空间搬到了哪?答案是四个子空间——列空间、零空间、行空间、左零空间,它们把输入空间和输出空间各切成两半。从这里出发,你会看懂为什么 $Ax=b$ 常常无解、最小二乘在做什么,最后抵达线性代数里最有用的那把刀:SVD。下一章的特征值,其实是 SVD 在方阵、且输入输出共用同一组基时的特例。
①
四个子空间

输入输出各切两半

②
无解怎么办

投影与最小二乘

③
SVD

旋转—拉伸—旋转

④
低秩逼近

压缩、降维、LoRA

【开场场景】你手机里一张 $1024\times1024$ 的照片要发出去,体积太大。可如果对它做一次奇异值分解(SVD)、只保留前 $50$ 个奇异值,图片肉眼几乎没变化,占用的数字却只剩原来的十分之一。为什么丢掉 $95\%$ 的信息,图还在?因为真实图像的"有效秩"很低——大部分奇异值小到可以忽略。同一个道理,正在被拿去微调一个 70 亿参数的大模型:LoRA 只在低秩子空间里动刀,就能学到几乎全部的效果。这一章就是这些技术的共同底座。

① 是什么:四个基本子空间

啥输入输出各被切成两半

设 $A$ 是 $m\times n$ 的矩阵,秩为 $r$。它联系着四个子空间:

① 列空间 $C(A)$:$A$ 的各列张成的空间,住在 $\mathbb{R}^{m}$ 里,维数 $r$。大白话:$Ax$ 能到达的所有地方。

② 零空间 $N(A)$:满足 $Ax=0$ 的 $x$ 构成的集合,住在 $\mathbb{R}^{n}$ 里,维数 $n-r$。大白话:被 $A$ 一巴掌拍成零的那些输入。

③ 行空间 $C(A^{\top})$:$A$ 的各行张成的空间,住在 $\mathbb{R}^{n}$ 里,维数也是 $r$。

④ 左零空间 $N(A^{\top})$:满足 $A^{\top}y=0$ 的 $y$ 构成的空间,住在 $\mathbb{R}^{m}$ 里,维数 $m-r$。

最关键的一张图(Strang 的那张):行空间与零空间正交且互补,把整个输入空间 $\mathbb{R}^{n}$ 一分为二;列空间与左零空间正交且互补,把整个输出空间 $\mathbb{R}^{m}$ 一分为二。

② 怎么想到的

思解题心法:先问"够得着吗"

1

拿到 $Ax=b$,先判可达性。$b$ 在 $C(A)$ 里才有解;不在,就无解——这是绝大多数真实数据的常态(方程个数远多于未知数)。

2

无解就改成"最接近"。把 $b$ 垂直投影到 $C(A)$ 上得到 $p$,去解 $A\hat{x}=p$。这就是最小二乘的全部思想。

3

要压缩、要降维,就找主方向。SVD 把 $A$ 拆成 $\sum_i\sigma_iu_iv_i^{\top}$,按 $\sigma_i$ 从大到小保留前 $k$ 项,就是最优的低秩逼近。

4

工程直觉:奇异值掉得越快,说明数据越"有结构"、越能压;掉得很平,说明数据接近噪声。

证SVD 与四个基本子空间的核心定理与公式

核心定理:①维数关系:$\dim C(A)=\dim C(A^{\top})=r$,$\dim N(A)=n-r$,$\dim N(A^{\top})=m-r$。②正交配对:$C(A)\perp N(A^{\top})$,$C(A^{\top})\perp N(A)$,即 $N(A)=C(A^{\top})^{\perp}$。③SVD 的存在性:任意矩阵都可写成 $A=U\Sigma V^{\top}$,$U$、$V$ 为正交矩阵,$\Sigma$ 为对角型(对角元 $\sigma_1\geq\sigma_2\geq\cdots\geq\sigma_r>0$)。④Eckart–Young 定理:截断到前 $k$ 项 $A_k=\sum_{i=1}^{k}\sigma_iu_iv_i^{\top}$ 是 $A$ 在谱范数与 Frobenius 范数下的最优秩 $k$ 逼近,误差 $\|A-A_k\|_2=\sigma_{k+1}$。⑤伪逆:$A^{+}=V\Sigma^{+}U^{\top}$,列满秩时化为 $A^{+}=(A^{\top}A)^{-1}A^{\top}$。

推导思路(最小二乘的正规方程):①$Ax=b$ 无解,意味着 $b\notin C(A)$。退一步:找 $\hat{x}$,使 $A\hat{x}$ 等于 $b$ 在列空间上的正交投影 $p$。②此时残差 $b-A\hat{x}$ 必须垂直于整个 $C(A)$,也就是垂直于 $A$ 的每一列 $a_j$,即 $a_j^{\top}(b-A\hat{x})=0$。③把 $m$ 个列并起来成矩阵,这 $n$ 个等式合起来就是 $A^{\top}(b-A\hat{x})=0$。④展开得 $A^{\top}A\hat{x}=A^{\top}b$,此即正规方程;当 $A$ 列满秩时 $A^{\top}A$ 可逆,解为 $\hat{x}=(A^{\top}A)^{-1}A^{\top}b$,而 $(A^{\top}A)^{-1}A^{\top}$ 正是伪逆 $A^{+}$ 此时的具体形态。

直觉把握:四个子空间讲的是"一台机器的吞吐图"——行空间是能被吃进去的原料方向,零空间是被白白磨掉的原料,列空间是真正能产出成品的方向,左零空间是"怎么配都配不出来的成品"。最小二乘就是"够不着的目标,就取够得着的里面最近的那个"。SVD 则说:任何线性变换,无论多复杂,都只是转一下 → 沿坐标轴拉伸 → 再转回来三步而已;$\sigma_i$ 就是各方向的拉伸倍数,接近 $0$ 的方向就是可以扔掉的方向。

③ 完整解法:三个例题

例题1:写出 $A=\begin{pmatrix}1 & 2\\ 2 & 4\end{pmatrix}$ 的四个基本子空间
【审题】两行成比例,先判秩。
思路:秩 = 独立列数,其余按维数公式补齐。
逐步解法:第二列是第一列的 $2$ 倍,故 $r=1$。①$C(A)=\mathrm{span}\{(1,2)^{\top}\}$,维数 $1$。②$N(A)$:由 $x_1+2x_2=0$ 得方向 $(-2,1)^{\top}$,维数 $2-1=1$。③$C(A^{\top})$:行空间同样是 $\mathrm{span}\{(1,2)^{\top}\}$(本例 $A$ 对称),维数 $1$。④$N(A^{\top})=\mathrm{span}\{(-2,1)^{\top}\}$,维数 $2-1=1$。可以看到:$C(A^{\top})$ 与 $N(A)$ 确实互相垂直。
例题2:用最小二乘拟合三个点 $(1,1)$、$(2,2)$、$(3,2)$
【审题】三点不共线,直线 $y=c_0+c_1t$ 不可能穿过全部点,方程无解。
思路:写 $A\hat{x}\approx b$,套正规方程 $A^{\top}A\hat{x}=A^{\top}b$。
逐步解法:①$A=\begin{pmatrix}1 & 1\\ 1 & 2\\ 1 & 3\end{pmatrix}$,$b=(1,2,2)^{\top}$。②$A^{\top}A=\begin{pmatrix}3 & 6\\ 6 & 14\end{pmatrix}$,$A^{\top}b=(5,11)^{\top}$。③解方程组得 $\hat{x}=\left(\frac{2}{3},\ \frac{1}{2}\right)^{\top}$。④拟合直线 $y=\frac{2}{3}+\frac{1}{2}t$。它在"竖直方向误差平方和"意义下最优——这正是最小二乘的名字来源。
例题3:算一算 SVD 图像压缩到底省了多少
【审题】$1024\times1024$ 灰度图,截断到秩 $k=50$。
思路:比较"原始要存的数"与"低秩形式要存的数"。
逐步解法:①原始:$mn=1024\times1024=1048576$ 个数。②秩 $k$ 形式只需存 $U_k$ 的 $m\times k$、$\Sigma_k$ 的 $k$ 个奇异值、$V_k$ 的 $n\times k$,合计 $k(m+n+1)$。③代入 $k=50$:$50\times(1024+1024+1)=102450$。④压缩后占比 $\frac{102450}{1048576}\approx9.8\%$,约省掉九成存储,而人眼几乎看不出差别——因为图像的大奇异值集中在极少数方向。
SVD 与子空间速查 维数:$\dim C(A)=r$,$\dim N(A)=n-r$,$\dim N(A^{\top})=m-r$ | 正交:$N(A)=C(A^{\top})^{\perp}$
最小二乘:$A^{\top}A\hat{x}=A^{\top}b$ | 伪逆:$A^{+}=V\Sigma^{+}U^{\top}$ | 列满秩时 $A^{+}=(A^{\top}A)^{-1}A^{\top}$
SVD:$A=U\Sigma V^{\top}=\sum_{i=1}^{r}\sigma_i\,u_i\,v_i^{\top}$ | 最优秩 $k$ 逼近:$A_k=\sum_{i=1}^{k}\sigma_i\,u_i\,v_i^{\top}$,误差 $\sigma_{k+1}$

④ 用途与案例

图像压缩

把灰度图当矩阵做 SVD,只留前 $k$ 个奇异值。存储量从 $mn$ 降到 $k(m+n+1)$。$1024\times1024$ 取 $k=50$ 时约占 $9.8\%$。JPEG 用的是分块 DCT(思路同源),而 SVD 给出的是整图意义下的最优低秩逼近。

潜在语义分析 LSI

把词-文档共现矩阵 $X\in\mathbb{R}^{M\times D}$ 做 SVD 并截断到 $k$,则 $U_k\Sigma_k$ 的每一行就是一个词的 $k$ 维"主题坐标"。于是"汽车"和"轿车"虽从未共现,向量却很近——一词多义、一义多词的问题被低秩投影抹平了。这是早期搜索引擎的核心技术,也是现代 embedding 的思想祖先。

LLM 的 LoRA 低秩微调

冻结预训练权重 $W_0\in\mathbb{R}^{d\times k}$,只训练一个低秩增量 $\Delta W=BA$,其中 $B\in\mathbb{R}^{d\times r}$、$A\in\mathbb{R}^{r\times k}$,$r\ll\min(d,k)$。可训练参数从 $dk$ 降到 $r(d+k)$:$d=k=4096$、$r=8$ 时从约 $1.68\times10^{7}$ 降到 $65536$,仅 $0.39\%$。LoRA 本质上就是在赌"微调带来的权重变化是低秩的",而 SVD 正是检验与构造这种低秩结构的标准工具。

推荐系统与 PCA

用户-物品评分矩阵极其稀疏,做低秩分解就是在补"隐因子"——这正是 Netflix Prize 时代的主旋律。而 PCA 不过是"对中心化后的数据矩阵做 SVD,取右奇异向量当主方向",两者是同一件事的两种说法。

⑤ 延展

展知识衔接地图

往研究生走:SVD 推广到无穷维就是泛函分析里的紧算子谱分解;积分算子、格林函数都能这样展开。

往 AI 走:本章的知识是三条主干道的交汇点——压缩(模型剪枝、量化前的低秩分解)、降维(PCA、embedding 可视化)、高效微调(LoRA、AdaLoRA、频谱微调)。另外,用 SVD 初始化线性层、或用谱范数做正则,都是训练大模型时的常见操作。

思维陷阱

以为 $\Sigma$ 一定是方阵。$A$ 是 $m\times n$ 时 $\Sigma$ 也是 $m\times n$ 的"对角型"长方阵,只有 $A$ 是方阵时它才是对角方阵。

把奇异值当成特征值。奇异值是 $A^{\top}A$(或 $AA^{\top}$)特征值的算术平方根,恒为非负;特征值可以是负数、复数,只对方阵有定义。

以为 SVD 唯一。奇异值(含重数)是唯一的,但 $U$、$V$ 的列在重奇异值处可以任意旋转、还可同时取反号,$u_iv_i^{\top}$ 不变。

以为低秩逼近一定"看起来更好"。Eckart–Young 保证的是范数意义下最优,不等于人眼或下游任务最优。图像压狠了会出现块状伪影,就是这个道理。

练习

【基础】设 $A$ 是 $5\times3$ 的矩阵且秩为 $2$,写出四个基本子空间各自的维数,以及它们各住在哪个空间里。

查看思路与解答$m=5$、$n=3$、$r=2$。列空间 $C(A)\subset\mathbb{R}^{5}$,维数 $r=2$;零空间 $N(A)\subset\mathbb{R}^{3}$,维数 $n-r=1$;行空间 $C(A^{\top})\subset\mathbb{R}^{3}$,维数 $2$;左零空间 $N(A^{\top})\subset\mathbb{R}^{5}$,维数 $m-r=3$。自检:$2+3=5$(输出空间被分完),$2+1=3$(输入空间被分完)。
做对了?继续下一题。
卡住了?回到本章「① 是什么」那张维数对照表再顺一遍。

【进阶】为什么 $Ax=b$ 在 $m>n$(方程比未知数多)时经常无解?此时最小二乘给出的 $\hat{x}$ 满足什么方程?

查看思路与解答$m>n$ 时列空间 $C(A)$ 至多是 $\mathbb{R}^{m}$ 里的一个 $n$ 维子空间,而 $b$ 是 $\mathbb{R}^{m}$ 里的任意向量,几乎必然落在这个子空间之外,故无解。打个比方:三维空间里让你只用两个方向去拼出任意一个点,绝大多数点拼不出来。此时改求投影,$\hat{x}$ 满足正规方程 $A^{\top}A\hat{x}=A^{\top}b$,其几何含义是残差 $b-A\hat{x}$ 垂直于列空间。
做对了?继续下一题。
卡住了?回到本章 deep-dive 里正规方程的四步推导。

【挑战】证明 $N(A)=C(A^{\top})^{\perp}$,并说明为什么由此可得 $\mathbb{R}^{n}=C(A^{\top})\oplus N(A)$。

查看思路与解答①若 $x\in N(A)$,则 $Ax=0$,即 $A$ 的每一行与 $x$ 的内积都是 $0$,所以 $x$ 垂直于所有行向量,也就是 $x\perp C(A^{\top})$。②反过来,若 $x\perp C(A^{\top})$,则 $x$ 与每一行内积为 $0$,把这些内积堆起来正是 $Ax$,故 $Ax=0$,即 $x\in N(A)$。③两边互相包含,故 $N(A)=C(A^{\top})^{\perp}$。④维数上 $r+(n-r)=n$,且正交补的交集只有零向量,所以两者直和铺满 $\mathbb{R}^{n}$。这条结论的含义很漂亮:任何输入都能唯一拆成"真正起作用的部分"(行空间)和"被吃掉的部分"(零空间),二者垂直、互不干扰。
做对了?很好,你已经把 Strang 那张图讲清楚了。
卡住了?关键在第①步:把 $Ax=0$ 逐行读成"每一行与 $x$ 内积为零"。
费曼学习法:讲给别人听
合上书,给一个完全不懂的人讲清楚「SVD 与四个基本子空间」
  1. 用自己的话讲:矩阵把输入空间和输出空间各切成两半;SVD 说任何变换都是"转—拉伸—转"三步,拉伸倍数小的方向可以扔掉。
  2. 举个反例(什么条件下不成立):低秩逼近在范数下最优,不等于人眼看着最优;$\Sigma$ 也不总是方阵。
  3. 哪里还说不清:奇异值和特征值到底差在哪?为什么 $A^{\top}A$ 会把两者联系起来?
记
小结卡

① 四个子空间:列空间与行空间维数都是 $r$,零空间 $n-r$,左零空间 $m-r$。

② 无解就用投影:正规方程 $A^{\top}A\hat{x}=A^{\top}b$,残差垂直于列空间。

③ $A=U\Sigma V^{\top}$:旋转—拉伸—旋转;$\sigma_i$ 是各方向的拉伸倍数。

④ 留前 $k$ 个奇异值就是最优低秩逼近,误差 $\sigma_{k+1}$——图像压缩、LSI、LoRA 全靠这一条。