矩阵的 EVD 与 SVD
本文所有的向量默认为列向量。若无特殊声明,默认矩阵包含复数,这是因为在复数域下由代数基本定理,总是可以认为特征值存在且代数重数之和为 \(n\)。
为了了解任意奇异值分解 SVD,首先先了解一下对于特征值分解 EVD。
一些前置
-
对于 \(m\times n\) 阶矩阵 \(A\) 像空间定义为 \(\operatorname{im}(A)=\{A\mathbf x|\mathbf x\in \mathbb C ^{n}\}\),核空间定义为 \(\ker(A)=\{\mathbf x|A\mathbf x=\mathbf 0\}\)。像空间的维度就是秩。
-
对于 \(m\times n\) 阶矩阵 \(A\),考虑利用矩阵映射的线性性,构造像空间与核空间的基,即可证秩-零化度定理:\(\operatorname{rank}(A)+\dim \ker(A)=n\)。
-
特征值与特征向量:线性变换在特征向量方向上表现为纯粹的伸缩,伸缩的比率就是该特征向量的特征值。
-
不同特征值对应的特征向量线性无关。
-
特征多项式:\(f(x)=\det(A-xI)\)。显然特征值是特征多项式的根。
-
每一个特征值对应至少一个特征向量,同一个特征值对应的特征向量组成一个线性空间 \(\ker(A-\lambda I)\)。
-
不同特征值对应的特征空间线性无关。
-
\(A,B\) 相似当且仅当存在可逆矩阵 \(P\) 使得 \(A=P^{-1}AP\)。相似显然具有传递性,且相似的矩阵具有相同的特征多项式。
方阵的对角化
特征值分解
首先我们已经知道了特征值和特征向量的意义:矩阵代表的线性变换在特征向量对应的方向上表现为单纯的伸缩变换,且变换的系数是特征值。
我们称一个 \(n\) 阶方阵 \(A\) 可对角化,当且仅当存在可逆矩阵 \(P\) 和对角矩阵 \(\Lambda\) 使得 \(A=P^{-1}\Lambda P\)。
\(n\) 阶复方阵 \(A\) 可对角化当且仅当 \(A\) 存在一组特征向量满足 \(n\) 个向量线性无关。
必要性:容易发现 \(P\) 的列向量就是 \(A\) 的特征向量。
充分性:我们通过矩阵 \(P\) 进行基变换,使得特征向量变成坐标轴,这样矩阵可以描述为每一个坐标轴上的伸缩变换的组合,然后再把坐标轴变换回去。具体来说,直接将特征向量排成一个矩阵就得到了一个合法的 \(P\)。
对角化的意义在于允许我们快速计算矩阵的任意实数次幂 \(A^k=P^{-1}\Lambda^k P\)。
由于可对角化矩阵与对角阵相似,因此对角化出来的对角矩阵一定恰好由原矩阵的特征值排列组成。
特征值的重数与广义特征空间
特征空间的维数 \(\dim \ker(A-\lambda_i I)\) 被称为特征值 \(\lambda_i\) 的几何重数 \(g_i\)。
由代数基本定理,特征多项式可以被分解成 \(\prod_i (x-\lambda_i)^{m_i}\),其中 \(m_i\) 就是 \(\lambda_i\) 的代数重数。
对于特征值 \(\lambda_i\),定义广义特征空间为:
我们有如下结论:
广义特征空间的维数就是代数重数,有推论 \(\forall i,g_i\le m_i\),且 \(\forall i,g_i=m_i\) 等价于矩阵可被对角化。
证明似乎有点麻烦,可能涉及 Jordan 块或者准素分解理论,我不会 QAQ。
正规方阵的酉对角化
有关复矩阵
对于复方阵 \(A\),定义其共轭转置(埃尔米特转置) \(A^H\) 表示将所有元素取共轭之后转置。
对于满足 \(A^HA=AA^H\) 的方阵 \(A\) 称为正规方阵。
正规方阵常见类型包括:埃尔米特阵(\(A^H=A\)),反埃尔米特阵(\(A^H=-A\)),酉(幺正)矩阵(\(A^H=A^{-1}\))。上面三种矩阵的实数版本分别被称为:对称阵(\(A^T=A\)),反对称阵(\(A^T=-A\)),正交矩阵(\(A^T=A^{-1}\))。
我们格外关注一下正交矩阵,这类矩阵在后面还会提起。拆开 \(A^T=A^{-1}\) 发现这代表对于列向量 \(\mathbf a_i,\mathbf a_j\),\(\mathbf a_i\cdot \mathbf a_j=[i=j]\)。也就是说所有的向量模长为 \(1\) 且两两正交。这也是正交矩阵名字的来历。
对于复域上的推广酉矩阵同理,所有向量模长为 \(1\) 且两两正交。
酉(正交)矩阵实际上代表这样一类线性变换:它们会对向量进行旋转,但是从不改变两个向量间的夹角。
特别注意对于复向量 \(\mathbf x\) 的模长(欧几里得范数) \(\Vert \mathbf x\Vert_2\) 定义为 \(\sqrt{\sum_{i} |x_i|^2}\),而不是 \(\sqrt{\sum_{i} x_i^2}\)。
谱分解与谱定理
谱定理表述如下:
对于复方阵 \(A\),其存在酉对角化 \(A=U^H\Lambda U\) 等价于 \(A\) 是正规矩阵,其中 \(U\) 为酉矩阵,\(\Lambda\) 为对角阵。
-
必要性:\(AA^H=(U^H\Lambda U)(U^H\Lambda U)^H=U^H(\Lambda\Lambda^H)U=U^H(\Lambda^H\Lambda)U=(U^H\Lambda U)^H(U^H\Lambda U)=A^HA\)。即 \(A\) 正规。
-
充分性:考虑对于 \(n\) 归纳,递归构造复方阵的谱分解。任取一个特征值 \(\lambda\) 及其对应的单位特征向量 \(\mathbf v\)。在 \(n\) 维空间中,任取一组包含 \(\mathbf v\) 的正交基 \((\mathbf v,\mathbf v_1,\mathbf v_2,\dots,\mathbf v_{n-1})\),设 \((n-1)\times n\) 的矩阵 \(V=(\mathbf v_1,\mathbf v_2,\dots,\mathbf v_{n-1})\)(也就是,取 \(\mathbf v\) 的正交补空间的某一个正交基)。则 \(VAV^H\) 是一个 \(n-1\) 阶的正规矩阵。(由 \(A\) 的正规性易证)对其应用酉对角化:\(VAV^H=Q^H\Lambda' Q\)。构造 \(U=\begin{pmatrix}\mathbf v^H \\ QV\end{pmatrix}\),\(UU^H=\begin{pmatrix}\mathbf v^H\mathbf v & (V\mathbf v)^HQ^H\\ Q(V\mathbf v)& QVV^HQ^H\end{pmatrix}=I\),且 \(U A U^H=\begin{pmatrix}\mathbf v^HA\mathbf v& \mathbf v^H AV^HQ^H\\QVA\mathbf v & QVAV^HQ\end{pmatrix}=\begin{pmatrix}\lambda & \\ & \Lambda'\end{pmatrix}\)。归纳成立。(以上使用了 \(A\mathbf v=\lambda \mathbf v\),\(V\mathbf v\) 为零矩阵,\(\mathbf v^H\mathbf v=\Vert \mathbf v\Vert=1\),\(VV^H=I_{n-1}\),\(QQ^H=I_{n-1}\),\(AV^HQ^H=V^HQ^H\Lambda'\))
谱定理事实上说明了正规矩阵存在一组正交的特征向量。
吐槽:证明里有好多颜文字 \(Q\Lambda Q\)!
实对称方阵的正交对角化
可以发现酉对角化的条件比对角化更加苛刻。如果严格限制在实矩阵范围内,我们仍然可以对实正规矩阵进行酉对角化,然而对角化出来的结果不一定是实矩阵,因为可能有复特征值存在。
对于非对称的实正规矩阵,其一定存在非实特征值,不能进行实对角化。
如果要限制对角化出来的结果是实矩阵,即进行正交对角化,我们有如下定理。
实数谱定理:对于实方阵 \(A\),其存在正交对角化 \(A=U^T\Lambda U\) 等价于 \(A\) 是实对称矩阵,其中 \(U\) 为正交矩阵,\(\Lambda\) 为实对角阵。
-
必要性:注意到 \((U^T\Lambda U)^T=U^T\Lambda U\),对称性必须成立。
-
充分性:我们只需要证明实对称矩阵一定存在实特征值,且存在一组特征向量两两正交。接着直接对这组正交的特征向量进行特征值对角化即可。
由于对于任意特征值 \(\lambda\) 及其对应的任意特征向量 \(\mathbf x\),\(A\mathbf x=\lambda \mathbf x\)。两边共轭转置得 \(\mathbf x^HA=\bar \lambda \mathbf x^H\)。两边同时右乘 \(\mathbf x\),得到 \(\lambda \Vert \mathbf x\Vert=\bar \lambda \Vert \mathbf x\Vert\),由于特征向量非零因此 \(\lambda\) 总是实数。
实矩阵的实特征值必定对应至少一个实特征向量。因此考虑施加与谱定理相似的归纳法即证。只需要把所有的共轭转置换成普通转置、正规性换成对称性推导。
任意矩阵的奇异值分解
注意:以下因为我习惯了行向量,为了符合点集的组合意义把矩阵共轭转置了,所以跟教科书上的奇异值定义差了一个共轭转置。不过共轭转置不会改变问题的难度,所以对于我们学习理解奇异值不会有任何障碍。
上述的对角化方法都属于特征值分解(EVD)及其特例。
将 EVD 的结果写成另一种形式:
也就是说 EVD 将矩阵写成了许多外积矩阵的线性组合。注意 EVD 要求了 \(\mathbf u_i,\mathbf v_i^T\) 组成的矩阵互逆,不是所有矩阵都存在 EVD。
特别地,对于酉对角化,可以写成:
其中只要求 \(\mathbf u_i\) 组成酉矩阵,也就是说向量组成一组标准正交基。
对于任意矩阵 \(A\)(不一定需要是方阵),矩阵的奇异值分解(SVD)都存在:
其中 \(r=\operatorname{rank}(A)\)。
如何计算 SVD 呢?SVD 有什么性质呢?我们先从矩阵的奇异值讲起。
点集的最佳拟合子空间
一类比较经典的线性回归模型:给定一个二维点集,找到一条过原点的直线,使得点集到这个直线的距离的平方和最小。
如果把这个过程扩展到高维,就是给定一个大小为 \(n\) 的 \(d\) 维点集 \(\mathbf a_i\),找到一个 \(k\) 维线性子空间,使得所有点到这个子空间的距离平方和最小。该子空间被称为 \(k\) 维最佳拟合子空间。
考虑形式化定义这个问题,把点集中点的坐标写成列向量排成一个 \(d\times n\) 的矩阵 \(A\)。对于一个线性子空间,考虑取该线性空间的一个标准正交基 \((\mathbf u_1,\mathbf u_2,\dots ,\mathbf u_k)\)。一个点到一个线性空间的距离,等于一个点到该点在这个线性空间投影的距离。而该点在该线性空间里的投影,就等于该点往这个线性空间的各个基向量上的投影长度组合起来。
由于 \(\mathbf u_j\) 是单位向量,\(\mathbf a_i\) 往 \(\mathbf u_j\) 上的投影长度就是内积模长 \(|\mathbf a_i^H\mathbf u_j|\),投影长度的平方就是各个基向量上投影长度平方之和。再由勾股定理,距离的平方等于原向量模长的平方减去投影长度的平方。所以距离的平方就是 \(\Vert \mathbf a_i\Vert^2_2-\sum_{j=1}^k |\mathbf a_i^H\cdot \mathbf u_j|^2\)。所以距离平方和为:\(\sum_{i=1}^n \Vert\mathbf a_i\Vert^2-\sum_{j=1}^k \Vert A^H\mathbf u_j\Vert^2_2\)。
(这里是使用了对于对实数线性空间的几何直觉推导,事实上想要严谨推导复数域下的最优拟合子空间得使用 \(\min_{\mathbf b\in W} \Vert \mathbf a_i-\mathbf b\Vert_2\) 这个定义推导。)
问题变成了最大化 \(\sum_{j=1}^k \Vert A^H\mathbf u_j\Vert ^2_2\),其中要求 \(\mathbf u_j\) 两两正交且模长为 \(1\)。
矩阵的奇异值
由上面的讨论,想要寻找最优的最佳拟合子空间,需要寻找一组标准正交基使得 \(\sum_{j=1}^k \Vert A^H\mathbf u_j\Vert ^2_2\) 取到最大值。
首先定义第一奇异值 \(\sigma_1=\max_{|\mathbf u|=1} \Vert A^H\mathbf u \Vert_2\),对应的第一奇异向量 \(\mathbf u_1\) 为其某一个令其取到最大值的向量。
那么第二奇异值可以这样计算 \(\sigma_2=\max_{|\mathbf u|=1,\mathbf u\perp \mathbf u_1 } \Vert A^H\mathbf u \Vert_2\),同理定义第二奇异向量 \(\mathbf u_2\) 为其某一个令前式取最大值的向量。
第三奇异值 \(\sigma_3=\max_{|\mathbf u|=1,\mathbf u\perp \mathbf u_1,\mathbf u\perp \mathbf u_2}\Vert A^H\mathbf u \Vert_2\)。同理定义第三奇异向量。
依此类推,直到定义出第 \(r\) 奇异值和奇异向量的概念。由于最佳 \(r\) 维拟合子空间一定能包含所有点,因此更高阶的奇异值不再有意义(全部为零)。此时所有的奇异向量正好张成了 \(\mathbf a_i\) 张成的线性空间。
容易发现奇异值一定是实数(模长必定为实数)且奇异值序列单调不升。
我们断言,这样一个贪心的过程计算的前 \(k\) 个奇异向量实际上就张成了 \(k\) 维最佳拟合子空间。
感性理解这个贪心策略,我们每次首先在当前决策空间找到能使“能量”增大量最大的某一个方向,然后就可以把这个方向加入目前的答案正交基中,再把决策空间缩小为当前答案线性空间的正交补空间。不断重复。
如何证明前 \(k\) 个奇异向量张成了 \(k\) 维最佳拟合子空间?
考虑归纳。设我们正确的计算出了前 \(k-1\) 阶奇异值 \(\sigma_i\) 和对应的奇异向量 \(\mathbf u_i\)。这 \(k-1\) 个奇异向量构成了 \(k-1\) 阶最佳拟合子空间的一组标准正交基。
任取一个 \(k\) 维线性空间 \(W\),我们总能找到一个向量 \(\mathbf w_k\) 使得其正交于 \(k-1\) 阶最佳拟合子空间。
因为考虑 \(k-1\) 维线性空间的正交补空间维度为 \(n-k+1\)。得到其正交补和任何 \(k\) 维线性空间的交的维度至少为 \(1\)。那么必定能取到一个单位向量属于其正交补。我们令这个向量为 \(\mathbf w_k\),取包含这个向量的某个正交基。
则由最佳拟合子空间的定义和归纳假设:
再由奇异向量的定义,\(\Vert A^H \mathbf w_k\Vert_2\le \Vert A^H \mathbf u_k\Vert_2\)。
所以我们知道了 \(\mathbf u_k\) 组成的线性空间至少不劣于任何的 \(k\) 维线性子空间,证毕。
一个 OIer 怎么看待这个教科书上的证明的呢?
注意到证明的关键在于证明任何一个 \(k\) 维线性空间内都可以找到一个向量,使得其垂直于给定的 \(k-1\) 维线性子空间。这非常类似于拟阵的交换性!正是由于线性空间的类拟阵性才允许我们在上面运行贪心算法!
奇异值分解
我们已经成功定义出了奇异值序列 \(\sigma_1\ge \sigma_2\ge\cdots \ge \sigma_r>0\) 以及其对应的 \(d\) 维(左)奇异向量 \(\mathbf u_1,\mathbf u_2,\cdots,\mathbf u_r\)。我们定义右奇异向量 \(\mathbf v_i=\frac{1}{\sigma_i}A^H\mathbf u_i\)。
我们需要证明:
证明两个矩阵相等,可以考虑证明它们左乘上任意一个行向量都相等。
考虑 \(A\) 中点集组成的线性空间 \(\mathbf A\),对于某个正交于 \(\mathbf A\) 的向量 \(\mathbf e_i\),\(\mathbf e_i^HA=0\)。而对于左奇异向量 \(\mathbf u_j\),由于左奇异向量是 \(\mathbf A\) 的一组标准正交基,\(\sum_{i=1}^r (\mathbf u_j^H\mathbf u_i) \mathbf u_i^HA=\mathbf u_jA\)。
由于任意向量都可由 \(\mathbf A\) 中的基向量以及正交于 \(\mathbf A\) 的向量线性组合出来,因此 \(A\) 和 \(\sum_{i=1}^r \sigma_i \mathbf u_i \mathbf v_i^H\) 相等。
我们知道 \(\mathbf u_i\) 组成了 \(\mathbf A\) 的一组标准正交基。那么右奇异向量 \(\mathbf v_i\) 是否也有与左奇异向量相似的性质?
首先 \(\mathbf v_i\) 是单位向量,我们考虑如何证明其正交性。
考虑反证法,设存在一对 \(1\le i<j\le r\),\(\mathbf v_i^H \mathbf v_j=\delta >0\)。
对于 \(\epsilon>0\) 构造:
同时左乘上 \(A^H\):
该向量在 \(\mathbf v_i\) 上的分量,即跟 \(\mathbf v_i\) 的点积:
当 \(x\) 足够小时,\(\frac{1}{\sqrt {1+x}}=1-\frac{1}{2}x+\frac{3x^2}{8(1+\xi)^{5/2}},\xi\in (0,x)\),因此:
由于 \(\epsilon\) 可以任意小,所以右式跟 \(\sigma_i\) 的大小关系只取决于 \(\epsilon\) 的一次项,而 \(\delta \sigma_j>0\),因此 \(\mathbf v_i^H A^H\mathbf u_i'>\sigma_i\)。因此 \(\mathbf u_i'\) 是比 \(\mathbf u_i\) 更优秀的第 \(i\) 奇异向量,矛盾。
综上所述,左右奇异向量都构成了 \(\mathbf A\) 的一组正交标准基。
奇异值分解的意义
由最佳拟合子空间的实际意义,矩阵的奇异值分解允许我们对于一个矩阵做秩的压缩,使得丢失的信息最少化。也就是直接取奇异值分解前 \(k\) 项的和就得到了秩为 \(k\) 的与原矩阵最“接近”的矩阵 \(A_k\)。
具体如何衡量“接近”呢?
定义矩阵的 2 范数 \(\Vert A\Vert_2=\max_{\Vert \mathbf e\Vert_2\le 1}\Vert A^H\mathbf e\Vert_2\)。我们有 \(\Vert A-A_k\Vert_2=\sigma_{k+1}^2\)。
定义矩阵的 Frobenius 范数 \(\Vert A\Vert_F\) 为所有元素模长的平方和的根号。
我们有结论 \(A_k\) 是满足 \(\Vert A-A_k\Vert_F\) 和 \(\Vert A-A_k\Vert_2\) 最小化的 \(k\) 秩矩阵,具体不证了,上课讲了。感兴趣的可以看魏老师博客。
SVD 与 EVD 的联系
注意到 \((AA^H)^H=AA^H\),因此 \(AA^H\) 是 \(d\) 维正规矩阵。
将 \(A\) 替换成 SVD 的形式:
由于 \(\mathbf u_i\) 是标准正交基,这就是酉对角化的形式。问题可以转化为计算 \(AA^H\) 的酉对角化。
酉对角化得到的对角矩阵就是特征值,非零特征值开个根就得到了奇异值。
所以计算 SVD 可以规约为计算矩阵的特征值以及特征向量。
可是……根据 OI 中学过的知识,我们知道计算特征多项式的精确值还是在立方复杂度内干的,然而计算具体的特征值,由于高次多项式不一定有解析解,所以说只存在数值方法。
因此,计算一般奇异值分解和矩阵对角化只存在一些数值方法。比如幂法。

浙公网安备 33010602011771号