本站内容由 AI 生成,可能存在错误。如发现问题,欢迎到 GitHub Issues 反馈。

奇异值分解:核心中的核心

奇异值分解:核心中的核心

更新于 2026-04-23

上一篇我们学到了特征分解 A=QΛQ1A = Q\Lambda Q^{-1}——它揭示了方阵的”天然坐标系”,在特征基下线性变换退化为逐方向缩放。但特征分解有两个根本限制:第一,它只适用于方阵;第二,即使是方阵,也不一定能对角化

现实中的数据矩阵几乎都是长方形的——用户-物品评分表(10万 × 5万)、词-文档矩阵(3万 × 100万)、图像批次(1000 × 784)。我们需要一个能处理任意 m×nm \times n 矩阵的分解工具,而且希望它总是存在、不需要附加条件。

奇异值分解(Singular Value Decomposition, SVD)正是这个工具。它是 ML 中使用最广泛的矩阵分解——Netflix Prize 的协同过滤、搜索引擎的潜在语义分析(LSI)、图像压缩、降噪、PCA,背后都是 SVD 或其变体。如果只学一种矩阵分解,学这个。

SVD 的核心思想可以一句话概括:

任何矩阵都可以分解为”旋转 → 拉伸 → 旋转”三步。

下面我们从几何直觉出发,经由严格推导,深入理解这个”核心中的核心”。

几何直觉:任何线性变换 = 旋转 → 拉伸 → 旋转

从特征分解的局限出发

回忆特征分解的几何含义:A=QΛQ1A = Q\Lambda Q^{-1} 表示变换 AA 可以分解为”换基 → 逐方向缩放 → 换回来”三步。对于对称矩阵,QQ 是正交矩阵(旋转),所以分解变成”旋转 → 缩放 → 反旋转”。

但一般矩阵不是方阵,也不一定对称。一个 m×nm \times n 矩阵把 Rn\mathbb{R}^n 中的向量映射到 Rm\mathbb{R}^m 中——输入空间和输出空间甚至可以是不同维度的!特征分解的框架无法处理这种情况。

SVD 的几何图像

SVD 的关键洞察是:即使输入空间和输出空间维度不同,我们仍然可以找到两组正交基,使得变换在这两组基下变成最简单的形式。

具体来说,对任意 ARm×nA \in \mathbb{R}^{m \times n}

A=UΣVTA = U\Sigma V^T

这个等式的几何含义是:将 AA 作用在向量 x\mathbf{x} 上的过程 AxA\mathbf{x} 分解为三步:

  1. VTV^T(在输入空间旋转):将 x\mathbf{x} 从标准基转换到输入空间的一组特殊正交基。VVn×nn \times n 正交矩阵。
  2. Σ\Sigma(沿坐标轴拉伸,可能改变维度):在新坐标下,每个分量独立缩放。Σ\Sigmam×nm \times n 的”对角”矩阵(只有 σ1,σ2,\sigma_1, \sigma_2, \ldots 在主对角线上,其余为零)。
  3. UU(在输出空间旋转):将拉伸后的向量从输出空间的特殊基转换回标准基。UUm×mm \times m 正交矩阵。

下图展示了 SVD 的几何图像——AA 把输入空间的单位圆映射为输出空间的椭圆,奇异值 σi\sigma_i 就是椭圆的半轴长度:

SVD 的几何图像:单位圆 → 椭圆输入空间v₁v₂A = UΣVᵀVᵀ旋转 → Σ拉伸 → U旋转输出空间σ₁u₁σ₂u₂奇异值 σᵢ 是椭圆半轴长度,σ₁ ≥ σ₂ ≥ 0

与特征分解的对比:

特征分解 QΛQ1Q\Lambda Q^{-1}SVD UΣVTU\Sigma V^T
适用范围方阵,且需可对角化任意 m×nm \times n 矩阵
基的数量一组基 QQ两组基 UU(输出空间)和 VV(输入空间)
正交性一般不保证(对称矩阵才正交)总是正交
存在性不一定存在总是存在
缩放因子特征值 λi\lambda_i(可为负/复数)奇异值 σi0\sigma_i \geq 0(非负实数)

严格定义与存在性证明

SVD 定理

定理(奇异值分解):设 ARm×nA \in \mathbb{R}^{m \times n} 是任意实矩阵(不要求方阵、不要求满秩、不要求任何特殊结构),则存在:

  • 正交矩阵 URm×mU \in \mathbb{R}^{m \times m}UTU=UUT=ImU^TU = UU^T = I_m
  • 正交矩阵 VRn×nV \in \mathbb{R}^{n \times n}VTV=VVT=InV^TV = VV^T = I_n
  • “对角”矩阵 ΣRm×n\Sigma \in \mathbb{R}^{m \times n},其中 Σii=σi0\Sigma_{ii} = \sigma_i \geq 0Σij=0\Sigma_{ij} = 0iji \neq j),且 σ1σ2σmin(m,n)0\sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_{\min(m,n)} \geq 0

使得:

SVD 核心公式(适用于任意 m×nm \times n 矩阵)

A=UΣVT=i=1rσiuiviTA = U\Sigma V^T = \sum_{i=1}^{r} \sigma_i \mathbf{u}_i \mathbf{v}_i^T

σi0\sigma_i \geq 0σ1σ2\sigma_1 \geq \sigma_2 \geq \cdotsr=rank(A)r = \text{rank}(A) = 非零奇异值个数。

其中:

  • σ1,σ2,,σr\sigma_1, \sigma_2, \ldots, \sigma_rr=rank(A)r = \text{rank}(A))是 AA正奇异值(positive singular values),σr+1==σmin(m,n)=0\sigma_{r+1} = \cdots = \sigma_{\min(m,n)} = 0
  • UU 的列 u1,,um\mathbf{u}_1, \ldots, \mathbf{u}_m 称为 AA左奇异向量(left singular vectors)
  • VV 的列 v1,,vn\mathbf{v}_1, \ldots, \mathbf{v}_n 称为 AA右奇异向量(right singular vectors)

逐项理解各因子

A = UΣVᵀ 各因子维度A10×6=U10×10·Σ10×6·Vᵀ6×6U: 左奇异向量(输出空间正交基)Σ: 奇异值 σ₁≥σ₂≥···≥0(拉伸量)Vᵀ: 右奇异向量(输入空间正交基)关键区别:σᵢ 总是非负实数(≥0)特征值 λ 可以是负数或复数彩色区域 = rank(A) = r = 4 的有效部分;灰色 = 可被截断的零区域

让我们仔细审视每个因子的维度、性质和含义。

VRn×nV \in \mathbb{R}^{n \times n}(右奇异向量矩阵)

  • n×nn \times n 正交矩阵,列向量 v1,,vn\mathbf{v}_1, \ldots, \mathbf{v}_n 构成 Rn\mathbb{R}^n(输入空间)的一组标准正交基
  • 这些向量是 ATAA^TA 的特征向量(后面会推导)
  • 几何含义:VTV^T 把输入空间旋转到”SVD 坐标系”,在这个坐标系下 AA 的作用最简单

