今天,来学习一种很重要的矩阵分解,叫做奇异值分解(Sigular Value Decomposition),简称SVD。

 

Contents

 

    1. 认识SVD

    2. SVD与广义逆矩阵

    3. SVD与最小二乘法

    4. SVD与数据压缩

    5. SVD与潜在语义分析

    6. SVD与低阶近似

 

 

1. 认识SVD

 

   在认识SVD之前,先来学习两个相关的概念:正交矩阵酉矩阵

 

   如果

SVD原理及其应用导论_最小二乘

,则

SVD原理及其应用导论_逆矩阵_02

阶实矩阵

SVD原理及其应用导论_逆矩阵_03

称为正交矩阵。而酉矩阵是正交矩阵往复数域上的推广。   判断正交矩阵和酉矩阵的充分必要条件是:

SVD原理及其应用导论_奇异值分解_04

。或者说正交矩阵和酉矩阵的共轭转置和它的

   逆矩阵相等。

 

   对任意

SVD原理及其应用导论_最小二乘_05

矩阵

SVD原理及其应用导论_逆矩阵_06

,都能被奇异值分解为

 

   

SVD原理及其应用导论_最小二乘_07

 

  其中

SVD原理及其应用导论_奇异值分解_08


SVD原理及其应用导论_奇异值分解_09

的正交矩阵,

SVD原理及其应用导论_逆矩阵_10


SVD原理及其应用导论_奇异值分解_11

的正交矩阵,

SVD原理及其应用导论_逆矩阵_12

是由

SVD原理及其应用导论_最小二乘_13

个沿对角线从大到小排列的奇异值   组成的方阵,

SVD原理及其应用导论_逆矩阵_14

就是矩阵

SVD原理及其应用导论_逆矩阵_15

的秩。奇异值分解是一种正交矩阵分解法。

 

 

2. SVD与广义逆矩阵

 

   在认识矩阵的广义逆之前,先来回顾一下方阵的逆。

   对于一个

SVD原理及其应用导论_逆矩阵_16

的方阵

SVD原理及其应用导论_逆矩阵_17

,如果存在一个矩阵

SVD原理及其应用导论_逆矩阵_18

,使得

SVD原理及其应用导论_最小二乘_19

,那么方阵

SVD原理及其应用导论_最小二乘_20

的逆为

SVD原理及其应用导论_奇异值分解_21


 

   那么对于非方阵来说情况又是怎样的? 比如对于

SVD原理及其应用导论_奇异值分解_22

的矩阵

SVD原理及其应用导论_逆矩阵_23

,它的逆是怎样计算的?这就是我将要

   讨论的广义逆矩阵

 

   矩阵的广义逆由Moore1920年提出,后来在1955年经过Penrose发展得到如下定义

 

   对任意

SVD原理及其应用导论_奇异值分解_24

复数矩阵

SVD原理及其应用导论_最小二乘_25

,如果存在

SVD原理及其应用导论_奇异值分解_26

的矩阵

SVD原理及其应用导论_最小二乘_27

,满足

 

   

SVD原理及其应用导论_最小二乘_28

 

   则称

SVD原理及其应用导论_奇异值分解_29


SVD原理及其应用导论_最小二乘_30

的一个Moore-Penrose逆,简称广义逆,记为

SVD原理及其应用导论_逆矩阵_31

。并把上面四个方程叫做Moore-Penrose

   方程,简称M-P方程

 

   由于M-P的四个方程都各有一定的解释,并且应用起来各有方便之处,所以出于不同的目的,常常考虑满足

   部分方程的

SVD原理及其应用导论_最小二乘_32

,叫做弱逆,弱逆不唯一。为了引用方便,下面给出广义逆矩阵的定义

 

   对于

SVD原理及其应用导论_奇异值分解_33

的矩阵

SVD原理及其应用导论_奇异值分解_34

,若存在

SVD原理及其应用导论_逆矩阵_35

的矩阵

SVD原理及其应用导论_奇异值分解_36

,满足M-P方程中的全部或者其中的一部分,则称

SVD原理及其应用导论_最小二乘_37


SVD原理及其应用导论_奇异值分解_38

   的广义逆矩阵

 

   实际上有结论:如果

SVD原理及其应用导论_奇异值分解_39

满足M-P方程中的全部四个条件,那么得到的矩阵

SVD原理及其应用导论_奇异值分解_40

是唯一的,如果只满足部分条件,   那么得到的矩阵

SVD原理及其应用导论_逆矩阵_41

不唯一。也就是说一个矩阵

SVD原理及其应用导论_奇异值分解_42

Moore-Penrose逆

