[DL Note] 线性代数:奇异值分解
类似于特征分解将矩阵分解成特征向量和特征值,奇异值分解(singular value decomposition,SVD)将矩阵分解成奇异向量(singular vector)和奇异值(singular value)。并不是所有的矩阵都有特征分解,但对任意矩阵 $A$ 都有奇异值分解
\begin{equation}
\boldsymbol A = \boldsymbol U \boldsymbol D \boldsymbol V^\mathsf{T} \tag{1}
\end{equation}
其中 $\boldsymbol A$ 是 $m \times n$ 矩阵,$\boldsymbol U$ 是 $m \times m$ 矩阵,$\boldsymbol D$ 是 $m \times n$ 矩阵,$\boldsymbol V$ 是 $n \times n$ 矩阵。$\boldsymbol U$ 和 $\boldsymbol V$ 是正交矩阵,$\boldsymbol D$ 是对角矩阵(但不一定是方阵)。
对角矩阵 $\boldsymbol D$ 对角线上的元素称为矩阵 $\boldsymbol A$ 的奇异值,$\boldsymbol U$ 的列向量称为 $\boldsymbol A$ 的左奇异向量(left singular vector),它是 $\boldsymbol A\boldsymbol A^\mathsf{T}$ 的特征向量。$\boldsymbol V$ 的列向量称为 $\boldsymbol A$ 的右奇异向量(right singular vector),它是 $\boldsymbol A^\mathsf{T}\boldsymbol A$ 的特征向量。$\boldsymbol A$ 的非零奇异值是 $\boldsymbol A^\mathsf{T}\boldsymbol A$ 特征值的平方根,也是 $\boldsymbol A\boldsymbol A^\mathsf{T}$ 特征值的平方根。