ΣRm×n\Sigma \in \mathbb{R}^{m \times n}(奇异值矩阵)

  • m×nm \times n 矩阵,只有主对角线上有非零元素 σ1σ20\sigma_1 \geq \sigma_2 \geq \cdots \geq 0
  • 如果 m>nm > nΣ=[diag(σ1,,σn)0(mn)×n]\Sigma = \begin{bmatrix}\text{diag}(\sigma_1, \ldots, \sigma_n) \\ \mathbf{0}_{(m-n) \times n}\end{bmatrix},底部补零行
  • 如果 m<nm < nΣ=[diag(σ1,,σm)0m×(nm)]\Sigma = \begin{bmatrix}\text{diag}(\sigma_1, \ldots, \sigma_m) & \mathbf{0}_{m \times (n-m)}\end{bmatrix},右侧补零列
  • 如果 m=nm = nΣ\Sigma 就是普通的对角矩阵
  • 每个 σi\sigma_i 衡量矩阵 AA 在第 ii 个方向上的”拉伸强度”
  • 奇异值总是非负实数——这与特征值可以是负数或复数截然不同

URm×mU \in \mathbb{R}^{m \times m}(左奇异向量矩阵)

  • m×mm \times m 正交矩阵,列向量 u1,,um\mathbf{u}_1, \ldots, \mathbf{u}_m 构成 Rm\mathbb{R}^m(输出空间)的一组标准正交基
  • 这些向量是 AATAA^T 的特征向量
  • 几何含义:UU 把拉伸后的坐标旋转到输出空间的标准基

Σ\Sigma 如何”选出”有效部分? 回忆矩阵乘法的基本规则:AxAxAA 的列向量的线性组合——右乘作用于列。对角矩阵是最简单的情况:左乘缩放行,右乘缩放列(“左行右列”)。在 A=UΣVTA = U\Sigma V^T 中:

  • UΣU\SigmaΣ\Sigma 右乘 UU):σj\sigma_j 缩放 UU 的第 jj 列。当 j>rj > rσj=0\sigma_j = 0,这些列被”消灭”→ 只有 UU 的前 rr 列存活
  • ΣVT\Sigma V^TΣ\Sigma 左乘 VTV^T):σi\sigma_i 缩放 VTV^T 的第 ii 行。当 i>ri > rσi=0\sigma_i = 0,这些行被”消灭”→ 只有 VTV^T 的前 rr 行存活

这就是上面图中彩色和灰色区域的含义:Σ\Sigma 中的零奇异值自动屏蔽了 UUVTV^T 中的多余方向,只留下 rank rr 个有效分量参与乘积。

与 ML 数据矩阵的对应:当 A=XRm×nA = X \in \mathbb{R}^{m \times n} 是数据矩阵(mm 个样本、nn 个特征)时,VV 的列向量是特征空间 Rn\mathbb{R}^n 中的方向,UU 的列向量是样本空间 Rm\mathbb{R}^m 中的方向。这就是 Art. 1a 向量空间几何 中提到的两个投影空间的区别:PCA 选取 VV 的前 kk 列作为投影方向(在特征空间中降维),而最小二乘的投影矩阵 UUTUU^T 则作用在样本空间中。同一个 SVD 同时给出了两个空间的最优基。

观察:ATAA^TAAATAA^T 这对孪生矩阵

在直接写出 SVD 的证明之前,让我们先观察两个与 AA 密切相关的矩阵——它们的性质会自然地把我们引向 SVD。

给定任意 ARm×nA \in \mathbb{R}^{m \times n},考虑:

ATAA^TAAATAA^T
维度n×nn \times n(输入空间)m×mm \times m(输出空间)
对称性(ATA)T=ATA(A^TA)^T = A^TA(AAT)T=AAT(AA^T)^T = AA^T
半正定性xT(ATA)x=Ax20\mathbf{x}^T(A^TA)\mathbf{x} = \|A\mathbf{x}\|^2 \geq 0yT(AAT)y=ATy20\mathbf{y}^T(AA^T)\mathbf{y} = \|A^T\mathbf{y}\|^2 \geq 0

两者都是对称半正定的!由谱定理,它们各自可以正交对角化——特征值全部 0\geq 0,特征向量构成正交基。

发现:它们共享非零特征值

这对孪生矩阵有一个惊人的性质。设 ATAvi=λiviA^TA\mathbf{v}_i = \lambda_i \mathbf{v}_iλi>0\lambda_i > 0),两边左乘 AA

A(ATA)vi=λi(Avi)(AAT)(Avi)=λi(Avi)A(A^TA)\mathbf{v}_i = \lambda_i (A\mathbf{v}_i) \quad \Longrightarrow \quad (AA^T)(A\mathbf{v}_i) = \lambda_i (A\mathbf{v}_i)

AviA\mathbf{v}_iAATAA^T 的特征向量,特征值恰好也是 λi\lambda_i!反过来同理——AATAA^T 的特征向量左乘 ATA^T 后变成 ATAA^TA 的特征向量。

结论ATAA^TAAATAA^T非零特征值完全相同。记这些共享的非零特征值为 σ12σ22σr2>0\sigma_1^2 \geq \sigma_2^2 \geq \cdots \geq \sigma_r^2 > 0(取平方根得 σi\sigma_i),r=rank(A)r = \text{rank}(A)

到这里,我们手上已经有了三样东西:

  • VVATAA^TA 的正交特征向量(输入空间的一组正交基)
  • UUAATAA^T 的正交特征向量(输出空间的一组正交基)
  • σi\sigma_i:两者共享的特征值的平方根

追问:AAVV 基下的行为是什么?

{v1,,vn}\{\mathbf{v}_1, \ldots, \mathbf{v}_n\}Rn\mathbb{R}^n 的正交基。线性映射由它在一组基上的行为完全决定——搞清楚 AviA\mathbf{v}_i 等于什么,就搞清楚了 AA 的一切。

对每个 vi\mathbf{v}_i,我们已经知道两件事:

长度已知:由范数定义 x2=xTx\|\mathbf{x}\|^2 = \mathbf{x}^T\mathbf{x},取 x=Avi\mathbf{x} = A\mathbf{v}_i,再代入特征值关系 ATAvi=σi2viA^TA\mathbf{v}_i = \sigma_i^2\mathbf{v}_i

Avi2=viTATAvi=viT(σi2vi)=σi2viTvi=1=σi2\|A\mathbf{v}_i\|^2 = \mathbf{v}_i^T A^TA \mathbf{v}_i = \mathbf{v}_i^T(\sigma_i^2\mathbf{v}_i) = \sigma_i^2\underbrace{\mathbf{v}_i^T\mathbf{v}_i}_{=1} = \sigma_i^2

所以 Avi=σi\|A\mathbf{v}_i\| = \sigma_i

方向已知:上一节证明了 AviA\mathbf{v}_iAATAA^T 的特征向量。归一化后记为 ui\mathbf{u}_i

两者合在一起:

Avi=σiuiA\mathbf{v}_i = \sigma_i\,\mathbf{u}_i

