主要内容

高等代数: 多项式与线性代数

8.5 奇异值分解——酉相抵标准型

矩阵奇异值分解是一种重要且常用的矩阵分解。奇异值在矩阵范数、广义逆、条件数等理论问题中扮演重要角色,同时在图像处理、数据主成份分析等具体问题中也有普遍应用。
本节中,我们先从内积空间上线性映射的酉相抵标准型角度来引入矩阵奇异值分解,然后介绍奇异值分解的部分应用。

子节 8.5.1 矩阵的酉相抵与奇异值分解

首先来回顾一下我们在 章 6 中学过的一些知识:设\(A,B\in \F^{m\times n}\)\(A\)\(B\)相抵指的是存在\(m\)阶可逆矩阵\(P\)\(n\)阶可逆矩阵\(Q\),使得\(A=PBQ\),即\(A\)可以经过一些初等变换变成\(B\)。从另一个角度,\(A\)\(B\)相抵也等价于\(A\)\(B\)是同一个线性映射在不同基下的表示矩阵,其中的\(P\)\(Q\)分别是对应空间上两组不同基之间的过渡矩阵。
现在把考虑的问题放到一个内积空间中。在内积空间中考虑问题时,选择的基通常只选择标准正交基,两组标准正交基间的过渡矩阵则都是酉矩阵(实内积空间中对应的是正交矩阵)。于是可以引入如下术语。

定义 8.5.1.

\(A,B\in \C^{m\times n}\)。若存在酉矩阵\(U\in \C^{m\times m}, V\in \C^{n\times n} \),使得
\begin{equation*} A = UBV, \end{equation*}
则称\(A\)\(B\) 酉相抵,或\(A\)酉相抵于\(B\)
若进一步要求上述矩阵都是实矩阵,则也称为 \(A\)\(B\)正交相抵的。
容易验证酉相抵是一种等价关系。我们接下来关心对于一个给定的矩阵\(A\),与其酉相抵的“最简单”矩阵会是什么形式,由哪些因素决定。
两个矩阵酉相抵的一个必要条件是它们相抵,即这两个矩阵有相同的秩。矩阵的秩可以作为判定两个同阶矩阵是否相抵的判断依据,但对于酉相抵这种关系来说,单纯知道秩相等并不能确定相应的两个矩阵是否酉相抵。假设\(A\)\(B\)酉相抵,不妨设\(A = UBV\),其中\(U,V\)都是酉矩阵,则
\begin{equation*} A^HA = V^HB^HU^HUBV=V^HB^HBV, \end{equation*}
\(A^HA \)酉相似于\(B^HB\)。注意到\(A^HA \)\(B^HB\)都是Hermite矩阵,这两个矩阵是否酉相似可以由它们的特征值决定。
关于形如\(A^HA \)矩阵的特征值,有如下结论。

定义 8.5.3.

\(A\in \C^{m\times n}\)\(r(A)=r\)
\begin{equation*} \lambda_1\ge \cdots\ge \lambda_r>0 \end{equation*}
为矩阵\(A^HA\)的所有非零特征值。记
\begin{equation*} \sigma_1 = \sqrt{\lambda_1},\ldots,\sigma_r = \sqrt{\lambda_r}, \end{equation*}
则称 \(\sigma_1,\ldots,\sigma_r\)为矩阵\(A\)奇异值

备注 8.5.4.

矩阵 \(A\)的奇异值也可直接定义为\(A^HA\)特征值的平方根,此时奇异值可以是0。本书中,我们只关心非0奇异值。

证明.

若所讨论的问题局限在实数域范围内,则有如下推论。
(8.5.1)(8.5.2)中所示矩阵\(A\)的分解式称为矩阵\(A\)奇异值分解,或简称为 SVD分解

子节 8.5.2 奇异值分解的几何意义

本小节中我们通过一个具体的例子,利用奇异值分解来理解线性映射,进而理解奇异值的几何意义。
\(A\)是一个\(m\times n\)阶矩阵,则\(x\mapsto Ax\)是一个\(\F^n\to \F^m\)的线性映射。由于线性映射保持数乘运算,所以我们只需理解在单位球 \(\{x\in \F^n| |x| = 1 \}\)上这个线性映射的对应关系即可。我们来看一个具体例子。

8.5.7.

\(A = ()_{2\times 3}\),求线性映射\(x\mapsto Ax \)将单位球 \(\{x\in \R^3| |x| = 1 \}\)映成的像集合。
解答.

8.5.8.

