矩阵的特征值和奇异值

矩阵的奇异值(singular values)和特征值(eigen-values),\(m\times n\) 的矩阵确定了一个 \(n\to m\) 维的向量变换。特征向量就是这种变换的中方向不变,长度变化为特征值倍的方向。奇异向量则是这一变换中长度变换倍数为奇异值的方向。


特征值

若存在标量 \(\lambda\) 和非零向量 \(\pmb v\),使得 \(\pmb A\pmb v=\lambda\pmb v\),则 \(\lambda,\pmb v\) 分别为矩阵 \(\pmb A\) 的一个特征值和特征向量。

\[\begin{align*} \pmb A\pmb v&=\lambda\pmb v\\ (\pmb A-\lambda\pmb I)\pmb v&=0\\ \end{align*} \]

因为 \(\pmb v\) 为非零向量,则求 \(\pmb A-\lambda\pmb I\) 的齐次解,即求 \(\operatorname{det}(\pmb A-\lambda\pmb I)=0\),这是一个关于 \(\lambda\) 的多次方程,解得 \(n\) 个特征值,再将每个特征值代回方程求解相应的特征向量。

从定义上看,\(\pmb v\) 在经过 \(\pmb A\) 的变换后,方向不变,长度变为 \(\lambda\) 倍。因此,特征向量就是这种变换的中方向不变,长度变化为特征值倍的方向。

特征分解

取每个特征值对应的单位特征向量组成特征矩阵 \(\pmb V:=\begin{bmatrix}\pmb v_1&\pmb v_2&\cdots&\pmb v_n\end{bmatrix}\),则 \(\pmb V^T=\pmb V^{-1}\),取 \(\pmb\Lambda:=\operatorname{diag}(\lambda_1,\lambda_2,\ldots,\lambda_n)\)

\[\begin{align*} \pmb V\pmb\Lambda\pmb V^T&=\begin{bmatrix}\lambda_1\pmb v_1&\lambda_2\pmb v_2&\cdots&\lambda_n\pmb v_n\end{bmatrix}\pmb V^T\\ &=\pmb A\pmb V\pmb V^T=\pmb A\pmb I=\pmb A \end{align*} \]

奇异值

对于矩阵 \(\pmb A\in\mathbb R^{m\times n}\),可以将其分解为 \(\pmb A=\pmb U\pmb\Sigma\pmb V^T\),其中 \(\pmb U\)\(m\) 阶正交矩阵,\(\pmb\Sigma\in\mathbb R^{m\times n}\) 为非负对角矩阵,\(\pmb V\)\(n\) 阶正交矩阵。即

\[\begin{align*} \pmb U\pmb U^T&=\pmb I_m\\ \pmb V\pmb V^T&=\pmb I_n\\ \pmb\Sigma&=\mathrm{diag}(\sigma_1,\sigma_2,\ldots,\sigma_p),\\ &\ \ \quad(\sigma_n\ge0,p=\min(m,n))\\ \end{align*} \]

\(\sigma\) 就称为 \(\pmb A\) 的奇异值,\(\pmb U\) 的列向量和 \(\pmb V\) 的列向量分别被称为 \(\pmb A\) 的左、右奇异向量。

奇异分解

实对称矩阵 \(\pmb A^T\pmb A\in\mathbb R^{n\times n}\) 必有非负实数特征值,\(\Vert\pmb A\pmb x\Vert^2=\pmb x^T\pmb A^T\pmb A\pmb x=\lambda\pmb x^T\pmb x=\lambda\Vert\pmb x\Vert^2\ge0,\lambda\ge0\)。非零特征值的个数为 \(\pmb A^T\pmb A\) 的秩,取 \(r:=\operatorname{rank}(\pmb A^T\pmb A)\),令 \(\lambda_1\ge\lambda_2\ge\cdots\ge\lambda_r>\lambda_{r+1}=\lambda_{n}=0\)

\(\pmb V\)\(\pmb A^T\pmb A\) 的特征矩阵,为 \(n\) 阶实正交矩阵,特征向量的排列和特征值排序后对应。\(\pmb V=[\pmb v_1,\pmb v_2,\ldots,\pmb v_n],\pmb V\pmb V^T=\pmb I_n\)

同理,取 \(\pmb U\)\(\pmb A\pmb A^T\) 的特征矩阵,为 \(m\) 阶实正交矩阵,特征向量的排列和特征值排序后对应。\(\pmb U=[\pmb u_1,\pmb u_2,\ldots,\pmb u_n],\pmb U\pmb U^T=\pmb I_m\)

进而构造 \(\pmb\Sigma\)

\[\begin{align*} \pmb A\pmb V&=\pmb U\pmb\Sigma\pmb V^T\pmb V\\ \pmb A\pmb V&=\pmb U\pmb\Sigma\\ \begin{bmatrix}\pmb A\pmb v_1&\pmb A\pmb v_2&\cdots\pmb A\pmb v_n\end{bmatrix}&=\begin{bmatrix}\sigma_1\pmb u_1&\sigma_2\pmb u_2&\cdots\sigma_n\pmb u_n\end{bmatrix}\\ \sigma_j&=\pmb A\pmb v_j/\pmb u_j \end{align*} \]