这不是猜想,是直接从已有结论推出的。AA 把输入空间的第 ii 个特征方向 vi\mathbf{v}_i 映射到输出空间的第 ii 个特征方向 ui\mathbf{u}_i,拉伸倍数 = σi\sigma_i

拼出 A=UΣVTA = U\Sigma V^T

SVD 的推导:从 AᵀA 的特征分解出发1构造 AᵀAAᵀA ∈ ℝⁿˣⁿn×n 对称半正定2特征分解AᵀA = VΛVᵀ谱定理保证正交对角化3取平方根σᵢ = √λ̂ᵢ奇异值 = 特征值的√4构造 UU = [u₁ ··· uₘ]uᵢ = Avᵢ/σᵢA = UΣVᵀSVD 本质上是两次特征分解(AᵀA → V, σ | AAᵀ → U, σ)关键等式:Avᵢ = σᵢuᵢ 和 Aᵀuᵢ = σᵢvᵢ 将左右奇异向量通过 A 联系起来

Avi=σiuiA\mathbf{v}_i = \sigma_i\,\mathbf{u}_i 对每个 ii 都成立。把这 nn 个等式排成矩阵的列:AVAV 的第 ii 列是 AviA\mathbf{v}_iUΣU\Sigma 的第 ii 列是 σiui\sigma_i\mathbf{u}_i,逐列相等即 AV=UΣAV = U\SigmaVV 是正交矩阵,右乘 VTV^T

A=UΣVTA = U\Sigma V^T

SVD 不是”碰巧维度对得上”的拼凑——它是 AAVV 基下行为的自然表达。

但要使这个推导严格,还需验证 {ui}\{\mathbf{u}_i\} 确实构成正交归一基。

严格验证

第一步:从 ATAA^TA 出发,做谱定理分解。

ATA=VΛ^VT,λ^1λ^r>0=λ^r+1==λ^nA^TA = V\hat{\Lambda}V^T, \qquad \hat{\lambda}_1 \geq \cdots \geq \hat{\lambda}_r > 0 = \hat{\lambda}_{r+1} = \cdots = \hat{\lambda}_n

得到右奇异向量 v1,,vn\mathbf{v}_1, \ldots, \mathbf{v}_n 和奇异值 σi=λ^i\sigma_i = \sqrt{\hat{\lambda}_i}

第二步:定义 ui=1σiAvi\mathbf{u}_i = \frac{1}{\sigma_i}A\mathbf{v}_iσi>0\sigma_i > 0),验证归一化和正交性。

ui2=1σi2viTATAvi=σi2σi2=1\|\mathbf{u}_i\|^2 = \frac{1}{\sigma_i^2}\mathbf{v}_i^TA^TA\mathbf{v}_i = \frac{\sigma_i^2}{\sigma_i^2} = 1 \quad ✓

uiTuj=1σiσjviTATAvj=σjσiviTvj=0(ij)\mathbf{u}_i^T\mathbf{u}_j = \frac{1}{\sigma_i\sigma_j}\mathbf{v}_i^TA^TA\mathbf{v}_j = \frac{\sigma_j}{\sigma_i}\mathbf{v}_i^T\mathbf{v}_j = 0 \quad (i \neq j) \quad ✓

σi=0\sigma_i = 0 的那些方向(i>ri > r),vinull(A)\mathbf{v}_i \in \text{null}(A)AA 把它们映射到零向量。补充 ur+1,,um\mathbf{u}_{r+1}, \ldots, \mathbf{u}_mnull(AT)\text{null}(A^T) 中的任意正交基即可。

第三步Avi=σiuiA\mathbf{v}_i = \sigma_i\mathbf{u}_i 对所有 ii 成立(i>ri > r 时两边都是零),即 AV=UΣAV = U\Sigma,右乘 VTV^T

A=UΣVTA = U\Sigma V^T \qquad \blacksquare

猜想成立。SVD 的存在性就这样从 ATAA^TAAATAA^T 的对称性中自然地流出来了。

总结:SVD = 两次特征分解的打包

SVD = 两次特征分解AᵀA = V(ΣᵀΣ)Vᵀ  AAᵀ = U(ΣΣᵀ)Uᵀ矩阵维度特征值特征向量 → SVD 中的角色AᵀAn×nσ₁², ..., σₙ²右奇异向量 v₁,...,vₙAAᵀm×mσ₁², ..., σₘ²左奇异向量 u₁,...,uₘ关键等式:Avᵢ = σᵢuᵢAᵀuᵢ = σᵢvᵢ两个矩阵共享相同的奇异值(的平方),但特征向量分别构成 V 和 U

SVD ↔ 特征分解的桥梁

矩阵特征值特征向量
ATAA^TAn×nn \times n 对称半正定σ12,,σn2\sigma_1^2, \ldots, \sigma_n^2右奇异向量 VV
AATAA^Tm×mm \times m 对称半正定σ12,,σm2\sigma_1^2, \ldots, \sigma_m^2左奇异向量 UU

对称矩阵的 SVD 退化为谱定理(U=V=QU = V = QΣ=Λ\Sigma = |\Lambda|)。

核心联系:SVD 本质上是两次特征分解——ATAA^TA 的特征分解给出右奇异向量和奇异值,AATAA^T 的特征分解给出左奇异向量和(相同的)奇异值。AA 本身提供配对约束 Avi=σiuiA\mathbf{v}_i = \sigma_i\mathbf{u}_i,将两组特征向量一一对应。

这也解释了两个关键等式:Avi=σiuiA\mathbf{v}_i = \sigma_i\mathbf{u}_i 已在构造中直接使用;反向等式 ATui=σiviA^T\mathbf{u}_i = \sigma_i\mathbf{v}_i 可以一步验证:ATui=AT1σiAvi=1σiATAvi=σi2σivi=σiviA^T\mathbf{u}_i = A^T \cdot \frac{1}{\sigma_i}A\mathbf{v}_i = \frac{1}{\sigma_i}A^TA\mathbf{v}_i = \frac{\sigma_i^2}{\sigma_i}\mathbf{v}_i = \sigma_i\mathbf{v}_i。它们不是”额外的公式”,而是整个构造的核心:AA 把输入空间的特征方向映射到输出空间,ATA^T 把输出空间映射回输入空间,σi\sigma_i 是双向的拉伸倍数

紧凑 SVD 与外积展开

紧凑形式(compact/thin SVD)

完整 SVD vs 紧凑 SVD (thin SVD)完整:U (12×12)·Σ (12×8)·Vᵀ (8×8)存储:m²+mn+n²紧凑:Uᵣ (12×4)·Σᵣ (4×4)·Vᵣᵀ (4×8)存储:r(m+n+1)紧凑 SVD 是精确分解(无信息丢失),存储从 O(m²+n²) 降到 O(r(m+n))

在实际计算中,当 mnm \gg n(或 nmn \gg m)时,完整 SVD 中的 UU 矩阵(m×mm \times m)可能非常大。紧凑 SVD(也叫 thin SVD 或 reduced SVD)只保留有意义的部分:

