奇异值分解 (SVD) 计算流程笔记

核心定义

任何一个 mxn 的矩阵 A 都可以被分解为三个矩阵的乘积:

A=UΣVT

计算流程:三步走战略

我们的目标是依次求出 VΣU


Step 1: 计算 V 和 Σ (从 ATA 入手)


Step 2: 计算 U (左奇异向量矩阵)

这一步的目标是找到输出空间的“特殊正交基” U

  1. 计算与非零奇异值对应的 u

    • 对于每一个非零的奇异值 σ (i 从 1 到 r),使用以下关系式计算对应的左奇异向量 uui=1σiAvi这里的 v 是你在 Step 1 中计算出的、与 σ 对应的右奇异向量。
  2. 处理可能存在的“补充”向量 (如果 m > r)

    • 你已经通过上面的方法得到了 r 个左奇异向量 u,u,...,u
    • IF m=r: 恭喜,你已经找到了所有的 u 向量。
    • IF m>r: 你还需要找到 mr 个额外的向量 ur+1,...,um 来填满 U 矩阵。这些向量构成了 AT 的零空间 (Null Space) 的一组标准正交基。
      1. 解方程组 ATy=0
      2. 求出其解空间的一组基。
      3. 使用格拉姆-施密特正交化 (Gram-Schmidt Process) 方法将这组基以及之前算出的 u,...,u 合并,得到一个完整的标准正交基 u,...,um
  3. 构建 U

    • 将所有 m 个单位化的、互相正交的左奇异向量 u,u,...,um 作为列向量,构建 m×m 的正交矩阵 U
    U=[|||u1u2um|||]

Step 3: 最终检验