上一篇我们学到了特征分解 A=QΛQ−1——它揭示了方阵的”天然坐标系”,在特征基下线性变换退化为逐方向缩放。但特征分解有两个根本限制:第一,它只适用于方阵;第二,即使是方阵,也不一定能对角化。
现实中的数据矩阵几乎都是长方形的——用户-物品评分表(10万 × 5万)、词-文档矩阵(3万 × 100万)、图像批次(1000 × 784)。我们需要一个能处理任意 m×n 矩阵的分解工具,而且希望它总是存在、不需要附加条件。
奇异值分解(Singular Value Decomposition, SVD)正是这个工具。它是 ML 中使用最广泛的矩阵分解——Netflix Prize 的协同过滤、搜索引擎的潜在语义分析(LSI)、图像压缩、降噪、PCA,背后都是 SVD 或其变体。如果只学一种矩阵分解,学这个。
SVD 的核心思想可以一句话概括:
任何矩阵都可以分解为”旋转 → 拉伸 → 旋转”三步。
下面我们从几何直觉出发,经由严格推导,深入理解这个”核心中的核心”。
几何直觉:任何线性变换 = 旋转 → 拉伸 → 旋转
从特征分解的局限出发
回忆特征分解的几何含义:A=QΛQ−1 表示变换 A 可以分解为”换基 → 逐方向缩放 → 换回来”三步。对于对称矩阵,Q 是正交矩阵(旋转),所以分解变成”旋转 → 缩放 → 反旋转”。
但一般矩阵不是方阵,也不一定对称。一个 m×n 矩阵把 Rn 中的向量映射到 Rm 中——输入空间和输出空间甚至可以是不同维度的!特征分解的框架无法处理这种情况。
SVD 的几何图像
SVD 的关键洞察是:即使输入空间和输出空间维度不同,我们仍然可以找到两组正交基,使得变换在这两组基下变成最简单的形式。
具体来说,对任意 A∈Rm×n:
A=UΣVT
这个等式的几何含义是:将 A 作用在向量 x 上的过程 Ax 分解为三步:
- VT(在输入空间旋转):将 x 从标准基转换到输入空间的一组特殊正交基。V 是 n×n 正交矩阵。
- Σ(沿坐标轴拉伸,可能改变维度):在新坐标下,每个分量独立缩放。Σ 是 m×n 的”对角”矩阵(只有 σ1,σ2,… 在主对角线上,其余为零)。
- U(在输出空间旋转):将拉伸后的向量从输出空间的特殊基转换回标准基。U 是 m×m 正交矩阵。
下图展示了 SVD 的几何图像——A 把输入空间的单位圆映射为输出空间的椭圆,奇异值 σi 就是椭圆的半轴长度:
与特征分解的对比:
| 特征分解 QΛQ−1 | SVD UΣVT |
|---|
| 适用范围 | 方阵,且需可对角化 | 任意 m×n 矩阵 |
| 基的数量 | 一组基 Q | 两组基 U(输出空间)和 V(输入空间) |
| 正交性 | 一般不保证(对称矩阵才正交) | 总是正交 |
| 存在性 | 不一定存在 | 总是存在 |
| 缩放因子 | 特征值 λi(可为负/复数) | 奇异值 σi≥0(非负实数) |
严格定义与存在性证明
SVD 定理
定理(奇异值分解):设 A∈Rm×n 是任意实矩阵(不要求方阵、不要求满秩、不要求任何特殊结构),则存在:
- 正交矩阵 U∈Rm×m(UTU=UUT=Im)
- 正交矩阵 V∈Rn×n(VTV=VVT=In)
- “对角”矩阵 Σ∈Rm×n,其中 Σii=σi≥0,Σij=0(i=j),且 σ1≥σ2≥⋯≥σmin(m,n)≥0
使得:
SVD 核心公式(适用于任意 m×n 矩阵)
A=UΣVT=∑i=1rσiuiviT
σi≥0 且 σ1≥σ2≥⋯;r=rank(A) = 非零奇异值个数。
其中:
- σ1,σ2,…,σr(r=rank(A))是 A 的正奇异值(positive singular values),σr+1=⋯=σmin(m,n)=0
- U 的列 u1,…,um 称为 A 的左奇异向量(left singular vectors)
- V 的列 v1,…,vn 称为 A 的右奇异向量(right singular vectors)
逐项理解各因子
让我们仔细审视每个因子的维度、性质和含义。
V∈Rn×n(右奇异向量矩阵):
- n×n 正交矩阵,列向量 v1,…,vn 构成 Rn(输入空间)的一组标准正交基
- 这些向量是 ATA 的特征向量(后面会推导)
- 几何含义:VT 把输入空间旋转到”SVD 坐标系”,在这个坐标系下 A 的作用最简单
Σ∈Rm×n(奇异值矩阵):
- m×n 矩阵,只有主对角线上有非零元素 σ1≥σ2≥⋯≥0
- 如果 m>n:Σ=[diag(σ1,…,σn)0(m−n)×n],底部补零行
- 如果 m<n:Σ=[diag(σ1,…,σm)0m×(n−m)],右侧补零列
- 如果 m=n:Σ 就是普通的对角矩阵
- 每个 σi 衡量矩阵 A 在第 i 个方向上的”拉伸强度”
- 奇异值总是非负实数——这与特征值可以是负数或复数截然不同
U∈Rm×m(左奇异向量矩阵):
- m×m 正交矩阵,列向量 u1,…,um 构成 Rm(输出空间)的一组标准正交基
- 这些向量是 AAT 的特征向量
- 几何含义:U 把拉伸后的坐标旋转到输出空间的标准基
Σ 如何”选出”有效部分? 回忆矩阵乘法的基本规则:Ax 是 A 的列向量的线性组合——右乘作用于列。对角矩阵是最简单的情况:左乘缩放行,右乘缩放列(“左行右列”)。在 A=UΣVT 中:
- UΣ(Σ 右乘 U):σj 缩放 U 的第 j 列。当 j>r 时 σj=0,这些列被”消灭”→ 只有 U 的前 r 列存活
- ΣVT(Σ 左乘 VT):σi 缩放 VT 的第 i 行。当 i>r 时 σi=0,这些行被”消灭”→ 只有 VT 的前 r 行存活
这就是上面图中彩色和灰色区域的含义:Σ 中的零奇异值自动屏蔽了 U 和 VT 中的多余方向,只留下 rank r 个有效分量参与乘积。
与 ML 数据矩阵的对应:当 A=X∈Rm×n 是数据矩阵(m 个样本、n 个特征)时,V 的列向量是特征空间 Rn 中的方向,U 的列向量是样本空间 Rm 中的方向。这就是 Art. 1a 向量空间几何 中提到的两个投影空间的区别:PCA 选取 V 的前 k 列作为投影方向(在特征空间中降维),而最小二乘的投影矩阵 UUT 则作用在样本空间中。同一个 SVD 同时给出了两个空间的最优基。
观察:ATA 与 AAT 这对孪生矩阵
在直接写出 SVD 的证明之前,让我们先观察两个与 A 密切相关的矩阵——它们的性质会自然地把我们引向 SVD。
给定任意 A∈Rm×n,考虑:
| ATA | AAT |
|---|
| 维度 | n×n(输入空间) | m×m(输出空间) |
| 对称性 | (ATA)T=ATA ✓ | (AAT)T=AAT ✓ |
| 半正定性 | xT(ATA)x=∥Ax∥2≥0 ✓ | yT(AAT)y=∥ATy∥2≥0 ✓ |
两者都是对称半正定的!由谱定理,它们各自可以正交对角化——特征值全部 ≥0,特征向量构成正交基。
发现:它们共享非零特征值
这对孪生矩阵有一个惊人的性质。设 ATAvi=λivi(λi>0),两边左乘 A:
A(ATA)vi=λi(Avi)⟹(AAT)(Avi)=λi(Avi)
Avi 是 AAT 的特征向量,特征值恰好也是 λi!反过来同理——AAT 的特征向量左乘 AT 后变成 ATA 的特征向量。
结论:ATA 和 AAT 的非零特征值完全相同。记这些共享的非零特征值为 σ12≥σ22≥⋯≥σr2>0(取平方根得 σi),r=rank(A)。
到这里,我们手上已经有了三样东西:
- V:ATA 的正交特征向量(输入空间的一组正交基)
- U:AAT 的正交特征向量(输出空间的一组正交基)
- σi:两者共享的特征值的平方根
追问:A 在 V 基下的行为是什么?
{v1,…,vn} 是 Rn 的正交基。线性映射由它在一组基上的行为完全决定——搞清楚 Avi 等于什么,就搞清楚了 A 的一切。
对每个 vi,我们已经知道两件事:
长度已知:由范数定义 ∥x∥2=xTx,取 x=Avi,再代入特征值关系 ATAvi=σi2vi:
∥Avi∥2=viTATAvi=viT(σi2vi)=σi2=1viTvi=σi2
所以 ∥Avi∥=σi。
方向已知:上一节证明了 Avi 是 AAT 的特征向量。归一化后记为 ui。
两者合在一起:
Avi=σiui
这不是猜想,是直接从已有结论推出的。A 把输入空间的第 i 个特征方向 vi 映射到输出空间的第 i 个特征方向 ui,拉伸倍数 = σi。
拼出 A=UΣVT
Avi=σiui 对每个 i 都成立。把这 n 个等式排成矩阵的列:AV 的第 i 列是 Avi,UΣ 的第 i 列是 σiui,逐列相等即 AV=UΣ。V 是正交矩阵,右乘 VT:
A=UΣVT
SVD 不是”碰巧维度对得上”的拼凑——它是 A 在 V 基下行为的自然表达。
但要使这个推导严格,还需验证 {ui} 确实构成正交归一基。
严格验证
第一步:从 ATA 出发,做谱定理分解。
ATA=VΛ^VT,λ^1≥⋯≥λ^r>0=λ^r+1=⋯=λ^n
得到右奇异向量 v1,…,vn 和奇异值 σi=λ^i。
第二步:定义 ui=σi1Avi(σi>0),验证归一化和正交性。
∥ui∥2=σi21viTATAvi=σi2σi2=1✓
uiTuj=σiσj1viTATAvj=σiσjviTvj=0(i=j)✓
对 σi=0 的那些方向(i>r),vi∈null(A),A 把它们映射到零向量。补充 ur+1,…,um 为 null(AT) 中的任意正交基即可。
第三步:Avi=σiui 对所有 i 成立(i>r 时两边都是零),即 AV=UΣ,右乘 VT:
A=UΣVT■
猜想成立。SVD 的存在性就这样从 ATA 和 AAT 的对称性中自然地流出来了。
总结:SVD = 两次特征分解的打包
SVD ↔ 特征分解的桥梁
| 矩阵 | 特征值 | 特征向量 |
|---|
| ATA | n×n 对称半正定 | σ12,…,σn2 | 右奇异向量 V |
| AAT | m×m 对称半正定 | σ12,…,σm2 | 左奇异向量 U |
对称矩阵的 SVD 退化为谱定理(U=V=Q,Σ=∣Λ∣)。
核心联系:SVD 本质上是两次特征分解——ATA 的特征分解给出右奇异向量和奇异值,AAT 的特征分解给出左奇异向量和(相同的)奇异值。A 本身提供配对约束 Avi=σiui,将两组特征向量一一对应。
这也解释了两个关键等式:Avi=σiui 已在构造中直接使用;反向等式 ATui=σivi 可以一步验证:ATui=AT⋅σi1Avi=σi1ATAvi=σiσi2vi=σivi。它们不是”额外的公式”,而是整个构造的核心:A 把输入空间的特征方向映射到输出空间,AT 把输出空间映射回输入空间,σi 是双向的拉伸倍数。
紧凑 SVD 与外积展开
紧凑形式(compact/thin SVD)
在实际计算中,当 m≫n(或 n≫m)时,完整 SVD 中的 U 矩阵(m×m)可能非常大。紧凑 SVD(也叫 thin SVD 或 reduced SVD)只保留有意义的部分:
A=UrΣrVrT
其中 r=rank(A),Ur∈Rm×r(只取前 r 列),Σr∈Rr×r(只保留正奇异值),Vr∈Rn×r(只取前 r 列)。
这是 A 的精确分解(没有丢失信息),但存储从 m2+mn+n2 降到 r(m+n+1)。对低秩矩阵(r≪min(m,n)),节省巨大。
外积展开形式
SVD 的另一个重要形式是把矩阵写成秩一矩阵的加权和:
A=∑i=1rσiuiviT
其中每个 uiviT∈Rm×n 是一个秩一矩阵(外积),σi 是对应的权重。
逐项理解:
- uiviT 是 ui(m 维列向量)与 viT(n 维行向量)的外积,结果是 m×n 矩阵,秩为 1
- σi 衡量这个秩一成分的”重要性”——σ1≥σ2≥⋯,第一个成分最重要
- 求和 r 项恰好重建出完整的矩阵 A
这个形式与谱分解(A=∑iλiqiqiT)直接类比,但适用于任意矩阵——不要求方阵,也不要求对称。
数值例子:手算 3×2 矩阵的 SVD
让我们对一个小矩阵完整计算 SVD 过程。取:
A=101110
A 是 3×2 矩阵(m=3,n=2)。
第一步:计算 ATA
ATA=[110110]101110=[1+0+11+0+01+0+01+1+0]=[2112]
第二步:求 ATA 的特征值(= 奇异值的平方)
特征方程:
det[2−λ112−λ]=(2−λ)2−1=λ2−4λ+3=0
(λ−3)(λ−1)=0⟹λ^1=3,λ^2=1
奇异值:
σ1=3,σ2=1=1
第三步:求右奇异向量 V(ATA 的特征向量)
对 λ^1=3:
(ATA−3I)v1=[−111−1]v1=0⟹v11=v12
取单位化:v1=21[11]
对 λ^2=1:
(ATA−I)v2=[1111]v2=0⟹v21=−v22
取单位化:v2=21[1−1]
验证正交性:v1Tv2=21(1⋅1+1⋅(−1))=0 ✓
V=21[111−1]
第四步:求左奇异向量 U
利用公式 ui=σi1Avi:
u1=31Av1=3110111021[11]=61211
u2=11Av2=10111021[1−1]=210−11
验证:u1Tu2=621(2⋅0+1⋅(−1)+1⋅1)=0 ✓,∥u1∥=4+1+1/6=1 ✓,∥u2∥=0+1+1/2=1 ✓
因为 m=3>n=2,U 需要一个额外列 u3 使其成为 3×3 正交矩阵。u3 必须与 u1,u2 都正交。通过叉积(或 Gram-Schmidt)可得:
u3=311−1−1
验证:u1Tu3=631(2−1−1)=0 ✓,u2Tu3=231(0+1−1)=0 ✓
第五步:组装并验证
U=62616102−121313−13−1,Σ=300010,V=21[111−1]
验证 UΣVT=A:
UΣ=62616102−121313−13−1300010=623636302−121=2212102−121
(UΣ)VT=2212102−12121[111−1]=101110=A✓
第六步:截断 SVD 演示
取 k=1(只保留最大的奇异值 σ1=3):
A1=σ1u1v1T=3⋅61211⋅21[11]=21211211=10.50.510.50.5
这是 A 的最佳秩一近似。原始 A 的第二行 [0,1] 和第三行 [1,0] 被”平均”为 [0.5,0.5]——秩一近似只能捕捉到两列有同等强度的信号,丢失了它们的差异。
信息保留比例:σ12+σ22σ12=3+13=75%。
截断 SVD 与 Eckart-Young 定理
截断 SVD:最佳低秩近似
在许多应用中,我们不需要完整重建 A——只需要一个低秩近似 Ak(rank(Ak)=k<r),使得 Ak 尽可能接近 A。截断 SVD 给出了这个近似:
Ak=∑i=1kσiuiviT=UkΣkVkT
其中 Uk∈Rm×k、Σk∈Rk×k、Vk∈Rn×k 分别是 U、Σ、V 的前 k 列(和前 k 个奇异值)。
直觉上,σ1≥σ2≥⋯ 从大到小排列,前几个奇异值往往集中了矩阵的大部分”能量”。截断 SVD 保留最重要的 k 个成分,丢弃剩余的小分量——这些小分量往往对应噪声或不重要的细节。
投影视角:Ak 还可以理解为 A 到子空间的投影。利用 Uk 和 Vk 各自列正交的性质:
Ak=UkΣkVkT=Uk(UkTA)=(AVk)VkT
- UkUkTA(投影矩阵左乘):按”左行右列”,左乘作用于列——把 A 的每一列(Rm 中的向量)投影到 Uk 张成的输出子空间,只保留前 k 个左奇异方向的分量
- AVkVkT(投影矩阵右乘):右乘作用于行——把 A 的每一行(Rn 中的向量)投影到 Vk 张成的输入子空间,只保留前 k 个右奇异方向的分量
从输出空间切和从输入空间切,得到的是同一个 Ak——截断 SVD 同时是两个方向上的最佳投影。这个视角在 随机化 SVD 中会直接用到:只要找到一个正交基 Q 近似 Uk 的列空间,QQTA 就近似 Ak。
但为什么截断 SVD 是”最佳”的? 是否存在其他秩 k 的矩阵比 Ak 更接近 A?Eckart-Young 定理给出了否定的回答。
Eckart-Young-Mirsky 定理
Eckart-Young 定理:截断 SVD 是最优 rank-k 近似
minrank(B)≤k∥A−B∥F=σk+12+⋯+σr2,minrank(B)≤k∥A−B∥2=σk+1
信息保留率:∑i=1rσi2∑i=1kσi2×100%
其中 Frobenius 范数 ∥M∥F=∑ijMij2 衡量所有元素的总体误差,spectral 范数 ∥M∥2=σ1(M)(M 的最大奇异值)衡量最大方向上的误差。
注:Frobenius 范数和 spectral 范数的严格定义将在 Art. 4 范数与条件数中详细展开。这里只需要知道它们是衡量矩阵”大小”的两种方式,分别对应”均方误差”和”最坏方向误差”。
逐项理解这个定理:
- minrank(B)≤k:在所有秩不超过 k 的 m×n 矩阵中搜索
- ∥A−B∥:衡量近似 B 与原矩阵 A 的距离
- 结论:无论用什么方法构造秩 k 矩阵,都不可能比截断 SVD 做得更好
- 误差量化:误差恰好等于被丢弃的奇异值(Frobenius 范数下取平方和开根号,spectral 范数下取最大的被丢弃奇异值 σk+1)
为什么最优?(Frobenius 范数的证明思路)
利用 SVD 外积展开,A=∑i=1rσiuiviT,以及 Frobenius 范数的一个重要性质:∥A∥F2=∑i=1rσi2(即 Frobenius 范数的平方等于所有奇异值的平方和——这将在 Art. 4 中证明)。
对任意秩 k 矩阵 B,设 B 的列空间为 W(dimW≤k),则 B 的列空间的正交补 W⊥ 的维度至少为 m−k。而 span{u1,…,uk+1} 的维度为 k+1。由维度计数,W⊥ 与 span{u1,…,uk+1} 必有非零交集。取这个交集中的单位向量 w,因为 w∈W⊥,所以 BTw=0,从而:
∥A−B∥F2≥∥(A−B)w∥2=∥Aw∥2
而因为 w∈span{u1,…,uk+1},写 w=∑i=1k+1ciui(∑ci2=1),则 ATw=∑i=1k+1ciσivi,所以:
∥Aw∥2=∥ATw∥2=∑i=1k+1ci2σi2≥σk+12∑i=1k+1ci2=σk+12
更精细的分析(对所有 r−k 个被丢弃方向求和)可以得到 ∥A−B∥F2≥σk+12+⋯+σr2。而 Ak 恰好达到这个下界:
∥A−Ak∥F2=∑i=k+1rσiuiviTF2=∑i=k+1rσi2
因此 Ak 是最优的。■
信息保留与截断误差
Eckart-Young 定理直接给出了截断 SVD 的”信息保留百分比”——用奇异值能量比衡量:
信息保留=∑i=1rσi2∑i=1kσi2×100%
分子是保留的奇异值的平方和,分母是全部奇异值的平方和(等于 ∥A∥F2)。
实际中,许多数据矩阵的奇异值衰减很快——前几个奇异值贡献了大部分能量,剩余的奇异值很小。这意味着用远小于满秩的 k 就能保留 95%+ 的信息。这正是 SVD 用于压缩和降噪的原理。
用下面的交互组件亲手体验:拖动滑块调整截断秩 k,观察重建图像的质量变化和信息保留百分比。
8 / 32
存储参数
8(32+32+1) = 520 / 1024
拖动滑块观察:少数几个最大奇异值就能重建图像的大部分信息。这就是截断 SVD 用于压缩和降噪的原理。
伪逆与最小二乘
Moore-Penrose 伪逆
对于方阵,如果 A 可逆,我们可以求 A−1 来解方程 Ax=b。但如果 A 不是方阵,或者虽然是方阵但不可逆(奇异),怎么办?
SVD 提供了一个优雅的解决方案:Moore-Penrose 伪逆(pseudoinverse),记为 A+。
定义:设 A=UΣVT 是 A 的 SVD,则 A 的伪逆为:
A+=VΣ+UT
其中 Σ+ 是 Σ 的伪逆——将 Σ 中每个非零对角元素取倒数,零元素保持为零,然后转置:
Σ=σ1⋱σr0⋱m×n⟹Σ+=1/σ1⋱1/σr0⋱n×m
注意 Σ+ 的维度是 n×m(转置了 Σ 的维度),所以 A+∈Rn×m。
Penrose 条件
A+ 是满足以下四个条件(Penrose conditions)的唯一矩阵:
- AA+A=A(A+ 是 A 的广义逆)
- A+AA+=A+(A 是 A+ 的广义逆)
- (AA+)T=AA+(AA+ 是对称的——正交投影到 A 的列空间)
- (A+A)T=A+A(A+A 是对称的——正交投影到 A 的行空间)
这四个条件保证了伪逆的唯一性和良好的几何性质。(详见 Wikipedia, Moore-Penrose inverse)
伪逆与最小二乘
为什么伪逆重要?因为它给出了线性方程组 Ax=b 的”最优”解:
x+=A+b
具体来说,x+=A+b 是以下问题的解:
在所有使 ∥Ax−b∥2 最小的 x 中,找范数 ∥x∥2 最小的那个。
这正是最小二乘问题(least squares)的最小范数解。分三种情况理解:
| 情况 | 方程数 vs 未知数 | Ax=b 的解 | A+b 的作用 |
|---|
| 超定(m>n,方程多于未知数) | 通常无精确解 | 找使 ∥Ax−b∥2 最小的 x | 最小二乘解 |
| 欠定(m<n,未知数多于方程) | 无穷多解 | 在所有解中找 ∥x∥ 最小的 | 最小范数解 |
| 恰定且满秩(m=n,A 可逆) | 唯一解 A−1b | A+=A−1,退化为普通逆 | |
与投影解法的关系
最小二乘有另一种经典推导——正交投影。理解两种方法的联系,能让伪逆的几何含义更加清晰。
投影视角:b 不一定在 A 的列空间 Col(A) 中。Ax 能取到的最接近 b 的点,是 b 到 Col(A) 的正交投影 b^。正交条件 AT(b−Ax)=0 给出法方程(normal equation):
ATAx=ATb
当 A 列满秩时(rank(A)=n,即列线性无关),ATA 是 n×n 可逆矩阵,法方程有唯一解:
xLS=(ATA)−1ATb
这个 (ATA)−1AT 就是列满秩时的左伪逆。可以验证它等于 A+=VΣ+UT(把 A=UΣVT 代入展开即可——V(ΣTΣ)−1ΣTUT=VΣ+UT)。此时投影解法和伪逆给出完全相同的答案。
当 A 不是列满秩时(rank(A)<n),ATA 奇异,法方程有无穷多解——有无穷多个 x 都能让 Ax 等于那个投影 b^。原因在零空间 null(A) 中:如果 x0 是一个解,那么 x0+z(z∈null(A))也是解,因为 Az=0 不改变残差。
注意这不是两种方法”给出不同答案”——投影解法正确地找到了最优残差,只是它给出的是一个解集而非单个解。伪逆在这个解集里做了关键的第二步选择:选 ∥x∥ 最小的那个。几何上,x+=A+b 完全在行空间 Row(A)=null(A)⊥ 中——它没有在零空间方向上浪费任何”长度”,是到达 b^ 的最短路径。
总结两者的关系:
| 投影 / 法方程 | 伪逆 |
|---|
| 解决什么 | 输出空间最优:∥Ax−b∥ 最小 | 输出最优 + 输入空间也最优:∥x∥ 最小 |
| 列满秩时 | (ATA)−1ATb = 唯一解 | A+b = 同一个解 |
| 列不满秩时 | 法方程有无穷多解 | A+b 在其中选范数最小的 |
| 适用范围 | 需要 ATA 的结构(实际计算中常用 QR 分解代替) | 任意矩阵,通过 SVD 直接给出 |
伪逆的应用
伪逆不只是一个理论工具——它在 ML 和工程中频繁出现:
线性回归:经典最小二乘回归 β^=(XTX)−1XTy 就是 X+y。当特征矩阵 X 存在多重共线性(XTX 接近奇异)时,直接求逆会导致数值爆炸,而 SVD 伪逆通过截断小奇异值自然地实现了正则化——这就是截断 SVD 回归(truncated SVD regression / TSVD)。
控制与机器人学:机器人的运动学方程 v=J(θ)θ˙ 将关节速度映射到末端速度。求解”给定目标末端速度 v∗,关节应该怎么动?“就是 θ˙=J+v∗。冗余机器人(关节数 > 自由度)的 Jacobian J 是欠定的,伪逆给出能量最小的关节运动。
信号恢复:在压缩感知、图像重建等逆问题中,观测模型 y=Ax+n(A 是观测矩阵,n 是噪声),A+y 是最小范数重建的起点。更精细的方法(如 LASSO、迭代收缩)在此基础上加入正则化。
神经网络分析:在理解线性网络(f(x)=WL⋯W1x)的泛化性质时,梯度下降隐式地偏好低 nuclear norm 的解——即倾向于找到低秩的端到端矩阵(Gunasekar et al., 2017, Implicit Regularization in Matrix Factorization)。这与伪逆给出最小 ℓ2 范数解的思路一脉相承:两者都揭示了”在多个解中自动选最’简洁’的那个”这一主题。
“求解”操作的归属:回顾 Art. 1 分解概述 中六类矩阵操作,“求解 Ax=b“是其中之一。通过伪逆 A+=VΣ+UT,这个操作被SVD 完全覆盖——SVD 不仅能分解矩阵、近似矩阵,还能”求解”方程。
数值例子:伪逆
沿用前面的 A=101110(3×2,超定),其 SVD 已知。
A+=VΣ+UT
Σ+=[1/300100]
计算 A+(2×3 矩阵):
A+=VΣ+UT=21[111−1][3100100]UT
直接代入可得(读者可以验证):
A+=31[11−122−1]
验证 Penrose 条件中的第一个:AA+A=31101110[11−122−1]101110。
AA+=3121112−11−12
AA+A=3121112−11−12101110=31303330=101110=A✓
CUR 分解:可解释的替代方案
SVD 的一个实际不便是:U 和 V 的列是原始数据的线性组合——它们通常没有直观的物理含义。例如,在用户-物品矩阵的 SVD 中,u1 可能是所有用户评分的某种加权组合,但你无法指着它说”这代表某个具体的用户群体”。
CUR 分解(Mahoney & Drineas, 2009)提供了一个可解释性更好的替代:它从原始矩阵 A 中选取实际的列(C)和行(R),用一个小的链接矩阵 U 将它们组合起来:
A≈C⋅UCUR⋅R
其中 C∈Rm×c 是 A 的 c 个实际列,R∈Rr′×n 是 A 的 r′ 个实际行,UCUR∈Rc×r′ 是一个小的链接矩阵。
优势:C 和 R 保持了原始数据的稀疏性和可解释性——你可以说”这个近似基于这些具体的用户和这些具体的物品”。
代价:Eckart-Young 定理告诉我们,在同等秩下,SVD 是最优的。CUR 分解的近似质量一定不如截断 SVD。这是可解释性与最优性之间的 trade-off。
CUR 在需要解释性的场景(如推荐系统中向用户解释推荐原因)比 SVD 更合适,但在纯粹追求近似精度的场景(如降噪、压缩)中 SVD 仍然是首选。
总结与展望
本文建立了整条路径最核心的工具——奇异值分解。回顾关键要点:
- SVD 对任意矩阵都存在:A=UΣVT,没有方阵、对称、可逆等限制条件
- 几何含义:任何线性变换 = 输入空间旋转(VT)→ 逐方向拉伸(Σ)→ 输出空间旋转(U)
- 与特征分解的关系:奇异值是 ATA 特征值的平方根,SVD 本质上是两次特征分解
- Eckart-Young 定理:截断 SVD 是最佳低秩近似——在 Frobenius 和 spectral 范数下都无可超越
- 外积展开 A=∑iσiuiviT 将矩阵表示为按重要性排序的秩一成分之和
- 伪逆 A+=VΣ+UT 统一处理了超定、欠定、奇异方程组,覆盖了”求解”操作
SVD 是后续几乎所有文章的数学基础。从下一篇开始,我们将学习如何衡量这些近似的质量——矩阵范数与条件数将给出精确的度量工具,让我们能定量回答”截断到秩 k 丢失了多少信息”这个问题。