A=UrΣrVrTA = U_r \Sigma_r V_r^T

其中 r=rank(A)r = \text{rank}(A)UrRm×rU_r \in \mathbb{R}^{m \times r}(只取前 rr 列),ΣrRr×r\Sigma_r \in \mathbb{R}^{r \times r}(只保留正奇异值),VrRn×rV_r \in \mathbb{R}^{n \times r}(只取前 rr 列)。

这是 AA精确分解(没有丢失信息),但存储从 m2+mn+n2m^2 + mn + n^2 降到 r(m+n+1)r(m + n + 1)。对低秩矩阵(rmin(m,n)r \ll \min(m, n)),节省巨大。

外积展开形式

SVD 的另一个重要形式是把矩阵写成秩一矩阵的加权和:

A=i=1rσiuiviTA = \sum_{i=1}^{r} \sigma_i \mathbf{u}_i \mathbf{v}_i^T

其中每个 uiviTRm×n\mathbf{u}_i \mathbf{v}_i^T \in \mathbb{R}^{m \times n} 是一个秩一矩阵(外积),σi\sigma_i 是对应的权重。

逐项理解:

  • uiviT\mathbf{u}_i \mathbf{v}_i^Tui\mathbf{u}_imm 维列向量)与 viT\mathbf{v}_i^Tnn 维行向量)的外积,结果是 m×nm \times n 矩阵,秩为 1
  • σi\sigma_i 衡量这个秩一成分的”重要性”——σ1σ2\sigma_1 \geq \sigma_2 \geq \cdots,第一个成分最重要
  • 求和 rr 项恰好重建出完整的矩阵 AA
截断 SVD:按重要性排序的秩一成分之和Aσ₁u1×v1ᵀ秩 1 矩阵+σ₂u2×v2ᵀ秩 1 矩阵+···σₖuk×vkᵀ秩 1 矩阵保留前 k 项:信息保留 = Σᵢ₌₁ᵏ σᵢ² / Σᵢ₌₁ʳ σᵢ² × 100%

这个形式与谱分解A=iλiqiqiTA = \sum_i \lambda_i \mathbf{q}_i\mathbf{q}_i^T)直接类比,但适用于任意矩阵——不要求方阵,也不要求对称。

数值例子:手算 3×2 矩阵的 SVD

让我们对一个小矩阵完整计算 SVD 过程。取:

A=[110110]A = \begin{bmatrix}1 & 1 \\ 0 & 1 \\ 1 & 0\end{bmatrix}

AA3×23 \times 2 矩阵(m=3,n=2m = 3, n = 2)。

第一步:计算 ATAA^TA

ATA=[101110][110110]=[1+0+11+0+01+0+01+1+0]=[2112]A^TA = \begin{bmatrix}1 & 0 & 1 \\ 1 & 1 & 0\end{bmatrix}\begin{bmatrix}1 & 1 \\ 0 & 1 \\ 1 & 0\end{bmatrix} = \begin{bmatrix}1+0+1 & 1+0+0 \\ 1+0+0 & 1+1+0\end{bmatrix} = \begin{bmatrix}2 & 1 \\ 1 & 2\end{bmatrix}

第二步:求 ATAA^TA 的特征值(= 奇异值的平方)

特征方程:

det[2λ112λ]=(2λ)21=λ24λ+3=0\det\begin{bmatrix}2-\lambda & 1 \\ 1 & 2-\lambda\end{bmatrix} = (2-\lambda)^2 - 1 = \lambda^2 - 4\lambda + 3 = 0

(λ3)(λ1)=0    λ^1=3,λ^2=1(\lambda - 3)(\lambda - 1) = 0 \implies \hat{\lambda}_1 = 3, \quad \hat{\lambda}_2 = 1

奇异值:

σ1=3,σ2=1=1\sigma_1 = \sqrt{3}, \quad \sigma_2 = \sqrt{1} = 1

第三步:求右奇异向量 VVATAA^TA 的特征向量)

λ^1=3\hat{\lambda}_1 = 3

(ATA3I)v1=[1111]v1=0    v11=v12(A^TA - 3I)\mathbf{v}_1 = \begin{bmatrix}-1 & 1 \\ 1 & -1\end{bmatrix}\mathbf{v}_1 = \mathbf{0} \implies v_{11} = v_{12}

取单位化:v1=12[11]\mathbf{v}_1 = \frac{1}{\sqrt{2}}\begin{bmatrix}1 \\ 1\end{bmatrix}

λ^2=1\hat{\lambda}_2 = 1

(ATAI)v2=[1111]v2=0    v21=v22(A^TA - I)\mathbf{v}_2 = \begin{bmatrix}1 & 1 \\ 1 & 1\end{bmatrix}\mathbf{v}_2 = \mathbf{0} \implies v_{21} = -v_{22}

取单位化:v2=12[11]\mathbf{v}_2 = \frac{1}{\sqrt{2}}\begin{bmatrix}1 \\ -1\end{bmatrix}

验证正交性:v1Tv2=12(11+1(1))=0\mathbf{v}_1^T\mathbf{v}_2 = \frac{1}{2}(1 \cdot 1 + 1 \cdot (-1)) = 0

V=12[1111]V = \frac{1}{\sqrt{2}}\begin{bmatrix}1 & 1 \\ 1 & -1\end{bmatrix}

第四步:求左奇异向量 UU

利用公式 ui=1σiAvi\mathbf{u}_i = \frac{1}{\sigma_i}A\mathbf{v}_i

u1=13Av1=13[110110]12[11]=16[211]\mathbf{u}_1 = \frac{1}{\sqrt{3}}A\mathbf{v}_1 = \frac{1}{\sqrt{3}}\begin{bmatrix}1 & 1 \\ 0 & 1 \\ 1 & 0\end{bmatrix}\frac{1}{\sqrt{2}}\begin{bmatrix}1 \\ 1\end{bmatrix} = \frac{1}{\sqrt{6}}\begin{bmatrix}2 \\ 1 \\ 1\end{bmatrix}

u2=11Av2=[110110]12[11]=12[011]\mathbf{u}_2 = \frac{1}{1}A\mathbf{v}_2 = \begin{bmatrix}1 & 1 \\ 0 & 1 \\ 1 & 0\end{bmatrix}\frac{1}{\sqrt{2}}\begin{bmatrix}1 \\ -1\end{bmatrix} = \frac{1}{\sqrt{2}}\begin{bmatrix}0 \\ -1 \\ 1\end{bmatrix}

验证:u1Tu2=162(20+1(1)+11)=0\mathbf{u}_1^T\mathbf{u}_2 = \frac{1}{\sqrt{6}\sqrt{2}}(2 \cdot 0 + 1 \cdot (-1) + 1 \cdot 1) = 0 ✓,u1=4+1+1/6=1\|\mathbf{u}_1\| = \sqrt{4+1+1}/\sqrt{6} = 1 ✓,u2=0+1+1/2=1\|\mathbf{u}_2\| = \sqrt{0+1+1}/\sqrt{2} = 1

