文章目录
奇异值分解(SVD)
前面提到对于方阵 A A A, 大小为nxn, 在一定条件下, 可以进行特征值和特征向量分解. 但存在问题:
- 方阵 A A A的特征向量并不正交(只有是对称矩阵的情况下才正交).
- 方阵 A A A的特征向量数量不够(即不满足n个特征向量组是线性相关的).
- 并不是一个方阵(A可能并不是方阵).
这种情况下如何对大小为mxn的矩阵 A A A 进行分解呢? A A A的奇异向量能够完美地解决上述问题.
1. SVD的推导
目标: 寻找行空间的一组标准正交基, 作用 A A A以后, 变换到列空间的一组正交基(倍数乘以标准正交基).
A v 1 = σ 1 u 1 , A v 2 = σ 2 u 2 , . . . , A v r = σ r u r Av_1 = \sigma_1 u_1, Av_2 = \sigma_2 u_2, ... , Av_r = \sigma_r u_r Av1=σ1u1,Av2=σ2u2,...,Avr=σrur
v i ∈ R n , u i ∈ R m v_i \in \mathbb{R}^n, u_i \in \mathbb{R}^m vi∈Rn,ui∈Rm
所以可以得到:
A [ v 1 . . . v r ] = [ u 1 . . . u r ] [ σ 1 . . σ r ] ⇒ A V = U Σ A \begin{bmatrix} v_1&...&v_r\end{bmatrix} = \begin{bmatrix} u_1&...&u_r\end{bmatrix} \begin{bmatrix}\sigma_1\\&.\\&&.\\ &&& \sigma_r \end{bmatrix} \Rightarrow AV = U\Sigma A[v1...vr]=[u1...ur]⎣⎢⎢⎡σ1..σr