奇异值分解

分步到达奇异值分解

前置证明

对称矩阵具有实特征值,有正交的特征向量(实谱定理)

实特征值的证明: 假设对于非零向量 \(x\)\(Sx = \lambda x\),则我们有 \(S \bar x = \bar \lambda \bar x\),即 \(\bar x ^\text T S = \bar \lambda \bar x^\text T\)

对于第一个式子左乘 \(\bar x ^\text T\),最后一个式子右乘 \(x\),得到:

\[ \lambda \bar x^\text T x = \bar x ^\text T Sx = \bar \lambda \bar x^\text T x \]

由于 \(x\) 非 0,因此 \(\bar x ^\text T x = \Vert x\Vert^2 \ne 0\)。则 \(\lambda = \bar \lambda\),即 \(\lambda\) 是实数。

正交特征向量的证明:

若两个特征向量 \(x_1,x_2\) 对应不同的特征值 \(\lambda_1, \lambda_2\),则有 \(Sx_1 = \lambda_1 x_1\),左乘 \(x_2 ^\text T\) 得到 \(x_2 ^\text T S x_1 = \lambda_1 x_2 ^\text T x_1\)。同样有 \(Sx_2 = \lambda_2 x_2\),对它取转置,得到 \(x_2 ^\text TS = \lambda_2 x_2 ^\text T\),右乘 \(x_1\),得到 \(x_2 ^\text TSx_1 = \lambda_2 x_2 ^\text Tx_1\)

此时,我们有:

\[ \lambda_1 x_2 ^\text Tx_1 = x_2 ^\text TSx_1 = \lambda_2 x_2 ^\text Tx_1 \]

由于 \(\lambda_1 \ne \lambda_2\),得到 \(x_2 ^\text Tx_1 = 0\),即 \(x_1, x_2\) 正交。

由于至少有一个特征值 \(\lambda\),我们一定可以至少取出一个特征向量 \(u\),则可以在此基础上构造一组规范正交基 \(u, u_2, \cdots u_n\)。构造 \(U = [u, u_2, \cdots u_n]\),则 \(U\) 正交,且

\[ SU = [\lambda u, Su_2, \cdots, Su_n] = U\begin{bmatrix}\lambda & \beta^\text T \\ 0 & S_{n-1}\end{bmatrix} \]

\(U^\text T\) 右乘,得到:

\[ \begin{aligned} S &= U \begin{bmatrix}\lambda & \beta^\text T \\ 0 & S_{n-1}\end{bmatrix} U^\text T \\ S ^\text T &= U \begin{bmatrix}\lambda & 0 \\ \beta & S_{n-1}^\text T\end{bmatrix} U^\text T \end{aligned} \]

由于 \(S\) 对称,则 \(\beta = 0, S_{n-1} = S_{n-1}^\text T\)

不难发现 \(n=1\) 时,存在规范正交的 \(U_1\) 使得 \(S_1 = U_1\operatorname{diag}(\lambda) U_1^\text T\)

\(n > 1\) 时,存在规范正交的 \(U\) 使得:

\[ \begin{aligned} S_n &= U\begin{bmatrix}\lambda_1 & 0 \\ 0 & U_{n-1}\operatorname{diag}(\lambda_{n-1}) U_{n-1}^\text T\end{bmatrix} U^\text T\\ &= U\begin{bmatrix}1 & 0 \\ 0 & U_{n-1}\end{bmatrix}\operatorname{diag}(\lambda_n)\begin{bmatrix}1 & 0 \\ 0 & U_{n-1}^\text T\end{bmatrix}U^\text T \end{aligned} \]

\(U_n = U\begin{bmatrix}1 & 0 \\ 0 & U_{n-1}\end{bmatrix}\),则存在规范正交的 \(U_n\) 使得 \(S = U_n\operatorname{diag}(\lambda_n)U_n^\text T\)

使用归纳法即可完成证明。

半正定矩阵有非负特征值

半正定矩阵定义:若 \(\forall u \in \mathbb R^n,u \ne 0\)\(u^\text TAu \ge 0\),则 \(A\) 被称为半正定矩阵。

感性理解:\(Au\)\(u\) 映射到新向量,\(u^\text T Au \ge 0\) 说明新向量和原向量的夹角不大于 90 度,即在相同的方向上,这就叫“半正”。如果严格小于 90 度,即 \(u^\text T Au > 0\)\(A\) 被叫做“正定”。

非负特征值就显然了。对于特征向量 \(x\)\(x^\text T Ax = \lambda x^\text T x = \lambda \Vert x\Vert^2 \ge 0\),说明 \(\lambda \ge 0\)

对于任意实矩阵 \(A \in \mathbb R^{m \times n}\)\(A^\text T A\) 为对称半正定矩阵

首先是对称:\((A^\text T A)^\text T = A^\text T A\)

接下来是半正定:对于任意非零向量 \(u\)\(u^\text T A^\text T Au = (Au)^\text T (Au) \ge 0\)。则 \(A^\text TA\) 半正定。

特别地,若 \(A\) 满秩,则 \(Au \ne 0\),此时 \(A^\text TA\) 正定。

\(AA^\text T\)\(A^\text T A\) 有相同的非零特征值