因为 m=3>n=2m = 3 > n = 2UU 需要一个额外列 u3\mathbf{u}_3 使其成为 3×33 \times 3 正交矩阵。u3\mathbf{u}_3 必须与 u1,u2\mathbf{u}_1, \mathbf{u}_2 都正交。通过叉积(或 Gram-Schmidt)可得:

u3=13[111]\mathbf{u}_3 = \frac{1}{\sqrt{3}}\begin{bmatrix}1 \\ -1 \\ -1\end{bmatrix}

验证:u1Tu3=163(211)=0\mathbf{u}_1^T\mathbf{u}_3 = \frac{1}{\sqrt{6}\sqrt{3}}(2-1-1) = 0 ✓,u2Tu3=123(0+11)=0\mathbf{u}_2^T\mathbf{u}_3 = \frac{1}{\sqrt{2}\sqrt{3}}(0+1-1) = 0

第五步:组装并验证

U=[26013161213161213],Σ=[300100],V=12[1111]U = \begin{bmatrix}\frac{2}{\sqrt{6}} & 0 & \frac{1}{\sqrt{3}} \\ \frac{1}{\sqrt{6}} & \frac{-1}{\sqrt{2}} & \frac{-1}{\sqrt{3}} \\ \frac{1}{\sqrt{6}} & \frac{1}{\sqrt{2}} & \frac{-1}{\sqrt{3}}\end{bmatrix}, \quad \Sigma = \begin{bmatrix}\sqrt{3} & 0 \\ 0 & 1 \\ 0 & 0\end{bmatrix}, \quad V = \frac{1}{\sqrt{2}}\begin{bmatrix}1 & 1 \\ 1 & -1\end{bmatrix}

验证 UΣVT=AU\Sigma V^T = A

UΣ=[26013161213161213][300100]=[236036123612]=[2012121212]U\Sigma = \begin{bmatrix}\frac{2}{\sqrt{6}} & 0 & \frac{1}{\sqrt{3}} \\ \frac{1}{\sqrt{6}} & \frac{-1}{\sqrt{2}} & \frac{-1}{\sqrt{3}} \\ \frac{1}{\sqrt{6}} & \frac{1}{\sqrt{2}} & \frac{-1}{\sqrt{3}}\end{bmatrix}\begin{bmatrix}\sqrt{3} & 0 \\ 0 & 1 \\ 0 & 0\end{bmatrix} = \begin{bmatrix}\frac{2\sqrt{3}}{\sqrt{6}} & 0 \\ \frac{\sqrt{3}}{\sqrt{6}} & \frac{-1}{\sqrt{2}} \\ \frac{\sqrt{3}}{\sqrt{6}} & \frac{1}{\sqrt{2}}\end{bmatrix} = \begin{bmatrix}\sqrt{2} & 0 \\ \frac{1}{\sqrt{2}} & \frac{-1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}\end{bmatrix}

(UΣ)VT=[2012121212]12[1111]=[110110]=A(U\Sigma)V^T = \begin{bmatrix}\sqrt{2} & 0 \\ \frac{1}{\sqrt{2}} & \frac{-1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}\end{bmatrix}\frac{1}{\sqrt{2}}\begin{bmatrix}1 & 1 \\ 1 & -1\end{bmatrix} = \begin{bmatrix}1 & 1 \\ 0 & 1 \\ 1 & 0\end{bmatrix} = A \quad ✓

第六步:截断 SVD 演示

k=1k = 1(只保留最大的奇异值 σ1=3\sigma_1 = \sqrt{3}):

A1=σ1u1v1T=316[211]12[11]=12[221111]=[110.50.50.50.5]A_1 = \sigma_1 \mathbf{u}_1 \mathbf{v}_1^T = \sqrt{3} \cdot \frac{1}{\sqrt{6}}\begin{bmatrix}2 \\ 1 \\ 1\end{bmatrix} \cdot \frac{1}{\sqrt{2}}\begin{bmatrix}1 & 1\end{bmatrix} = \frac{1}{2}\begin{bmatrix}2 & 2 \\ 1 & 1 \\ 1 & 1\end{bmatrix} = \begin{bmatrix}1 & 1 \\ 0.5 & 0.5 \\ 0.5 & 0.5\end{bmatrix}

这是 AA 的最佳秩一近似。原始 AA 的第二行 [0,1][0, 1] 和第三行 [1,0][1, 0] 被”平均”为 [0.5,0.5][0.5, 0.5]——秩一近似只能捕捉到两列有同等强度的信号,丢失了它们的差异。

信息保留比例:σ12σ12+σ22=33+1=75%\frac{\sigma_1^2}{\sigma_1^2 + \sigma_2^2} = \frac{3}{3+1} = 75\%

截断 SVD 与 Eckart-Young 定理

Eckart-Young 定理:截断 SVD = 最佳低秩近似σ5σ3.2σ2.1σ1.3σ0.7σ0.3σ0.1截断于 k=3保留丢弃误差公式Frobenius:‖A−Aₖ‖F = √(σ²ₖ₊₁+···+σ²ᵣ)Spectral:‖A−Aₖ‖₂ = σₖ₊₁无论用什么方法,都不可能做得更好信息保留 = Σᵢ₌₁ᵏ σᵢ² / Σᵢ₌₁ʳ σᵢ² · 奇异值衰减越快,压缩效果越好

截断 SVD:最佳低秩近似

在许多应用中,我们不需要完整重建 AA——只需要一个低秩近似 AkA_krank(Ak)=k<r\text{rank}(A_k) = k < r),使得 AkA_k 尽可能接近 AA。截断 SVD 给出了这个近似:

Ak=i=1kσiuiviT=UkΣkVkTA_k = \sum_{i=1}^{k} \sigma_i \mathbf{u}_i \mathbf{v}_i^T = U_k \Sigma_k V_k^T

其中 UkRm×kU_k \in \mathbb{R}^{m \times k}ΣkRk×k\Sigma_k \in \mathbb{R}^{k \times k}VkRn×kV_k \in \mathbb{R}^{n \times k} 分别是 UUΣ\SigmaVV 的前 kk 列(和前 kk 个奇异值)。

直觉上,σ1σ2\sigma_1 \geq \sigma_2 \geq \cdots 从大到小排列,前几个奇异值往往集中了矩阵的大部分”能量”。截断 SVD 保留最重要的 kk 个成分,丢弃剩余的小分量——这些小分量往往对应噪声或不重要的细节。

投影视角AkA_k 还可以理解为 AA 到子空间的投影。利用 UkU_kVkV_k 各自列正交的性质:

Ak=UkΣkVkT=Uk(UkTA)=(AVk)VkTA_k = U_k\Sigma_kV_k^T = U_k(U_k^TA) = (AV_k)V_k^T

  • UkUkTAU_kU_k^TA(投影矩阵乘):按”左行右列”,左乘作用于列——把 AA 的每一Rm\mathbb{R}^m 中的向量)投影到 UkU_k 张成的输出子空间,只保留前 kk 个左奇异方向的分量
  • AVkVkTAV_kV_k^T(投影矩阵乘):右乘作用于行——把 AA 的每一Rn\mathbb{R}^n 中的向量)投影到 VkV_k 张成的输入子空间,只保留前 kk 个右奇异方向的分量

