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}$ 一分为二。
② 怎么想到的
思解题心法:先问"够得着吗"
拿到 $Ax=b$,先判可达性。$b$ 在 $C(A)$ 里才有解;不在,就无解——这是绝大多数真实数据的常态(方程个数远多于未知数)。
无解就改成"最接近"。把 $b$ 垂直投影到 $C(A)$ 上得到 $p$,去解 $A\hat{x}=p$。这就是最小二乘的全部思想。
要压缩、要降维,就找主方向。SVD 把 $A$ 拆成 $\sum_i\sigma_iu_iv_i^{\top}$,按 $\sigma_i$ 从大到小保留前 $k$ 项,就是最优的低秩逼近。
工程直觉:奇异值掉得越快,说明数据越"有结构"、越能压;掉得很平,说明数据接近噪声。
证SVD 与四个基本子空间的核心定理与公式
推导思路(最小二乘的正规方程):①$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$ 的方向就是可以扔掉的方向。
③ 完整解法:三个例题
④ 用途与案例
图像压缩
把灰度图当矩阵做 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}$。这条结论的含义很漂亮:任何输入都能唯一拆成"真正起作用的部分"(行空间)和"被吃掉的部分"(零空间),二者垂直、互不干扰。卡住了?关键在第①步:把 $Ax=0$ 逐行读成"每一行与 $x$ 内积为零"。
- 用自己的话讲:矩阵把输入空间和输出空间各切成两半;SVD 说任何变换都是"转—拉伸—转"三步,拉伸倍数小的方向可以扔掉。
- 举个反例(什么条件下不成立):低秩逼近在范数下最优,不等于人眼看着最优;$\Sigma$ 也不总是方阵。
- 哪里还说不清:奇异值和特征值到底差在哪?为什么 $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 全靠这一条。