第 12 章
线性代数的巅峰:任何矩阵的旋转-缩放-旋转分解
对任意 m×n 实矩阵 A(不必方阵,不必对称),其奇异值分解为:
其中:
SVD 揭示 A 将单位球面映射为椭球面的全过程:Vᵀ 旋转输入空间,Σ 沿坐标轴缩放,U 再旋转输出空间。奇异值 σᵢ 就是椭球面的半轴长度。
SVD 给出矩阵的最佳低秩逼近。对秩为 r 的矩阵 A,其秩 k 逼近(k < r)为:
这是 Frobenius 范数意义下的最优逼近:||A − Aₖ||F 最小。逼近误差为 √(σₖ₊₁² + ... + σᵣ²)。
A 的Moore-Penrose 伪逆可通过 SVD 定义:
其中 Σ⁺ 将非零奇异值取倒数后转置。最小二乘问题的最小范数解为 x̂ = A⁺b。
对中心化数据矩阵 X(每行/列零均值),其协方差矩阵与 XᵀX 相关。SVD 的右奇异向量 V 就是主成分方向,奇异值的平方与主成分方差成正比。PCA 本质上是通过 SVD 寻找数据最大方差方向。
SVD 是"万能分解":任何矩阵都存在,且计算稳定。特征分解要求方阵且可对角化,SVD 没有任何限制。在数值线性代数中,SVD 是可靠性最高的矩阵分解工具。
以 A = [[3,0],[0,−2]] 为例:
对超定方程组 Ax ≈ b:
保留前 k 个奇异值和对应向量,舍弃其余。若 σₖ₊₁ 很小,Aₖ 是 A 的优良近似。
将灰度图像视为矩阵 A,通过 SVD 保留前 k 个奇异值实现压缩。存储量从 mn 降至 k(m+n+1)。例如 1000×1000 图像秩 50 逼近只需存储约 10 万像素而非 100 万,压缩比 10:1,视觉质量仍较好。
用户-评分矩阵通常稀疏且低秩。SVD 将高维用户-物品空间映射到低维隐因子空间,预测缺失评分。Netflix Prize 等推荐算法的核心就是矩阵分解(SVD 的变种)。
信号通常集中在少数大奇异值,噪声分散在所有奇异值。截断小奇异值可滤除噪声(低秩逼近的去噪效应)。这是数字图像处理和语音增强中的常用技术。
高维数据可视化与预处理依赖 PCA。SVD 直接对数据矩阵分解,无需显式计算协方差矩阵,数值稳定性更优。保留前 k 个主成分可将数据从 n 维降至 k 维,保留最大方差。
在信息检索中,词-文档矩阵通过 SVD 降维,捕获词语间的潜在语义关联。同义词和近义词在低维空间中距离更近,改善搜索的召回率。
题目:求 A = [[1,1],[0,1],[−1,1]] 的简化 SVD。
A 为 3×2 矩阵。
Step 1:AᵀA = [[2,0],[0,3]]。特征值 λ₁=3, λ₂=2。
奇异值 σ₁=√3, σ₂=√2。
Step 2:右奇异向量 vᵢ 为 AᵀA 的特征向量:v₁=(0,1), v₂=(1,0)。
V = [[0,1],[1,0]]。
Step 3:左奇异向量 uᵢ = (1/σᵢ)Avᵢ。
u₁ = (1/√3) A(0,1) = (1/√3)(1,1,1) = (1/√3, 1/√3, 1/√3)。
u₂ = (1/√2) A(1,0) = (1/√2)(1,0,−1) = (1/√2, 0, −1/√2)。
u₃ 与 u₁, u₂ 正交,可取 u₃ = (1/√6, −2/√6, 1/√6)。
Step 4:U = [u₁ u₂ u₃],Σ = [[√3,0],[0,√2],[0,0]]。
题目:用 SVD 求 Ax = b 的最小二乘解,其中 A = [[1,1],[0,1],[−1,1]],b = (1,2,3)ᵀ。
由例题 1,A = UΣVᵀ,其中 σ₁=√3, σ₂=√2。
伪逆 Σ⁺ = [[1/√3, 0, 0],[0, 1/√2, 0]]。
计算 Uᵀb:
u₁ᵀb = (1/√3)(1+2+3) = 6/√3 = 2√3。
u₂ᵀb = (1/√2)(1+0−3) = −2/√2 = −√2。
x̂ = VΣ⁺Uᵀb = V [[2√3/√3],[−√2/√2]] = V [[2],[−1]] = [[0,1],[1,0]] [[2],[−1]] = (−1, 2)。
题目:设 A 为 4×4 矩阵,奇异值为 σ=(10, 5, 2, 0.1)。求秩 2 逼近的相对误差。
Frobenius 范数 ||A||F² = Σσᵢ² = 100 + 25 + 4 + 0.01 = 129.01。
秩 2 逼近误差 ||A − A₂||F² = σ₃² + σ₄² = 4 + 0.01 = 4.01。
相对误差 = √(4.01 / 129.01) ≈ √0.0311 ≈ 17.6%。
若舍弃 σ₄=0.1(秩 3 逼近),误差仅 √(0.01/129.01) ≈ 0.9%。
这说明小奇异值对矩阵贡献极小,截断可大幅压缩数据而损失很小。
题目:数据矩阵 X(已中心化)= [[2,1],[−1,0],[1,−1]](3 个样本,2 维)。求第一主成分方向及方差解释率。
对 X 做 SVD:X = UΣVᵀ。
XᵀX = [[6,1],[1,2]],特征值 λ² − 8λ + 11 = 0 → λ = (8±√12)/2 = 4±√3。
λ₁ = 4+√3 ≈ 5.732,λ₂ = 4−√3 ≈ 2.268。
奇异值 σ₁=√λ₁≈2.394, σ₂=√λ₂≈1.506。
第一主成分为 v₁(XᵀX 最大特征值对应的特征向量):
(XᵀX − λ₁I)v = 0 → [[1.268, 1],[1, −2.732]] → v₁ ≈ (0.924, 0.383)。
方差解释率 = λ₁/(λ₁+λ₂) = 5.732/8 ≈ 71.7%。