线性代数学习笔记(十):奇异值分解

6.5 奇异值分解

前面我们已经了解到, 满秩的矩阵具有一些很好的性质. 因此在计算中我们经常需要判断一个矩阵是否是满秩的. 理论上讲, 我们可以利用高斯消元法来看非零行的个数来确定矩阵的秩. 但是由于舍入误差的存在, 这种方法实际上并不适用. 一般情况下更可行的解决方案是判断矩阵和一个亏秩矩阵的接近程度.

在本节中我们假设 为一 矩阵, 其中 . 为了确定 是如何接近一个较小秩的矩阵, 我们将吧 分解为一个乘积 , 其中 为一个 的正交矩阵, 是一个 正交矩阵, 是一个 矩阵, 其对角线下所有的元素为 且对角线元素满足

采用这种因式分解得到的 是唯一的, 并称为 的奇异值, 因式分解 称为 的奇异值分解. 我们将证明 的秩等于非零的奇异值的个数, 且非零奇异值的个数给出了矩阵 如何接近一个较小秩的矩阵的度量. 首先我们来证明这种分解是可行的.

定理 6.5.1 (SVD定理) 若 为一 矩阵, 则 有一个奇异值分解.

证明 为一个对称的 矩阵. 因此它的所有特征值均为实的, 而且它有一个正交的对角化矩阵 . 此外, 它的特征值必然全部是非负的. 为了看到这个结果, 令 的一个特征值, 为一个属于 的特征向量. 可得

于是

我们可以假设 的列已经进行了排序, 使得对应的特征值满足

的奇异值为

表示 的秩. 矩阵 也将有秩 . 由于 是对称的, 它的秩等于非零的特征值的个数. 因此

因而对奇异值也将有类似的关系

现在令

为一个 的对角矩阵, 其对角元素为非零的奇异值 . 矩阵 则为

的列向量为 的属于 的特征向量. 因此

于是, 的列向量构成了 中的一组规范正交基. 因此

由于 是正交矩阵, 可得

到目前为止, 我们已经证明了如何构造奇异值分解中的矩阵 . 为了完成证明, 我们必须证明如何构造一个 的正交矩阵 , 使得

或者等价的

比较上式的前 列, 可以看到

因此如果定义

则得到

的列向量构成了一个规范正交集, 因为

而根据 可得, 对每一 均在 的列空间中. 列空间的维数为 , 因此 构成了 的一组规范正交基. 向量空间 的维数为 . 令 的一组规范正交基, 并且令

根据定理5.2.2, 构成了 的一组规范正交基. 因此 是正交矩阵. 接下来就是证明 等于 . 如下

至此SVD定理证毕.

上面的证明过程来自于原书, 这个证明过程个人感觉有很多地方其实很莫名其妙, 比如为什么奇异值是 特征值开根号之类的并没有给出一个很合理的解释. 但是如果全文看下来把这些没什么逻辑的说明作为假设来对待其实还是挺好理解的, 我后期可能会写点关于这些莫名其妙的假设的来源的分析.

观察 为一 矩阵, 其奇异值分解为 .

  1. 的奇异值 的值是唯一的, 但是矩阵 不是唯一的.

  2. 由于 对角化 , 由此得到 的特征向量.

  3. 由于 , 由此得到 对角化 , 且 的特征向量.

  4. 比较方程

    两端的第 列, 我们可以得到

    类似地,

    因此

    称为 的右奇异向量(right singular vector), 称为 的左奇异向量(left singular vector).

  5. 的秩为 , 则:

    (1) 构成了 的一组规范正交基.

    (2) 构成了 的一组规范正交基.

    (3) 构成了 的一组规范正交基.

    (4) 构成了 的一组规范正交基.

  6. 矩阵 的秩等于其非零的奇异值的个数(奇异值根据重数计数). 但是对特征值没有类似的假设.可以很轻松的构造反例.

  7. 的秩 时, 如果令

    且仍然定义 为对角线元素为 的特征值的根号按照从小到大的顺序排列(即前面完全相同的定义方法), 则

    上面的分解称为 的压缩形式的奇异值分解(compact form of the singular value decomposition). 这种形式在很多应用问题中都有用.

回顾 弗罗贝尼乌斯范数:对于向量空间 , 可以定义一个弗罗贝尼乌斯范数, 记作 , 有

为一 矩阵, 其秩为 , 且 , 则可以利用奇异值分解求一个 中秩为 的矩阵, 使得它在弗罗贝尼乌斯范数意义下最接近 . 令 为所有秩不超过 矩阵的集合. 可以证明存在一个 中的矩阵 , 使得

这个结论的证明超出了教材的范围, 因此这里暂且不证明. 不过如果我们假设这样的最小值是存在的, 我们可以证明这样的 可以使用 的奇异值分解求出. 为了证明这一点, 我们先来看下面的引理

引理 6.5.2 为一 矩阵, 且 为一 正交矩阵, 则

从而证毕.

从这个引理出发, 结合奇异值分解我们可以得到一个非常有用的结论. 若 有奇异值分解 , 则根据引理可得

又由于

从而有

$$
$$

现在我们就可以提出并证明下面的定理了

定理6.5.3 为一 矩阵, 并令 表示所有秩不超过 矩阵的集合, 其中 . 若 中满足 的矩阵, 则

特别地, 若 , 其中

这个定理的描述看起来很奇怪但是原书(包括英文原版)里就是这么写的. 这里稍微说明一下, 定理的前半部分给出了 的值(如果 是一个在弗罗贝尼乌斯范数意义下最接近 的一个秩为 的矩阵). 然后后面"特别的"之后这一部分实际上是给出了 的一种构造形式.

证明 中满足 的一个矩阵, 由于 , 因此可得

因此我们只需要再证明

结合前面的 式, 就可以得到

从而我们也就证明了这个定理. 下面我们就来证明 式.

的奇异值分解, 其中

若令 , 则 , 由此可得

如果我们使用和前面对 相同的分块方法来对 来分块:

可得

接下来我们先证明 . 假设 , 定义

则矩阵 中, 且

这和 的定义矛盾. 因此 . 同理可以证明 . 如果令

, 且

也即

而根据 的定义, 一定有

从而有

从而有

所以

有奇异值分解 , 则

现在

从而可得 的对角元素就是 的奇异值中的一部分, 从而有

从而结合证明最开始的讨论, 有

从而证毕.

前面我们提到奇异值可以用来判断一个矩阵是如何接近一个较小秩的矩阵的, 实际上上面的定理就说明了一个有着较大秩的矩阵是如何接近一个较小秩的矩阵的, 接下来我们将进一步讨论这个问题.

如果 有奇异值分解 , 则可以把 看作是 的一个乘积. 如果把 按列分块, 且 按行分块, 则

且可以将