奇异值分解初探

知识回顾

矩阵的四个基本空间, 不了解下吗? 中, 介绍了实矩阵的四个基本空间的正交关系

{C(AT)=N(A)C(A)=N(AT) \begin{cases} C(A^{\mathsf T}) = N(A)^{\perp} \\\\[3pt] C(A) = N(A^{\mathsf T})^{\perp} \end{cases}

  • 行空间是零空间的正交补;
  • 列空间是左零空间的正交补.
正交关系
正交关系

在四个基本空间中, 通过 初等行变换 得到了它们的普通基底, 这一次首先讨论其正交基底.


正交基底

假设有 m×nm\times n 阶实矩阵 AA

rank(A)=rmax{m,n} {\rm rank}(A) = r \leq \max\{m, n \}

考虑列向量 Gram 矩阵 ATAA^{\mathsf T}A, 由于其是对称矩阵, 所以可以正交单位对角化

ATA=VT[σ12000σ22000σn2]V A^{\mathsf T}A = V^{\mathsf T}\begin{bmatrix} \sigma_1^2 & 0 & \cdots & 0 \\\\ 0 & \sigma_2^2 & \cdots & 0 \\\\ \vdots & \vdots & \ddots & \vdots \\\\ 0 & 0 & \vdots & \sigma_n^2 \end{bmatrix}V

不妨设 σi0\sigma_i \geq 0, V=[v1,v2,,vn]V=[v_1, v_2, \cdots, v_n]

ATAvi=σi2vii=1,2,,n\labeleq:eq1 \begin{equation} A^{\mathsf T}A v_i = \sigma_i^2 v_i \quad i = 1, 2, \cdots, n \label{eq:eq1} \end{equation}

其中, σi2\sigma_i^2 是列向量 Gram 矩阵 ATAA^{\mathsf T}A 的特征值, viv_iATAA^{\mathsf T}A 对应于 σi2\sigma_i^2 的单位特征向量, 即 VV 的列向量是 Rn\mathbb{R}^n 的一组标准正交基, 因此

Avi=viTATAvi=σi2viTvi=σi2 \lVert Av_i \rVert = v_i^{\mathsf T} A^{\mathsf T} A v_i = \sigma_i^2 v_i^{\mathsf T} v_i = \sigma_i^2

又因为 rank(ATA)=rank(A)=r{\rm rank}(A^{\mathsf T}A) = {\rm rank}(A) = r, 不妨设

σ1σ2σr>0\sigma_1 \geq \sigma_2 \geq \cdots \sigma_r > 0

并且,

σr+1==σn=0\sigma_{r+1} = \cdots = \sigma_n = 0

所以,

Avi=σi2=0i=r+1,,n \lVert Av_i \rVert = \sigma_i^2 = 0 \quad i = r+1, \cdots , n

Avi=0,i=r+1,,nAv_i = 0, i = r+1, \cdots , n

{vr+1,,vn}N(A)=N(ATA)\{ v_{r+1}, \cdots, v_n \} \subset N(A) = N(A^{\mathsf T}A)

又因为 dimN(A)=nr\dim N(A) = n-r, 所以 {vr+1,,vn}\{ v_{r+1}, \cdots, v_n \}N(A)N(A) 的一组标准正交基,

又因为C(AT)=N(A)C(A^{\mathsf T}) = N(A)^{\perp}, 所以 {v1,,vr}\{ v_{1}, \cdots, v_r \}C(AT)C(A^{\mathsf T}) 的一组标准正交基.


对式(\ref{eq:eq1})左右同乘 AA

AATAvi=σi2Avii=1,2,,n AA^{\mathsf T}A v_i = \sigma_i^2 Av_i \quad i = 1, 2, \cdots, n

其中, σi2,i=1,,r\sigma_i^2, i=1, \cdots, r 是行向量 Gram 矩阵 AATAA^{\mathsf T} 的非零特征值, AviAv_iAATAA^{\mathsf T} 相应于 σi\sigma_i 的特征向量.

ui=Aviσi,i=1,,ru_i = \frac{Av_i}{\sigma_i}, i = 1, \cdots, r, 则

uiTuj=(Aviσi)TAvjσj=viTATAvjσiσj=σiσjviTvjσiσj={1i=j0ij \begin{aligned} u_i^{\mathsf T}u_j & = \left(\frac{Av_i}{\sigma_i} \right)^{\mathsf T} \frac{Av_j}{\sigma_j} = \frac{ v_i^{\mathsf T} A^{\mathsf T} A v_j }{\sigma_i \sigma_j} \\\\[3pt] & = \frac{ \sigma_i \sigma_j v_i^{\mathsf T} v_j }{\sigma_i \sigma_j} = \begin{cases} 1 \quad i=j \\\\[3pt] 0 \quad i \neq j \end{cases} \end{aligned}

所以, {u1,ur}\{ u_1, \cdots u_r \} 是单位正交向量组, 继而是 C(A)C(A) 的一组标准正交基.

接下来, 扩充单位正交向量 {ur+1,um}\{ u_{r+1}, \cdots u_m \}, 使得 {u1,ur,ur+1,,um}\{ u_1, \cdots u_r, u_{r+1}, \cdots, u_m \} 成为 Rm\mathbb{R}^m 的标准正交基. 因为 C(A)=N(AT)C(A) = N(A^{\mathsf T})^{\perp}, 所以, {ur+1,um}\{ u_{r+1}, \cdots u_m \}N(AT)N(A^{\mathsf T}) 的一组标准正交基.


综上, 理论上得到了实矩阵 AA 的四个基本空间各自的正交基.

  • {v1,,vr}\{ v_{1}, \cdots, v_r \} 是行空间 C(AT)C(A^{\mathsf T}) 的正交基底;
  • {vr+1,,vn}\{ v_{r+1}, \cdots, v_n \} 是零空间 N(A)N(A) 的正交基底;
  • {u1,ur}\{ u_1, \cdots u_r \} 是列空间 C(A)C(A) 的正交基底;
  • {ur+1,um}\{ u_{r+1}, \cdots u_m \} 是左零空间 N(AT)N(A^{\mathsf T}) 的正交基底.
正交基底
正交基底

以上运用了一些前几次证明过的结论:

  • r=rankA=rankAT=rank(ATA)=rank(AAT) \begin{aligned} r &= \hbox{rank}A=\hbox{rank}A^{\mathsf T} \\\\[3pt] &=\hbox{rank}(A^{\mathsf T}A)=\hbox{rank}(AA^{\mathsf T}) \end{aligned}
  • 列空间

    {C(AT)=C(ATA)C(A)=C(AAT) \begin{cases} C(A^{\mathsf T})=C(A^{\mathsf T}A) \\\\[3pt] C(A)=C(AA^{\mathsf T}) \end{cases}
  • 零空间

    {N(A)=N(ATA)N(AT)=N(AAT) \begin{cases} N(A)=N(A^{\mathsf T}A) \\\\[3pt] N(A^{\mathsf T})=N(AA^{\mathsf T}) \end{cases}

以及一些结论:

  • ATAA^{\mathsf T}A 的特征值为 σ12,,σn2\sigma_1^2,\cdots,\sigma_n^2, 对应单位正交的特征向量 v1,,vnv_1, \cdots, v_n
  • AATAA^{\mathsf T} 的特征值为 σ12,,σm2\sigma_1^2,\cdots,\sigma_m^2,对应单位正交的特征向量 u1,,umu_1, \cdots, u_m
  • Avi=σiui,σi>0,i=1,,rAv_i=\sigma_iu_i, \sigma_i>0, i=1, \cdots, r, 且 Avi=0,i=r+1,,nAv_i=0, i=r+1, \cdots, n
  • ATuj=σjvj,σj>0,j=1,,rA^{\mathsf T}u_j=\sigma_jv_j, \sigma_j>0, j=1, \cdots, r, 且 ATuj=0,j=r+1,,mA^{\mathsf T}u_j=0, j=r+1, \cdots, m

特征值分解简介

经过以上过程, 可以将任意 m×nm\times n 阶矩阵 AA 分解为 {ui},{vi},{σi}\{ u_i\}, \{ v_i\}, \{\sigma_i\} 构成的三个矩阵的乘积

A=UΣVT A = U\Sigma V^{\mathsf T}

这就是奇异值分解(singular value decomposition), 简称 SVD.


更多..奇异值分解..的内容可以戳 这里