求矩阵\(A\)的奇异值分解。
解答.
我们看到在 例 8.5.7中,线性映射\(A\)\(\R^3\)中的单位球面映射成\(\R^2\)中的一个椭圆,\(A\)的两个非0奇异值恰好为这个椭圆的长轴和短轴长。
对一个一般的矩阵\(A\in \C^{m\times n} \),记\(A\)的奇异值分解为\(A=U\Lambda V^H \)。则求列向量\(x\in \C^n\)的像\(Ax\)时,
\begin{equation*} Ax = U\Lambda V^Hx = U\Lambda(V^Hx) . \end{equation*}
注意到\(V\)的列向量组是\(\C^n\)的一组标准正交基,于是\(y= V^Hx\)\(x\)在这组标准正交基下的坐标向量。\(U\)的列向量组是\(\C^m\)的一组标准正交基,而映射像\(Ax\)\(U\)的列向量组这组基下的坐标就是\(\Lambda y\)。相应的奇异值就是对应坐标的伸缩比例。

子节 8.5.3 奇异值应用举例之一:矩阵最佳低秩近似与图像压缩

回顾在子节 2.2.5中,灰度图像的存储方式就是存为一个矩阵。利用其中的代码,我们可以把图片图 2.2.24转化为一个数字矩阵\(A\)
Sage中计算矩阵奇异值分解的命令为SVD,利用sage对矩阵\(A\)做奇异值分解。
在上面的例子中,\(U,V\)是酉矩阵,且\(A=USV^H \)\(S\)矩阵的对角元为\(A\)矩阵的所有奇异值。可以看到,\(S\)中的对角元是按照从大到下的方式进行排列的。
在一个一般矩阵\(A\)的奇异值分解表达式\(A=USV^H \)中,对矩阵\(U\)做列分块,矩阵\(V^H\)做行分块,利用分块矩阵的乘法公式,矩阵的奇异值分解可以重新表达为下面的形式,这种形式也称为奇异值分解的外积形式
借用 (8.5.3)中的记号,记
\begin{equation} A_k = \sigma_1 u_1v_1^H +\cdots +\sigma_k u_kv_k^H,\quad k=1,\ldots,r.\tag{8.5.4} \end{equation}
可知\(A_k\)的秩是\(k\)
下面我们借助图像来直观理解\(A_k\)与原始矩阵的\(A\)的关系。以上面的程序片段中产生的\(A\)为例。
下面是这个程序片段产生的图片。
(a) \(k=5\)
(b) \(k=10\)
(c) \(k=15\)
(d) \(k=20\)
(e) \(k=25\)
(f) \(k=30\)
(g) \(k=35\)
(h) \(k=40\)
(i) \(k=45\)
(j) \(k=50\)
(k) \(k=55\)
(l) \(k=165\)
8.5.10. 图像比较
上述例子可以从直观上印证一个猜测:奇异值及其特征向量是隐藏在表面大规模数据下,由大规模数据所反应的“真实、主要”信息。
经计算可知
\begin{equation*} \sigma_1 \approx 15290,\ldots,\sigma_{56} \approx 259,\ldots. \end{equation*}
可以看到\(\sigma_{56}\)相对于\(\sigma_1\)是比较小的数,我们可以直观感觉到\(A_{55}\)已经包含了原始矩阵\(A\)中的“大部分信息”,可以作为\(A\)的有效近似。
事实上,(8.5.4)中定义的\(A_k\)是矩阵\(A\)的“最佳秩\(k\)近似”。
\(A_k\)作为\(A\)的有效近似的一个直接好处是降低数据存储量。仍以上面的图像矩阵为例:若直接存储矩阵\(A\),则我们需要存储\(165\times 220 = 36300\)个数字;而存储\(A_{55}\)时,我们只需存储\(A\)矩阵的前55个奇异值、\(U,V\)两个矩阵的前55列即可,总存储数字个数为\(55\times(1+165+220) = 21230 \),约为原来的\(2/3\),大大压缩了数据存储量。
上述例子中图片对应的矩阵是一个满秩矩阵,相应的图像压缩比(原图与压缩后图像所需存储空间大小的比值)还不高。可以想象对于一个低秩矩阵,上述方法的压缩比例会进一步增大。上述方法也常用在视频文件压缩中,此时视频文件的每一帧理解为一个静态图片,存储时除首帧存储全图对应的矩阵外,后续都存储当前帧与前一帧图片对应的矩阵差。当视频画面变化不剧烈时,前一帧与后一帧的差异不大,相应的矩阵差会是一个低秩矩阵。对于这样产生的低秩矩阵可以使用上述SVD分解的方法加以压缩。
除图像或视频外,现实生活中还有很多复杂对象都可以转化为矩阵存储于计算机上。在对于这些数据做分析时,经常遇到的一个困境被称为“维数灾难”:数据的维数很高(即转化后的矩阵阶数很大),但是数据的“有效信息”却只集中在低维子空间中。奇异值分解可以帮助我们找到这个低维子空间,从而提取出数据的有效信息。这种数据分析方法也常被称为主成份分析

子节 8.5.4 奇异值应用举例之二:MP广义逆

子节 5.2.4中给出了标准内积空间(实内积空间)中MP广义逆的定义(定义 5.2.18 )。本节中将给出复内积空间中的MP广义逆的定义,并说明如何利用奇异值分解来证明其唯一性。