从输出空间切和从输入空间切,得到的是同一个 AkA_k——截断 SVD 同时是两个方向上的最佳投影。这个视角在 随机化 SVD 中会直接用到:只要找到一个正交基 QQ 近似 UkU_k 的列空间,QQTAQQ^TA 就近似 AkA_k

但为什么截断 SVD 是”最佳”的? 是否存在其他秩 kk 的矩阵比 AkA_k 更接近 AA?Eckart-Young 定理给出了否定的回答。

Eckart-Young-Mirsky 定理

Eckart-Young 定理:截断 SVD 是最优 rank-kk 近似

minrank(B)kABF=σk+12++σr2,minrank(B)kAB2=σk+1\min_{\text{rank}(B) \leq k} \|A - B\|_F = \sqrt{\sigma_{k+1}^2 + \cdots + \sigma_r^2}, \qquad \min_{\text{rank}(B) \leq k} \|A - B\|_2 = \sigma_{k+1}

信息保留率:i=1kσi2i=1rσi2×100%\frac{\sum_{i=1}^{k}\sigma_i^2}{\sum_{i=1}^{r}\sigma_i^2} \times 100\%

其中 Frobenius 范数 MF=ijMij2\|M\|_F = \sqrt{\sum_{ij}M_{ij}^2} 衡量所有元素的总体误差,spectral 范数 M2=σ1(M)\|M\|_2 = \sigma_1(M)MM 的最大奇异值)衡量最大方向上的误差。

:Frobenius 范数和 spectral 范数的严格定义将在 Art. 4 范数与条件数中详细展开。这里只需要知道它们是衡量矩阵”大小”的两种方式,分别对应”均方误差”和”最坏方向误差”。

逐项理解这个定理:

  • minrank(B)k\min_{\text{rank}(B) \leq k}:在所有秩不超过 kkm×nm \times n 矩阵中搜索
  • AB\|A - B\|:衡量近似 BB 与原矩阵 AA 的距离
  • 结论:无论用什么方法构造秩 kk 矩阵,都不可能比截断 SVD 做得更好
  • 误差量化:误差恰好等于被丢弃的奇异值(Frobenius 范数下取平方和开根号,spectral 范数下取最大的被丢弃奇异值 σk+1\sigma_{k+1}

为什么最优?(Frobenius 范数的证明思路)

利用 SVD 外积展开,A=i=1rσiuiviTA = \sum_{i=1}^{r}\sigma_i\mathbf{u}_i\mathbf{v}_i^T,以及 Frobenius 范数的一个重要性质:AF2=i=1rσi2\|A\|_F^2 = \sum_{i=1}^{r}\sigma_i^2(即 Frobenius 范数的平方等于所有奇异值的平方和——这将在 Art. 4 中证明)。

对任意秩 kk 矩阵 BB,设 BB 的列空间为 WWdimWk\dim W \leq k),则 BB 的列空间的正交补 WW^\perp 的维度至少为 mkm - k。而 span{u1,,uk+1}\text{span}\{\mathbf{u}_1, \ldots, \mathbf{u}_{k+1}\} 的维度为 k+1k + 1。由维度计数,WW^\perpspan{u1,,uk+1}\text{span}\{\mathbf{u}_1, \ldots, \mathbf{u}_{k+1}\} 必有非零交集。取这个交集中的单位向量 w\mathbf{w},因为 wW\mathbf{w} \in W^\perp,所以 BTw=0B^T\mathbf{w} = \mathbf{0},从而:

ABF2(AB)w2=Aw2\|A - B\|_F^2 \geq \|(A - B)\mathbf{w}\|^2 = \|A\mathbf{w}\|^2

而因为 wspan{u1,,uk+1}\mathbf{w} \in \text{span}\{\mathbf{u}_1, \ldots, \mathbf{u}_{k+1}\},写 w=i=1k+1ciui\mathbf{w} = \sum_{i=1}^{k+1}c_i\mathbf{u}_ici2=1\sum c_i^2 = 1),则 ATw=i=1k+1ciσiviA^T\mathbf{w} = \sum_{i=1}^{k+1}c_i\sigma_i\mathbf{v}_i,所以:

Aw2=ATw2=i=1k+1ci2σi2σk+12i=1k+1ci2=σk+12\|A\mathbf{w}\|^2 = \|A^T\mathbf{w}\|^2 = \sum_{i=1}^{k+1}c_i^2\sigma_i^2 \geq \sigma_{k+1}^2\sum_{i=1}^{k+1}c_i^2 = \sigma_{k+1}^2

更精细的分析(对所有 rkr - k 个被丢弃方向求和)可以得到 ABF2σk+12++σr2\|A - B\|_F^2 \geq \sigma_{k+1}^2 + \cdots + \sigma_r^2。而 AkA_k 恰好达到这个下界:

AAkF2=i=k+1rσiuiviTF2=i=k+1rσi2\|A - A_k\|_F^2 = \left\|\sum_{i=k+1}^{r}\sigma_i\mathbf{u}_i\mathbf{v}_i^T\right\|_F^2 = \sum_{i=k+1}^{r}\sigma_i^2

因此 AkA_k 是最优的。\blacksquare

信息保留与截断误差

Eckart-Young 定理直接给出了截断 SVD 的”信息保留百分比”——用奇异值能量比衡量:

信息保留=i=1kσi2i=1rσi2×100%\text{信息保留} = \frac{\sum_{i=1}^{k}\sigma_i^2}{\sum_{i=1}^{r}\sigma_i^2} \times 100\%

分子是保留的奇异值的平方和,分母是全部奇异值的平方和(等于 AF2\|A\|_F^2)。

实际中,许多数据矩阵的奇异值衰减很快——前几个奇异值贡献了大部分能量,剩余的奇异值很小。这意味着用远小于满秩的 kk 就能保留 95%+ 的信息。这正是 SVD 用于压缩和降噪的原理。

用下面的交互组件亲手体验:拖动滑块调整截断秩 kk,观察重建图像的质量变化和信息保留百分比。

8 / 32
信息保留
99.9%
压缩比
2.0x
存储参数
8(32+32+1) = 520 / 1024
秩-8 近似原始图像 (32×32)前 16 个奇异值 (σ₁ ≥ σ₂ ≥ ⋯)12345678910保留丢弃截断位置 k = 8信息保留 = Σᵢ₌₁ᵏ σᵢ² / Σᵢ₌₁ʳ σᵢ² = 99.9%
拖动滑块观察:少数几个最大奇异值就能重建图像的大部分信息。这就是截断 SVD 用于压缩和降噪的原理。

伪逆与最小二乘