SVD原理及其应用导论_最小二乘_43

是唯一的

 

   而广义逆

SVD原理及其应用导论_奇异值分解_44

的计算可以利用

SVD原理及其应用导论_逆矩阵_45

SVD分解得到,假设矩阵

SVD原理及其应用导论_最小二乘_46

SVD分解为

 

   

SVD原理及其应用导论_逆矩阵_47

 

   那么,不难验证

 

   

SVD原理及其应用导论_逆矩阵_48

 

   有了广义逆矩阵

SVD原理及其应用导论_奇异值分解_49

,那么就可以用来求解线性方程组

SVD原理及其应用导论_逆矩阵_50

,假设现在已经知道了矩阵

SVD原理及其应用导论_逆矩阵_51

的广义逆

SVD原理及其应用导论_最小二乘_52

,   如果矩阵

SVD原理及其应用导论_逆矩阵_53

的秩是

SVD原理及其应用导论_最小二乘_54

,则其唯一解是

SVD原理及其应用导论_逆矩阵_55

,如果秩小于

SVD原理及其应用导论_逆矩阵_56

,则有无穷多组解,其中最小范数解仍然是   

SVD原理及其应用导论_奇异值分解_57

,通常我们关心的也就是这个解。

 


3. SVD与最小二乘法

 

   最常见的最小二乘问题是线性最小二乘问题。比如在三维空间有如下四个点

 

   

SVD原理及其应用导论_最小二乘_58

 

   现在用一个方程

SVD原理及其应用导论_奇异值分解_59

来拟合这四个点,这就是典型的线性最小二乘问题。

   接下来可以列出超定方程组,如下

 

   

SVD原理及其应用导论_奇异值分解_60

 

   那么,进一步得到

 

   

SVD原理及其应用导论_奇异值分解_61

 

   接下来用一个定理求最小二乘解,定理内容如下

 

   如上述超定系数方程组,一般情况下它是没有解的,但是我们可以让

SVD原理及其应用导论_奇异值分解_62

尽可能地小。解下面的方程

   可以求得方程的最小二乘解。

 

   

SVD原理及其应用导论_逆矩阵_63

 

   这样最小二乘解又变成了解线性方程组问题,可以先用SVD来求出广义逆矩阵,然后解出

SVD原理及其应用导论_奇异值分解_64

。最终求得解为

 

   

SVD原理及其应用导论_奇异值分解_65

 

 

4. SVD与数据压缩

 

  SVD在数据压缩方面有广泛的应用,比如图片压缩。我们知道电脑上的图像都是由一个一个像素点构成的,

   所以存储一张1000*622的图片,实际上是存储一个1000*622的矩阵,即一共622000个元素,这是一个

   很大的矩阵,实际上可以用奇异值分解并通过低阶近似的思想对图片进行压缩,但这是一种有损压缩,不

http://cos.name/2014/02/svd-and-image-compression/

 

   又比如在自然语言处理中,最常见的两个问题是将文本按主题归类和将词汇表中的字词按近义词归类,这

   两个问题都可以用SVD完美一次性地解决。首先,用一个大矩阵

SVD原理及其应用导论_最小二乘_66

来描述成千上万篇文章和上百万词的关   联性,在这个矩阵中,每一行代表一篇文章,每一列对应一个词。如果有

SVD原理及其应用导论_最小二乘_67

个词,

SVD原理及其应用导论_奇异值分解_68

篇文章,那么就是如   下

SVD原理及其应用导论_最小二乘_69

的矩阵

    

       

SVD原理及其应用导论_最小二乘_70

 

   其中第

SVD原理及其应用导论_逆矩阵_71

行第

SVD原理及其应用导论_最小二乘_72

列的元素

SVD原理及其应用导论_最小二乘_73

,是字典中第

SVD原理及其应用导论_奇异值分解_74

个词在第

SVD原理及其应用导论_最小二乘_75

篇文章中出现的加权词频,比如用词的TF-IDF值

   这个矩阵可能会很大,如果进行奇异值分解后,上述的两种分类也就完成了,而且存储空间也会减少很多。

 

 

5. SVD与潜在语义分析

 

   潜在语义分析(Latent Semantic Analysis),简称LSA,是一种用于自动地实现知识提取和表示的

   理论和方法,它通过对大量文本集进行统计分析,从中提取出词语的上下文使用含义。在技术上,它同向

   量空间模型类似,都是采用空间向量表示文本,但通过SVD分解等处理消除了同义词,多义词的影响,提

   高了后续处理的精度。

 

   关于潜在语义分析的论文,可以百度:潜在语义分析理论及其应用