前置知识: 线性代数

奇异值分解SVD

11 minAdvanced2026/6/14

SVD定理的表述与证明,奇异值的计算方法,SVD的几何意义,SVD在数据压缩和降维中的应用。

1. SVD 定理

1.1 定理表述

AAm×nm \times n 实矩阵,r=r(A)r = r(A),则存在正交矩阵 UUm×mm \times m)和正交矩阵 VVn×nn \times n),使得:

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

其中 Σ=(DOOO)\Sigma = \begin{pmatrix} D & O \\ O & O \end{pmatrix}D=diag(σ1,σ2,,σr)D = \text{diag}(\sigma_1, \sigma_2, \ldots, \sigma_r)σ1σ2σr>0\sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r > 0

σ1,σ2,,σr\sigma_1, \sigma_2, \ldots, \sigma_r 称为 AA奇异值

1.2 瘦型 SVD

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

其中 UrU_rm×rm \times rΣr\Sigma_rr×rr \times rVrV_rn×rn \times r

1.3 证明思路

  1. ATAA^TAnn 阶实对称半正定矩阵,可正交对角化:ATA=VΛ2VTA^TA = V\Lambda^2 V^T
  2. Λ=diag(σ1,,σr,0,,0)\Lambda = \text{diag}(\sigma_1, \ldots, \sigma_r, 0, \ldots, 0)σi>0\sigma_i > 0
  3. Ur=AVrΣr1U_r = AV_r\Sigma_r^{-1},可验证 UrTUr=IrU_r^TU_r = I_r
  4. 扩充 UrU_r 为正交矩阵 UU,即得 A=UΣVTA = U\Sigma V^T

2. 奇异值的计算

2.1 计算步骤

  1. 计算 ATAA^TAn×nn \times n 实对称半正定矩阵)
  2. ATAA^TA 的特征值 λ1λ2λn0\lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_n \geq 0
  3. 奇异值 σi=λi\sigma_i = \sqrt{\lambda_i}i=1,2,,ri = 1, 2, \ldots, r
  4. ATAA^TA 的属于 λi\lambda_i 的标准正交特征向量 vi\boldsymbol{v}_i,构成 VV
  5. 计算 ui=Aviσi\boldsymbol{u}_i = \dfrac{A\boldsymbol{v}_i}{\sigma_i}i=1,,ri = 1, \ldots, r),扩充为正交矩阵 UU

2.2 也可以用 AATAA^T

AATAA^T 的非零特征值与 ATAA^TA 的非零特征值相同,对应的特征向量构成 UU 的前 rr 列。

2.3 完整示例

A=(110110)A = \begin{pmatrix} 1 & 1 \\ 0 & 1 \\ 1 & 0 \end{pmatrix} 的 SVD。

步骤1

ATA=(2112)A^TA = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}

步骤2ATAλI=(2λ)21=(λ1)(λ3)|A^TA - \lambda I| = (2-\lambda)^2 - 1 = (\lambda-1)(\lambda-3)

λ1=3\lambda_1 = 3λ2=1\lambda_2 = 1

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

步骤3ATAA^TA 的特征向量

λ1=3\lambda_1 = 3v1=12(1,1)T\boldsymbol{v}_1 = \frac{1}{\sqrt{2}}(1, 1)^T

λ2=1\lambda_2 = 1v2=12(1,1)T\boldsymbol{v}_2 = \frac{1}{\sqrt{2}}(1, -1)^T

V=12(1111)V = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}

步骤4

u1=Av1σ1=1312(211)=16(211)\boldsymbol{u}_1 = \frac{A\boldsymbol{v}_1}{\sigma_1} = \frac{1}{\sqrt{3}} \cdot \frac{1}{\sqrt{2}}\begin{pmatrix} 2 \\ 1 \\ 1 \end{pmatrix} = \frac{1}{\sqrt{6}}\begin{pmatrix} 2 \\ 1 \\ 1 \end{pmatrix}

u2=Av2σ2=1212(011)=12(011)\boldsymbol{u}_2 = \frac{A\boldsymbol{v}_2}{\sigma_2} = \frac{1}{\sqrt{2}} \cdot \frac{1}{\sqrt{2}}\begin{pmatrix} 0 \\ -1 \\ 1 \end{pmatrix} = \frac{1}{2}\begin{pmatrix} 0 \\ -1 \\ 1 \end{pmatrix}