\(\pmb A=\pmb U\pmb\Sigma\pmb V^T\)\(\pmb A^T\pmb A=\pmb V\pmb\Sigma^T\pmb U^T\pmb U\pmb\Sigma\pmb V^T=\pmb V\pmb\Sigma^2\pmb V^T\),其中 \(\pmb\Sigma^2=\operatorname{diag}(\sigma_1^2,\sigma_2^2,\ldots,\sigma_n^2)\),则 \(\sigma\)\(\pmb A^T\pmb A\) 特征向量的平方根,\(\sigma=\sqrt\lambda\)

综上,构造方法为:

  • \(\pmb U\)\(\pmb A\pmb A^T\) 的排列的特征矩阵,\(\pmb A\pmb A^T=\pmb U\pmb\Sigma^2\pmb U^T\)
  • \(\pmb V\)\(\pmb A^T\pmb A\) 的排列的特征矩阵,\(\pmb A^T\pmb A=\pmb V\pmb\Sigma^2\pmb V^T\)
  • \(\pmb\Sigma\)\(\pmb A^T\pmb A\)\(\pmb A\pmb A^T\) 的排列的特征值的平方所组成的对角矩阵;
  • 且满足关系 \(\sigma_j=\pmb A\pmb v_j/\pmb u_j\)

\(\sigma_j=\pmb A\pmb v_j/\pmb u_j\) 可以看出 \(\pmb A\pmb v_j,\pmb u_j\) 之间是成比例的,即 \(\pmb A\pmb V=\pmb U\pmb\Sigma\),所以构造的过程中不仅要按特征值的大小排列,特征值大小相同时 \(\pmb U,\pmb V\) 也要对应好。因此实际上 \(\pmb U\) 不好通过 \(\pmb A\pmb A^T\) 求出,应该使用 \(\pmb u_j=\pmb A\pmb v_j/\sigma_j\) 的关系求出,这样 \(\pmb U,\pmb V\) 的对应关系就不会弄错了。

最终过程为:

  • \(\pmb A^T\pmb A\) 的特征值和特征向量,排序后算出特征序列组合为 \(\pmb V\)\(\sigma=\sqrt\lambda\) 得出 \(\pmb\Sigma\)
  • 用公式 \(\pmb u_j=\pmb A\pmb v_j/\sigma_j\) 求出 \(\pmb U\)

\(\pmb v\) 在经过 \(\pmb U,\pmb V^T\) 的变换后,长度不变,方向变化;经过 \(\pmb\Sigma\) 变换后,方向不变,长度变为 \(\sigma\) 倍。如果选取 \(\pmb\Sigma\) 的对角线是排序过的,则奇异值则是整个变换中长度变换的倍数。

如果取 \(\pmb v\)\(\pmb V\) 的第 \(j\) 个列向量,则 \(\Vert\pmb A\pmb v\Vert=\Vert\pmb U\pmb\Sigma\pmb V^T\pmb v_j\Vert=\Vert\sigma_j\pmb u_j\Vert=\sigma_j\),长度变化只受到 \(\sigma_j\) 影响。因此在 \(\pmb V\) 的正交基所组成的 \(\mathbb R^n\) 向量空间中,向量所拥有的不同正交基的比例决定了向量经过 \(\pmb A\) 变换后长度的变换比例,\(\pmb v_1\) 所代表的轴是长度变换最大的一个轴,\(\pmb v_2,\ldots,\pmb v_n\) 依次,对于 \(r>\operatorname{rank}(\pmb A)\) 的轴,轴上的向量将被缩小为零向量。


求对于 \(\pmb X\in\mathbb R^{m\times n},\text{s.t.}\operatorname{rank}(\pmb X)\le k\le\operatorname{rank}(\pmb A)\)\(\Vert\pmb A-\pmb X\Vert_2\) 的最小值。

\(\pmb B:=\pmb U^T\pmb X\pmb V\),则 \(\pmb X=\pmb U\pmb B\pmb V^T\)

\[\begin{align*} \Vert\pmb A-\pmb X\Vert_2&=\Vert\pmb U\pmb\Sigma\pmb V^T-\pmb X\Vert_2\\ &=\Vert\pmb U(\pmb\Sigma-\pmb B)\pmb V^T\Vert_2\\ &=\Vert\pmb\Sigma-\pmb B\Vert_2\\ \end{align*} \]

截取 \(\pmb\Sigma\) 对角线上前 \(k\) 个值,组成 \(\pmb B=\operatorname{diag}(\sigma_1,\sigma_2,\ldots,\sigma_k)\),可以使 \(\Vert\pmb\Sigma-\pmb B\Vert_2\\\) 最小,为了证明这个结果,不妨考虑其他情况:

  • \(\pmb\Sigma\) 为 0 的位置 \(\pmb B\) 也必定为 0,否则不仅结果会变大,秩也可能增加;
  • 由于 \(\pmb\Sigma\) 对角线上不为 0 的值已经排列好了,由于秩的限制,应该选择其中最大的 \(k\) 个消除。

得到 \(\pmb B=\operatorname{diag}(\sigma_1,\sigma_2,\ldots,\sigma_k)\),相应的 \(\pmb X=\pmb U\pmb B\pmb V^T\)

posted @ 2023-01-01 00:37  Violeshnv  阅读(86)  评论(0编辑  收藏  举报