定义 8.5.11.

\(A\in \C^{m\times n}\)。若矩阵\(B\)满足:
  1. \(ABA=A\)
  2. \(BAB=B\)
  3. \((AB)^H = AB\)
  4. \((BA)^H = BA\)
则称\(B\)是矩阵\(A\)Moore-Penrose广义逆,简称为MP逆
实MP广义逆和复MP广义逆的定义的唯一区别是将实数域下矩阵的转置运算替换为复数域下的共轭转置运算。注意到实数的共轭仍是其本身,所以实MP广义逆也是复MP广义逆。
下面利用奇异值分解来证明MP广义逆的唯一性。

证明.

利用上述定理的证明,可以获得MP广义逆的一个公式。

子节 8.5.5 奇异值应用举例之三:子空间夹角
 1 
本部分主要参考文献:A. BJÖRCK AND G. GOLUB, Numerical methods for computing angles between linear subspaces, Math. Comp., 27(1973), pp. 579–594.

实内积空间中的直线是一个一维子空间,两条直线的夹角可以很好地描述这两条直线的相对位置关系。那么对于一般的高维线性子空间,我们该如何描述这两个子空间的相对位置关系呢?下面我们来介绍一个与之相关的概念。
\(V_1\)\(V_2\)是一个同一个内积空间\(V\)(不妨设\(V = \C^m\))的两个子空间,同时假设
\begin{equation*} s = \dim V_1\ge \dim V_2=t\ge 1. \end{equation*}
\(V_1\)\(V_2\)最小夹角,记作\(\theta_1(V_1,V_2)=\theta_1\in[0,\frac{\pi}{2}] \),由下面的等式定义:
\begin{equation*} \cos \theta_1 = \max_{x\in V_1,\ y\in V_2}|(x,y)|,\quad |x|=|y|=1. \end{equation*}
记取到上述最大值时的向量\(x,y\)分别为\(x_1,y_1\),同时记\(V'_1\)\(V_1\)\(x_1\)的正交补空间,\(V'_2\)\(V_2\)\(y_1\)的正交补空间。定义\(\theta_2(V_1,V_2) = \theta_1(V'_1,V'_2)\)。以此类推,直到一个正交补空间为空,可以获得如下定义。

定义 8.5.14.

\(V_1,V_2\)是一个内积空间\(V\)的两个子空间,
\begin{equation*} s = \dim V_1\ge \dim V_2=t\ge 1. \end{equation*}
递归定义\(V_1\)\(V_2\)主夹角\(\theta_k\in[0,\frac{\pi}{2}] ,(k=1,\dots,t)\) 为满足下述条件极值等式的角:
\begin{equation*} \cos \theta_k = \max_{x\in V_1,\ y\in V_{2}} |(x,y)|\triangleq (x_k,y_k),\quad |x|=|y|=1, \end{equation*}
其中限制条件为
\begin{equation*} (x,x_j) = 0,\quad (y,y_j) =0, \quad j=1,\ldots,k-1. \end{equation*}
向量组\((x_1,\dots,x_t)\)\((y_1,\dots,y_t)\)称为空间对\(V_1\)\(V_2\)主向量组
上述定义也可以局限在实内积空间\(V= \R^m\)中。特别地,当\(m =3\)时,若\(\ s=t =1\)时,则\(V_1\)\(V_2\)是两条相交直线,此时\(\theta_1\)是这两条直线的夹角;若\(s=2,t=1\),则\(V_1\)\(V_2\)是一个平面和一条直线,\(\theta_1\)是这个平面和直线的夹角;若\(s=t=2\),则\(V_1\)\(V_2\)是两个相交平面,\(\theta_1=0\)(第一个主向量在它们的相交直线上),\(\theta_2\)是这两个平面的夹角。
值得注意的是主向量组不一定唯一,但是主夹角序列必定是唯一的。我们不加证明的给出主夹角序列的计算公式,这个计算公式主要使用的工具就是奇异值。

练习 8.5.6 习题

1.

\(A=U\Sigma V^H\)\(m\times n\)阶矩阵\(A\)的奇异值分解,\(\sigma_1,\ldots,\sigma_r\)\(A\)的所有非零奇异值。用\(u_j\)\(v_j\)分别表示\(U\)\(V\)的第\(j\)列。证明:
  1. \(\{u_1,\ldots,u_r\}\)\({\rm Im}(A)\)的一组标准正交基;
  2. \(\{u_{r+1},\ldots,u_m\}\)\({\rm Ker}(A^H)\)的一组标准正交基;
  3. \(\{v_1,\ldots,v_r\}\)\({\rm Im}(A^H)\)的一组标准正交基;
  4. \(\{v_{r+1},\ldots,v_n\}\)\({\rm Ker}(A)\)的一组标准正交基。