奇异值分解(SVD)

Junity 发布于 2025-02-09 94 次阅读


AI 摘要

奇异值分解(SVD)是一种强大的数学工具,能够将任意矩阵拆解为三个特定的矩阵形式,极大地简化数据分析和处理过程。它不仅与对称矩阵的特征分解有着深刻的联系,更在信号处理和统计学中展现出广泛的应用潜力。本文将带你领略这一理论的魅力,揭示如何通过精确的数学推导,获取行空间与列空间的标准正交基,实现数据维度的有效降维与重构。探索奇异值的奥秘,开启新视野!

奇异值分解(英语:Singular value decomposition,缩写:SVD)是线性代数中一种重要的矩阵分解,在信号处理、统计学等领域有重要应用。奇异值分解在某些方面与对称矩阵或厄米矩阵基于特征向量的对角化类似。然而这两种矩阵分解尽管有其相关性,但还是有明显的不同。对称阵特征向量分解的基础是谱分析,而奇异值分解则是谱分析理论在任意矩阵上的推广。
——摘自维基百科

奇异值分解

奇异值分解可以将任意一个矩阵分解为下面的形式:

$$
A = U\Sigma V^T
$$

其中,$U$ 和 $V$ 都是正交矩阵,因此原式也可以写作 $A=U\Sigma V^{-1}$;$\Sigma$ 和对角矩阵相似,主对角线上的元素为 $\sigma_{1,2,...,r}$,其余元素都为 $0$。这里的 $\sigma_{1,2,..,r}$ 称为奇异值 ,$r$ 是 $A$ 与其转置乘积的特征值数量,在后文会解释。

$$
\Sigma = \begin{bmatrix}
\sigma_1 & & & & &\\
& \sigma_2 & & & &\\
& &\ddots && &\\
& & &\sigma_r & &\\
& & & & \ddots &\\
& & & & & 0
\end{bmatrix}
$$

( $\sigma_r$ 右下方的省略号代表这些元素是 $0$ )

从几何意义上看,奇异值分解实际上是把一个线性变化拆分成了三个部分。$U$ 和 $V$ 分别是行空间(输入空间)和列空间(输出空间)的一组标准正交基,奇异值分解则先将向量基变换到正交基 $V$ 上,经过对角矩阵 $\Sigma$ 的映射到正交基 $U$ 上后,再由 $U$ 的变换到输出空间中。各个矩阵的作用如下:

  • $V^T$/$V^{-1}$ : 将坐标基变换到正交基 $V$ 上
  • $\Sigma$ :将正交基 $V$ 映射到正交基 $U$
  • $U$ 将以 $U$ 为基底的向量变换回去

总结一下,SVD的实际上是找到了行空间和列空间的一组特殊的标准正交基,使得行空间的标准正交基经过 $A$ 变换后仍然是正交的,因此可以通过 $\Sigma$ 变换成标准正交基。

奇异值分解的推导

现在的问题是如何找到这两个特殊的正交基。我们知道,对称矩阵的特征向量是正交的,而任意矩阵乘其转置都可以得到对称矩阵,这提示我们将 $A$ 与其

所以,将原式同时求转置,可得:

$$
A^T = V\Sigma^T U^T
$$

因为 $U$ 和 $V$ 都是正交矩阵,因此我们可以得到下面的方程:

$$
\begin{equation}
\begin{cases}
A = U\Sigma V^{-1}\\
A^T = V\Sigma^T U^{-1}
\end{cases}
\end{equation}
$$

把 $A$ 和 $A^T$ 相乘,可以消掉 $U$ 或者 $V$ :

$$
\begin{equation}
\begin{cases}
A^TA = V(\Sigma^T\Sigma) V^{-1}\\
AA^T = U(\Sigma\Sigma^T) U^{-1}
\end{cases}
\end{equation}
$$

这里出现了 $\Sigma$ 和其转置的乘积。因为 $\Sigma$ 只在主对角线上有非零值,因此这个乘积会使 $\Sigma$ 成为一个方阵,并且主对角线上的值是原值的平方。

这两个方程右侧的形式和特征值分解非常相似。问题是, $A^TA$ 与 $AA^T$ 是否有相同的特征值?如果是,那么得到的特征值矩阵对角线上的元素就是相等的。把这个特征值矩阵看作是 $\Sigma$ 和 $\Sigma^T$ 的乘积,就可以得到 $\Sigma$ 了:将特征值矩阵的元素开方就可以得到 $\Sigma$ 。即设特征值为 $\lambda_{1,2,..,r}$,那么 $\sigma_k=\sqrt{\lambda_k}$。

考虑 $A^TA$ 的一组特征值和特征向量 $\lambda$ 和 $x$ ,那么 $A^TAx=\lambda x$ ,同时左乘 $A$ 就得到了 $AA^T(Ax)=A\lambda x=\lambda (AX)$ ,因此 $\lambda$ 也是 $AA^T$ 的特征值。反过来同理。因此,$A^TA$ 与 $AA^T$ 确实有相同的特征值。那么现在问题都解决了,把 $A$ 和它的转置分别左右乘后求特征向量可以得到 $U$ 和 $V$ ,再求出特征值就可以得到 $\Sigma$ 。

此作者没有提供个人介绍
最后更新于 2025-02-09