奇异值分解再探

奇异值分解是现代线性代数的核心?

知识回顾

假设有 $m\times n$ 阶实矩阵 $\boldsymbol{A}$,

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

  • 列向量 Gram 矩阵可正交对角化(包括单位化)

$$ \boldsymbol{A}^{\mathsf T}\boldsymbol{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 $$

  • 行向量 Gram 矩阵可正交对角化(包括单位化)

$$ \boldsymbol{A}\boldsymbol{A}^{\mathsf T}= U^{\mathsf T}\begin{bmatrix} \sigma_1^2 & 0 & \cdots & 0 \\
0 & \sigma_2^2 & \cdots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \vdots & \sigma_m^2 \end{bmatrix}U $$

其中, 不妨假设

$$\sigma_1 \geq \sigma_2 \geq \cdots \sigma_r > 0$$

并且,

$$\sigma_{r+1} = \cdots = \sigma_k = 0 $$

其中, $k = \max\{m , n\}$


另外, 实矩阵 $\boldsymbol{A}$ 还满足:

$$ \begin{cases} \boldsymbol{A}\mathbf{v}_i =\sigma_i\mathbf{u}_i, & i=1, \cdots, r \\[3pt] \boldsymbol{A}\mathbf{v}_i =0, &i=r+1, \cdots, n \\[3pt] \boldsymbol{A}^{\mathsf T}\mathbf{u}_j=\sigma_j\mathbf{v}_j, &j=1, \cdots, r \\[3pt] \boldsymbol{A}^{\mathsf T}\mathbf{u}_j=0, &j=r+1, \cdots, m \end{cases} $$

  • $\{ \mathbf{v}_{1}, \cdots, \mathbf{v}_r \}$ 是行空间 $C(\boldsymbol{A}^{\mathsf T})$ 的正交基底;
  • $\{ \mathbf{v}_{r+1}, \cdots, \mathbf{v}_n \}$ 是零空间 $N(\boldsymbol{A})$ 的正交基底;
  • $\{ \mathbf{u}_1, \cdots \mathbf{u}_r \}$ 是列空间 $C(\boldsymbol{A})$ 的正交基底;
  • $\{ \mathbf{u}_{r+1}, \cdots \mathbf{u}_m \}$ 是左零空间 $N(\boldsymbol{A}^{\mathsf T})$ 的正交基底.


接下来的任务是证明:

$$ \boldsymbol{A} = U\Sigma V^{\mathsf T} $$

其中, $U$ 和 $V$ 分别是 $m$ 阶和 $n$ 阶的正交矩阵, $\Sigma$ 是 $m\times n$ 阶的对角矩阵.

正交基底 ◎ 正交基底

证明

首先, $\Sigma$ 是 $m\times n$ 阶的对角矩阵?

问题来了: 对角矩阵不是方阵吗?

$$ \Sigma = \left[ \begin{array}{ccc|c} \sigma_1&& &\\ &\ddots&& Z_{r, n-r}\\ &&\sigma_r &\\
\hline &Z_{m-r, r}& & Z_{m-r, n-r} \end{array} \right] $$

其中, $Z$ 表示零矩阵(Zero matrix).

利用分块矩阵:

$$ \begin{aligned} \boldsymbol{A}V &= \boldsymbol{A}[\mathbf{v}_1, \cdots, \mathbf{v}_r, \mathbf{v}_{r+1}, \cdots, \mathbf{v}_n] \\[3pt] & = [\boldsymbol{A}\mathbf{v}_1, \cdots, \boldsymbol{A}\mathbf{v}_r, \boldsymbol{A}\mathbf{v}_{r+1}, \cdots, \boldsymbol{A}\mathbf{v}_n] \\[3pt] & = [\sigma_1\mathbf{u}_1, \cdots, \sigma_r\mathbf{u}_r, 0, \cdots, 0] \\[3pt] & = [\mathbf{u}_1, \cdots, \mathbf{u}_m] \left[ \begin{array}{ccc|c} \sigma_1&& &\\ &\ddots&& Z_{r, n-r}\\ &&\sigma_r &\\
\hline &Z_{m-r, r}& & Z_{m-r, n-r} \end{array} \right] \\[3pt] & = U \Sigma \end{aligned} $$

因为 $V$ 是正交矩阵, 所以

$$ \boldsymbol{A} = U\Sigma V^{-1} = U\Sigma V^{\mathsf T} $$

验证

  • 列向量 Gram 矩阵

$$ \begin{aligned} \boldsymbol{A}^{\mathsf T}\boldsymbol{A} &= (U\Sigma V^{\mathsf T})^{\mathsf T}U\Sigma V^{\mathsf T} \\[3pt] & = V\Sigma^{\mathsf T} (U^{\mathsf T}U) \Sigma V^{\mathsf T} \\[3pt] & = V(\Sigma^{\mathsf T}\Sigma) V^{\mathsf T} \end{aligned} $$

  • 行向量 Gram 矩阵

$$ \begin{aligned} \boldsymbol{A}\boldsymbol{A}^{\mathsf T} &= U\Sigma V^{\mathsf T}(U\Sigma V^{\mathsf T})^{\mathsf T} \\[3pt] & = U\Sigma (V^{\mathsf T}V)\Sigma^{\mathsf T}U^{\mathsf T} \\[3pt] & = U(\Sigma^{\mathsf T}\Sigma) U^{\mathsf T} \end{aligned} $$

与上述结果一致.

化简

通常把 $U$ 写成列向量的形式, 把 $V$ 写成行向量的形式, 即

$$ \begin{aligned} \boldsymbol{A} & = [u_1, \cdots, u_r, u_{r+1}, \cdots, u_m] \\[3pt] & \quad \left[ \begin{array}{ccc|c} \sigma_1&& &\\ &\ddots&& Z_{r, n-r}\\ &&\sigma_r &\\
\hline &Z_{m-r, r}& & Z_{m-r, n-r} \end{array} \right] \begin{bmatrix} v_1^{\mathsf T} \\
\vdots \\
v_r^{\mathsf T} \\
v_{r+1}^{\mathsf T} \\
\vdots \\
v_n^{\mathsf T} \end{bmatrix} \end{aligned} $$

分块运算得:

$$ \boldsymbol{A} = [u_1, \cdots, u_r] \begin{bmatrix} \sigma_1 & 0 & \cdots & 0 \\
0 & \sigma_2 & \cdots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \vdots & \sigma_r \end{bmatrix} \begin{bmatrix} v_1^{\mathsf T} \\
\vdots \\
v_r^{\mathsf T} \end{bmatrix} $$

也就是说: 任意秩为 $r$ 的矩阵 $\boldsymbol{A}$ 都可以写成 $r$ 个秩一矩阵的和

$$ \boldsymbol{A} = u_1\sigma_1 v_1^{\mathsf T} + \cdots u_r\sigma_r v_r^{\mathsf T} $$

SVD ◎ SVD

复盘

上面所能进行下去的关键在于:

$$ \boldsymbol{A}v_i = \sigma_i u_i, \quad i = 1, \cdots, r $$

矩阵(变换) $\boldsymbol{A}$ 将行空间 $C(\boldsymbol{A}^{\mathsf T})$ 的正交基底映至列空间 $C(\boldsymbol{A})$ 的正交基底, $\sigma_i$ 称为奇异值

不是所有矩阵都可以对角化, 但所有矩阵都可以进行奇异值分解

几何意义

这个 知乎回答 给出了如下解释, 我也比较满意

应用

We Recommend a Singular Value Decomposition Austin) 中介绍了如下几个应用:

  • Data compression(数据压缩)
  • Noise reduction (去噪)
  • Data analysis(数据分析)

数据分析中, 我们知道的主成分分析(PCA)的数学原理即为奇异值分解(SVD).


以上所有部分就是奇异值分解(singular value decomposition), 简称 SVD. 实际上, 之前做的几篇都是为这一篇做准备:

  1. 秩-零化度定理(Rank-Nullity Theorem)
  2. 矩阵的四个基本空间, 不了解下吗?
  3. 矩阵的四个基本空间的基底
  4. Gram 矩阵
  5. 正交矩阵之旋转与镜射
  6. 奇异值分解初步

接下来, 奇异值分解专题并没有结束, 我将以我的思考阐述 SVD 的几何意义以及一些实际应用.


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

updatedupdated2020-04-042020-04-04
加载评论