扩充 u3\boldsymbol{u}_3 使 UU 为正交矩阵:u3=13(1,1,1)T\boldsymbol{u}_3 = \frac{1}{\sqrt{3}}(1, -1, -1)^T

U=(26013161213161213)U = \begin{pmatrix} \frac{2}{\sqrt{6}} & 0 & \frac{1}{\sqrt{3}} \\ \frac{1}{\sqrt{6}} & -\frac{1}{2} & -\frac{1}{\sqrt{3}} \\ \frac{1}{\sqrt{6}} & \frac{1}{2} & -\frac{1}{\sqrt{3}} \end{pmatrix}

Σ=(300100)\Sigma = \begin{pmatrix} \sqrt{3} & 0 \\ 0 & 1 \\ 0 & 0 \end{pmatrix}

3. SVD 的几何意义

3.1 线性变换的分解

A=UΣVTA = U\Sigma V^T 表示线性变换 AA 可分解为:

  1. 旋转/反射 VTV^T:在输入空间中旋转
  2. 伸缩 Σ\Sigma:沿坐标轴方向伸缩(奇异值为伸缩因子)
  3. 旋转/反射 UU:在输出空间中旋转

3.2 像的几何描述

AA 将单位球 {xx=1}\{\boldsymbol{x} \mid \|\boldsymbol{x}\| = 1\} 映射为椭球面,椭球的半轴长度为奇异值 σ1,σ2,,σr\sigma_1, \sigma_2, \ldots, \sigma_r

3.3 低秩近似

Eckart-Young 定理:在 Frobenius 范数(或谱范数)下,AA 的最佳 kk 秩近似为:

Ak=i=1kσiuiviTA_k = \sum_{i=1}^{k} \sigma_i \boldsymbol{u}_i \boldsymbol{v}_i^T

近似误差:AAkF=σk+12++σr2\|A - A_k\|_F = \sqrt{\sigma_{k+1}^2 + \cdots + \sigma_r^2}

4. SVD 的重要性质

4.1 奇异值的性质

  1. σmax(A)=A2\sigma_{\max}(A) = \|A\|_2(谱范数)
  2. σmin(A)=minx0Axx\sigma_{\min}(A) = \min_{\boldsymbol{x} \neq 0}\frac{\|A\boldsymbol{x}\|}{\|\boldsymbol{x}\|}AA 列满秩时)
  3. κ(A)=σmaxσmin\kappa(A) = \frac{\sigma_{\max}}{\sigma_{\min}}(条件数)
  4. AF2=σ12+σ22++σr2\|A\|_F^2 = \sigma_1^2 + \sigma_2^2 + \cdots + \sigma_r^2
  5. A=σ1σ2σn|A| = \sigma_1\sigma_2\cdots\sigma_nAA 为方阵时)

4.2 与特征值的关系

  • ATAA^TA 的特征值为 σ12,σ22,,σr2,0,,0\sigma_1^2, \sigma_2^2, \ldots, \sigma_r^2, 0, \ldots, 0
  • AATAA^T 的特征值为 σ12,σ22,,σr2,0,,0\sigma_1^2, \sigma_2^2, \ldots, \sigma_r^2, 0, \ldots, 0
  • AA 为实对称矩阵,奇异值等于特征值的绝对值

4.3 子空间关系

  • VV 的前 rr 列:Row(A)\text{Row}(A) 的标准正交基
  • VV 的后 nrn-r 列:N(A)N(A) 的标准正交基
  • UU 的前 rr 列:Col(A)\text{Col}(A) 的标准正交基
  • UU 的后 mrm-r 列:N(AT)N(A^T) 的标准正交基

5. SVD 的应用

5.1 矩阵的伪逆

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

其中 Σ+=diag(1/σ1,,1/σr,0,,0)\Sigma^+ = \text{diag}(1/\sigma_1, \ldots, 1/\sigma_r, 0, \ldots, 0)

5.2 最小二乘解

minAxb\min\|Ax - b\| 的最小范数解为 x=A+bx = A^+b

5.3 矩阵的低秩近似

截断 SVD:Ak=UkΣkVkTA_k = U_k\Sigma_k V_k^T,用于数据压缩。

5.4 像压缩

像矩阵做 SVD,保留前 kk 个奇异值,实现有损压缩。压缩比约为 mnk(m+n+1)\dfrac{mn}{k(m+n+1)}

5.5 降噪

信号中的噪声通常对应较小的奇异值,截断小奇异值可以实现降噪。