\(A^\text T Ax = \lambda x, \lambda \ne 0\),则 \(AA^\text T(Ax) = \lambda (Ax)\)

因为 \(A^\text T(Ax) = \lambda x \ne 0\),则 \((Ax) \ne 0\)。说明 \(AA^\text T\) 有特征值 \(\lambda\) 和特征向量 \(Ax\)

构造 \(V_r\)

对于 \(A^\text T A\) 做特征值分解得到 \(V\Lambda_v V^\text T\)

不妨令 \(\Lambda_v\) 对角线元素从大到小排序。假设 \(A\) 的秩为 \(r\),构造 \(\Sigma_r \in R^{r \times r}\),其中主对角线元素是 \(\Lambda_v\)\(r\) 个主对角线元素的算术平方根(即非零元素)。

同样地,取 \(V_r \in \mathbb R^{n \times r}\),则有 \(A^\text T A= V_r\Sigma_r^2V_r^\text T\)。也即 \(V_r^\text T A^\text T AV_r = \Sigma_r^2\)

构造 \(U_r\)

接下来构造 \(U_r = AV_r\Sigma_r^{-1}\)。则:

\[ U^\text TU = \Sigma_r^{-1}V_r^\text T A^\text TAV_r\Sigma_r^{-1} = \Sigma_r^{-1}\Sigma_r^2\Sigma_r^{-1} = I \]

说明 \(U_r\) 是规范正交的。

\(A = U_r\Sigma_r V_r^\text T\)

证明:

\[ U_r\Sigma_r V_r^\text T = AV_r\Sigma_r^{-1}\Sigma_r V_r^\text T = A \]

此时,我们已经得到了 \(A\) 的一种按秩奇异值分解。接下来我们将说明 \(U_r\)\(AA^\text T\) 的非零特征值对应的特征向量,进而给出完整的奇异值分解,同时说明:

  • \(U_r\)\(A\) 列空间的一组基。
  • \(V_r\)\(A\) 行空间的一组基。

构造完整的 \(U,\Sigma,V\)

由于 \(U_r, V_r\) 都是规范正交的,自然可以在他们的基础上各补全出唯一一组完整的规范正交基。\(V_r\) 的补全结果就是先前特征值分解得到的 \(V\),我们先把 \(U_r\) 的补全结果记作 \(U\),再将 \(\Sigma_r\) 通过补零的方法得到 \(\Sigma \in \mathbb R^{m\times n}\)。由于 \(\Sigma\) 多出来的行列都是 0,我们仍然有:\(A = U\Sigma V^\text T\)

则我们有:

\[ AA^\text T = U\Sigma V^\text T V\Sigma ^\text T U^\text T = U\Sigma \Sigma^TU^\text T \]

\(\Lambda_u = \Sigma \Sigma^\text T\)。不难发现 \(\Lambda_u\) 的非零元素和 \(\Lambda_v\) 相同,都是 \(AA^\text T\) 以及 \(A\text T A\) 的特征值。因此我们得到:\(U\)\(AA^\text T\) 特征值分解的结果。

综上,我们可以得到以下性质:

  • 任意实矩阵都可以分解为 \(U \Sigma V^\text T\) 的形式。其中,\(U\)\(AA^\text T\) 的特征向量,\(V\)\(A^\text TA\) 的特征向量。\(\Sigma\) 的非零值是 \(A^\text TA\) 特征值的算术平方根。
  • \(U,V\) 中有效的向量数是 \(A\) 的秩 \(r\),可以将非零的特征值对应的向量取出构成 \(A = U_r\Sigma_r V_r^\text T\)
  • \(U_r\)\(A\) 的列空间的一组基,\(V_r\)\(A\) 的列空间的一组基。
  • 将剩下的 0 特征值对应的向量取出构成 \(U_e, V_e\)\(U_e\)\(A\) 的左零空间的一组基(\(A^\text T U_e = 0\)),\(V_e\)\(A\) 的零空间的一组基(\(AV_e = 0\))。

复数?

上述证明可以直接扩展到复数:只需将所有的转置变成共轭转置,并注意到前置证明:

  • 自伴矩阵具有实特征值和酉特征向量(\(UU^*=I\))。(复谱定理)
  • 半正定矩阵有非负特征值。
  • 对于任意复矩阵,\(AA^*\) 是半正定矩阵。
  • \(AA^*\)\(A^* A\) 有相同的非零特征值。

就可以自然地把接下来的证明拓展到复数。所有性质仍然成立:

  • 任意复矩阵都可以分解为 \(U \Sigma V^*\) 的形式。其中,\(U\)\(AA^*\) 的特征向量,\(V\)\(A^*A\) 的特征向量。\(\Sigma\) 的非零值是 \(A^*A\) 特征值的算术平方根。
  • \(U,V\) 中有效的向量数是 \(A\) 的秩 \(r\),可以将非零的特征值对应的向量取出构成 \(A = U_r\Sigma_r V_r^*\)
  • \(U_r\)\(A\) 的列空间的一组基,\(V_r\)\(A\) 的列空间的一组基。
  • 将剩下的 0 特征值对应的向量取出构成 \(U_e, V_e\)\(U_e\)\(A\) 的左零空间的一组基(\(A^* U_e = 0\)),\(V_e\)\(A\) 的零空间的一组基(\(AV_e = 0\))。