Moore-Penrose 伪逆:A⁺ = VΣ⁺Uᵀx⁺ = A⁺b = VΣ⁺Uᵀb (最小二乘 + 最小范数解)超定 (m>n)m=5n=3方程多于未知数最小二乘解欠定 (m<n)m=3n=5未知数多于方程最小范数解恰定且满秩m=4n=4m=n,A 可逆A⁺ = A⁻¹Σ⁺ 的构造:将 Σ 中非零对角元素取倒数,零保持为零,然后转置

Moore-Penrose 伪逆

对于方阵,如果 AA 可逆,我们可以求 A1A^{-1} 来解方程 Ax=bA\mathbf{x} = \mathbf{b}。但如果 AA 不是方阵,或者虽然是方阵但不可逆(奇异),怎么办?

SVD 提供了一个优雅的解决方案:Moore-Penrose 伪逆(pseudoinverse),记为 A+A^+

定义:设 A=UΣVTA = U\Sigma V^TAA 的 SVD,则 AA 的伪逆为:

A+=VΣ+UTA^+ = V\Sigma^+ U^T

其中 Σ+\Sigma^+Σ\Sigma 的伪逆——将 Σ\Sigma 中每个非零对角元素取倒数,零元素保持为零,然后转置:

Σ=[σ1σr0]m×n    Σ+=[1/σ11/σr0]n×m\Sigma = \begin{bmatrix}\sigma_1 & & \\ & \ddots & \\ & & \sigma_r \\ & & & 0 \\ & & & & \ddots\end{bmatrix}_{m \times n} \implies \Sigma^+ = \begin{bmatrix}1/\sigma_1 & & \\ & \ddots & \\ & & 1/\sigma_r \\ & & & 0 \\ & & & & \ddots\end{bmatrix}_{n \times m}

注意 Σ+\Sigma^+ 的维度是 n×mn \times m(转置了 Σ\Sigma 的维度),所以 A+Rn×mA^+ \in \mathbb{R}^{n \times m}

Penrose 条件

A+A^+ 是满足以下四个条件(Penrose conditions)的唯一矩阵:

  1. AA+A=AAA^+A = AA+A^+AA 的广义逆)
  2. A+AA+=A+A^+AA^+ = A^+AAA+A^+ 的广义逆)
  3. (AA+)T=AA+(AA^+)^T = AA^+AA+AA^+ 是对称的——正交投影到 AA 的列空间)
  4. (A+A)T=A+A(A^+A)^T = A^+AA+AA^+A 是对称的——正交投影到 AA 的行空间)

这四个条件保证了伪逆的唯一性和良好的几何性质。(详见 Wikipedia, Moore-Penrose inverse)

伪逆与最小二乘

为什么伪逆重要?因为它给出了线性方程组 Ax=bA\mathbf{x} = \mathbf{b} 的”最优”解:

x+=A+b\mathbf{x}^+ = A^+\mathbf{b}

具体来说,x+=A+b\mathbf{x}^+ = A^+\mathbf{b} 是以下问题的解:

在所有使 Axb2\|A\mathbf{x} - \mathbf{b}\|_2 最小的 x\mathbf{x} 中,找范数 x2\|\mathbf{x}\|_2 最小的那个。

这正是最小二乘问题(least squares)的最小范数解。分三种情况理解:

情况方程数 vs 未知数Ax=bA\mathbf{x} = \mathbf{b} 的解A+bA^+\mathbf{b} 的作用
超定m>nm > n,方程多于未知数)通常无精确解找使 Axb2\|A\mathbf{x} - \mathbf{b}\|^2 最小的 x\mathbf{x}最小二乘解
欠定m<nm < n,未知数多于方程)无穷多解在所有解中找 x\|\mathbf{x}\| 最小的最小范数解
恰定且满秩m=nm = nAA 可逆)唯一解 A1bA^{-1}\mathbf{b}A+=A1A^+ = A^{-1},退化为普通逆

与投影解法的关系

最小二乘有另一种经典推导——正交投影。理解两种方法的联系,能让伪逆的几何含义更加清晰。

投影视角b\mathbf{b} 不一定在 AA 的列空间 Col(A)\text{Col}(A) 中。AxA\mathbf{x} 能取到的最接近 b\mathbf{b} 的点,是 b\mathbf{b}Col(A)\text{Col}(A) 的正交投影 b^\hat{\mathbf{b}}。正交条件 AT(bAx)=0A^T(\mathbf{b} - A\mathbf{x}) = \mathbf{0} 给出法方程(normal equation):

ATAx=ATbA^TA\mathbf{x} = A^T\mathbf{b}

AA 列满秩时rank(A)=n\text{rank}(A) = n,即列线性无关),ATAA^TAn×nn \times n 可逆矩阵,法方程有唯一解:

xLS=(ATA)1ATb\mathbf{x}_{\text{LS}} = (A^TA)^{-1}A^T\mathbf{b}

这个 (ATA)1AT(A^TA)^{-1}A^T 就是列满秩时的左伪逆。可以验证它等于 A+=VΣ+UTA^+ = V\Sigma^+U^T(把 A=UΣVTA = U\Sigma V^T 代入展开即可——V(ΣTΣ)1ΣTUT=VΣ+UTV(\Sigma^T\Sigma)^{-1}\Sigma^TU^T = V\Sigma^+U^T)。此时投影解法和伪逆给出完全相同的答案。

AA 不是列满秩时rank(A)<n\text{rank}(A) < n),ATAA^TA 奇异,法方程有无穷多解——有无穷多个 x\mathbf{x} 都能让 AxA\mathbf{x} 等于那个投影 b^\hat{\mathbf{b}}。原因在零空间 null(A)\text{null}(A) 中:如果 x0\mathbf{x}_0 是一个解,那么 x0+z\mathbf{x}_0 + \mathbf{z}znull(A)\mathbf{z} \in \text{null}(A))也是解,因为 Az=0A\mathbf{z} = \mathbf{0} 不改变残差。

注意这不是两种方法”给出不同答案”——投影解法正确地找到了最优残差,只是它给出的是一个解集而非单个解。伪逆在这个解集里做了关键的第二步选择:x\|\mathbf{x}\| 最小的那个。几何上,x+=A+b\mathbf{x}^+ = A^+\mathbf{b} 完全在行空间 Row(A)=null(A)\text{Row}(A) = \text{null}(A)^\perp 中——它没有在零空间方向上浪费任何”长度”,是到达 b^\hat{\mathbf{b}} 的最短路径。

总结两者的关系:

投影 / 法方程伪逆
解决什么输出空间最优:Axb\|A\mathbf{x} - \mathbf{b}\| 最小输出最优 + 输入空间也最优:x\|\mathbf{x}\| 最小
列满秩时(ATA)1ATb(A^TA)^{-1}A^T\mathbf{b} = 唯一解A+bA^+\mathbf{b} = 同一个解
列不满秩时法方程有无穷多解A+bA^+\mathbf{b} 在其中选范数最小的
适用范围需要 ATAA^TA 的结构(实际计算中常用 QR 分解代替)任意矩阵,通过 SVD 直接给出

伪逆的应用

伪逆不只是一个理论工具——它在 ML 和工程中频繁出现:

