矩阵的特征值和奇异值
矩阵的奇异值(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\) 的一个特征值和特征向量。
因为 \(\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)\)
奇异值
对于矩阵 \(\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\) 阶正交矩阵。即
\(\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\)
由 \(\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\),
截取 \(\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\)。