线性回归:经典最小二乘回归 β^=(XTX)1XTy\hat{\boldsymbol{\beta}} = (X^TX)^{-1}X^T\mathbf{y} 就是 X+yX^+\mathbf{y}。当特征矩阵 XX 存在多重共线性(XTXX^TX 接近奇异)时,直接求逆会导致数值爆炸,而 SVD 伪逆通过截断小奇异值自然地实现了正则化——这就是截断 SVD 回归(truncated SVD regression / TSVD)。

控制与机器人学:机器人的运动学方程 v=J(θ)θ˙\mathbf{v} = J(\theta)\dot{\boldsymbol{\theta}} 将关节速度映射到末端速度。求解”给定目标末端速度 v\mathbf{v}^*,关节应该怎么动?“就是 θ˙=J+v\dot{\boldsymbol{\theta}} = J^+\mathbf{v}^*。冗余机器人(关节数 > 自由度)的 Jacobian JJ 是欠定的,伪逆给出能量最小的关节运动。

信号恢复:在压缩感知、图像重建等逆问题中,观测模型 y=Ax+n\mathbf{y} = A\mathbf{x} + \mathbf{n}AA 是观测矩阵,n\mathbf{n} 是噪声),A+yA^+\mathbf{y} 是最小范数重建的起点。更精细的方法(如 LASSO、迭代收缩)在此基础上加入正则化。

神经网络分析:在理解线性网络(f(x)=WLW1xf(\mathbf{x}) = W_L \cdots W_1 \mathbf{x})的泛化性质时,梯度下降隐式地偏好低 nuclear norm 的解——即倾向于找到低秩的端到端矩阵(Gunasekar et al., 2017, Implicit Regularization in Matrix Factorization)。这与伪逆给出最小 2\ell_2 范数解的思路一脉相承:两者都揭示了”在多个解中自动选最’简洁’的那个”这一主题。

“求解”操作的归属:回顾 Art. 1 分解概述 中六类矩阵操作,“求解 Ax=bA\mathbf{x} = \mathbf{b}“是其中之一。通过伪逆 A+=VΣ+UTA^+ = V\Sigma^+U^T,这个操作被SVD 完全覆盖——SVD 不仅能分解矩阵、近似矩阵,还能”求解”方程。

数值例子:伪逆

沿用前面的 A=[110110]A = \begin{bmatrix}1&1\\0&1\\1&0\end{bmatrix}3×23 \times 2,超定),其 SVD 已知。

A+=VΣ+UTA^+ = V\Sigma^+U^T

Σ+=[1/300010]\Sigma^+ = \begin{bmatrix}1/\sqrt{3} & 0 & 0 \\ 0 & 1 & 0\end{bmatrix}

计算 A+A^+2×32 \times 3 矩阵):

A+=VΣ+UT=12[1111][1300010]UTA^+ = V\Sigma^+U^T = \frac{1}{\sqrt{2}}\begin{bmatrix}1 & 1 \\ 1 & -1\end{bmatrix}\begin{bmatrix}\frac{1}{\sqrt{3}} & 0 & 0 \\ 0 & 1 & 0\end{bmatrix}U^T

直接代入可得(读者可以验证):

A+=13[112121]A^+ = \frac{1}{3}\begin{bmatrix}1 & -1 & 2 \\ 1 & 2 & -1\end{bmatrix}

验证 Penrose 条件中的第一个:AA+A=13[110110][112121][110110]AA^+A = \frac{1}{3}\begin{bmatrix}1&1\\0&1\\1&0\end{bmatrix}\begin{bmatrix}1&-1&2\\1&2&-1\end{bmatrix}\begin{bmatrix}1&1\\0&1\\1&0\end{bmatrix}

AA+=13[211121112]AA^+ = \frac{1}{3}\begin{bmatrix}2 & 1 & 1 \\ 1 & 2 & -1 \\ 1 & -1 & 2\end{bmatrix}

AA+A=13[211121112][110110]=13[330330]=[110110]=AAA^+A = \frac{1}{3}\begin{bmatrix}2&1&1\\1&2&-1\\1&-1&2\end{bmatrix}\begin{bmatrix}1&1\\0&1\\1&0\end{bmatrix} = \frac{1}{3}\begin{bmatrix}3&3\\0&3\\3&0\end{bmatrix} = \begin{bmatrix}1&1\\0&1\\1&0\end{bmatrix} = A \quad ✓

CUR 分解:可解释的替代方案

SVD 的一个实际不便是:UUVV 的列是原始数据的线性组合——它们通常没有直观的物理含义。例如,在用户-物品矩阵的 SVD 中,u1\mathbf{u}_1 可能是所有用户评分的某种加权组合,但你无法指着它说”这代表某个具体的用户群体”。

CUR 分解(Mahoney & Drineas, 2009)提供了一个可解释性更好的替代:它从原始矩阵 AA 中选取实际的(C)和(R),用一个小的链接矩阵 UU 将它们组合起来:

ACUCURRA \approx C \cdot U_{\text{CUR}} \cdot R

其中 CRm×cC \in \mathbb{R}^{m \times c}AAcc 个实际列,RRr×nR \in \mathbb{R}^{r' \times n}AArr' 个实际行,UCURRc×rU_{\text{CUR}} \in \mathbb{R}^{c \times r'} 是一个小的链接矩阵。

优势CCRR 保持了原始数据的稀疏性和可解释性——你可以说”这个近似基于这些具体的用户和这些具体的物品”。

代价:Eckart-Young 定理告诉我们,在同等秩下,SVD 是最优的。CUR 分解的近似质量一定不如截断 SVD。这是可解释性与最优性之间的 trade-off。

CUR 在需要解释性的场景(如推荐系统中向用户解释推荐原因)比 SVD 更合适,但在纯粹追求近似精度的场景(如降噪、压缩)中 SVD 仍然是首选。

总结与展望

本文建立了整条路径最核心的工具——奇异值分解。回顾关键要点:

  • SVD 对任意矩阵都存在A=UΣVTA = U\Sigma V^T,没有方阵、对称、可逆等限制条件
  • 几何含义:任何线性变换 = 输入空间旋转(VTV^T)→ 逐方向拉伸(Σ\Sigma)→ 输出空间旋转(UU
  • 与特征分解的关系:奇异值是 ATAA^TA 特征值的平方根,SVD 本质上是两次特征分解
  • Eckart-Young 定理:截断 SVD 是最佳低秩近似——在 Frobenius 和 spectral 范数下都无可超越
  • 外积展开 A=iσiuiviTA = \sum_i \sigma_i \mathbf{u}_i\mathbf{v}_i^T 将矩阵表示为按重要性排序的秩一成分之和
  • 伪逆 A+=VΣ+UTA^+ = V\Sigma^+U^T 统一处理了超定、欠定、奇异方程组,覆盖了”求解”操作

SVD 是后续几乎所有文章的数学基础。从下一篇开始,我们将学习如何衡量这些近似的质量——矩阵范数与条件数将给出精确的度量工具,让我们能定量回答”截断到秩 kk 丢失了多少信息”这个问题。