在很多线性代数问题中,如果我们首先思考若做SVD,情况将会怎样,那么问题可能会得到更好的理解[1]。

                                      --Lloyd N. Trefethen & David Bau, lll

为了讨论问题的方便以及实际中遇到的大多数问题,在这里我们仅限于讨论实数矩阵,注意,其中涉及到的结论也很容易将其扩展到复矩阵中(实际上,很多教材采用的是复矩阵的描述方式),另外,使用符号 x,y 等表示向量,A,B,Q等表示矩阵。

首先给出正交矩阵的概念。所谓正交矩阵,即该矩阵不同的两个列向量之间作内积等于0(平面几何中垂直的定义在多维情形下推广),相同的列向量和自身做内积等于1(单位向量)。特别地,如果Q是一个n阶正交方阵,则Q'Q=QQ'=I, 即正交矩阵的转置即是该矩阵的逆矩阵。正交矩阵在数值分析中起着很重要的作用,一个主要的原因是它能够保持向量的2范数不变(因此SVD也常用于最小二乘问题的求解中),以及矩阵的2范数以及F范数不变,即||Qx||_2=||x||_2, ||AQ||_2=||A||_2,||QA||_F=||A||_F。

奇异值分解定理:对于任意一个 m*n 的实数矩阵 A,都存在 m*m 的正交矩阵 U 和 n*n 的正交矩阵V,以及 m*n 的对角矩阵 D=diag(d_1,d_2,...,d_r),使得

  A = UDV'

其中,d_1>=d_2>=...>=d_r>=0 称为奇异值,U和V的各列分别称为左奇异向量右奇异向量

奇异值分解定理是一个漂亮优美的结果。它不仅能够很好地描述矩阵的结构,一个秩为r的矩阵可以表示成r个秩为1的矩阵之和,而且也给出了相应的几何意义,n 维单位向量 x 在任意的 m*n 矩阵 A=UDV' 下的像下是 m 维空间中的一个超椭球。具体地,正交变换V'保持了x的向量长度不变,对角矩阵D将球面拉伸到一个超椭球上,最后正交变换U将旋转这个超椭球,但不改变它的形状,参见下图。

图1 SVD几何解释示意图[2]

奇异值分解的矩阵性质:

1. 矩阵 A 的秩等于非零奇异值的个数

2. 矩阵 A 的值域空间等于由 U 的前 r 个列向量张成的空间,而 A 的零空间是由 V 的后面 n-r 个列向量张成的空间。

3. ||A||_2=d_1, ||A||_F=sqrt(d_1+...+d_r)。

4. A 的非零奇异值的平方等于 AA' 和 A’A 的非零特征值。

注意,一旦能够得到A的奇异值分解,按照上述给出的性质,那么关于A的秩,A的值域或者零空间的基,以及A的2-范数,F-范数等就自然地能够得到。从这方面来看,SVD可以看作是求解这些问题的一个工具。除此之外,它还被广泛地用来求解最小二乘问题,正则化问题,低秩逼近问题,数据压缩问题,文本处理中的分类问题[4]等

细心的童鞋发现,上面的所有结论都是建立在SVD定理正确以及能够有效计算出给定矩阵A的SVD分解的基础上。关于第一个问题,可以使用数学归纳法进行证明[3];第二个问题,由于证明中采用了数学归纳法,显然它不能有效地求解出具体矩阵的SVD分解,而数值求解SVD需要借助于对称矩阵的特征值分解(一个简单的想法是对 AA' 进行特征值分解,然后得到 A 的奇异值分解,可惜该类方法数值稳定性较差,细节内容不展开叙述)。

最后,对矩阵的奇异值和矩阵的特征值之间的联系进行几点说明。第一,对于任意矩阵,都存在奇异值分解,而并非所有矩阵都存在特征值分解的;第二,奇异值分解中使用的是正交的矩阵,而特征值分解中使用的基一般不是正交的;第三,矩阵最小奇异值小于矩阵最小特征值的模长,矩阵最大奇异值大于矩阵最大奇异值的模长[5]。

参考文献:

[1] 数值线性代数 Chap4-5,L N. Trefethen,David Bau, lll 著,陆金甫,关治译,人民邮电出版社,2006年

[2] 应用数值线性代数,J W. Demmel 著,王国荣译,人民邮电出版社,2007年

[3] 矩阵计算(第三版),Gene H.Golub,Charles F.Van Loan 著,袁亚湘等译,人民邮电出版社,2011年

[4] 数学之美 Chap15,吴军著,人民邮电出版社,2013年

[5] 矩阵A的特征值与奇异值大小关系? https://www.zhihu.com/question/40181430/answer/85446211

作者:caicailiu 出处:http://www.cnblogs.com/liuyc/  欢迎转载或分享,但请务必声明文章出处。

数值分析之奇异值分解(SVD)篇的更多相关文章

  1. 转载:奇异值分解(SVD) --- 线性变换几何意义(下)

    本文转载自他人: PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD的几何意义.能在有限的篇幅把这个问题讲解的如此清晰,实属不易.原文举了一个简单的图像处理 ...

  2. 奇异值分解(SVD) --- 几何意义

    原文:http://blog.sciencenet.cn/blog-696950-699432.html PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD ...

  3. [机器学习笔记]奇异值分解SVD简介及其在推荐系统中的简单应用

    本文先从几何意义上对奇异值分解SVD进行简单介绍,然后分析了特征值分解与奇异值分解的区别与联系,最后用python实现将SVD应用于推荐系统. 1.SVD详解 SVD(singular value d ...

  4. 【转载】奇异值分解(SVD)计算过程示例

    原文链接:奇异值分解(SVD)的计算方法 奇异值分解是线性代数中一种重要的矩阵分解方法,这篇文章通过一个具体的例子来说明如何对一个矩阵A进行奇异值分解. 首先,对于一个m*n的矩阵,如果存在正交矩阵U ...

  5. 一步步教你轻松学奇异值分解SVD降维算法

    一步步教你轻松学奇异值分解SVD降维算法 (白宁超 2018年10月24日09:04:56 ) 摘要:奇异值分解(singular value decomposition)是线性代数中一种重要的矩阵分 ...

  6. 用 GSL 求解超定方程组及矩阵的奇异值分解(SVD)

    用 GSL 求解超定方程组及矩阵的奇异值分解(SVD) 最近在学习高动态图像(HDR)合成的算法,其中需要求解一个超定方程组,因此花了点时间研究了一下如何用 GSL 来解决这个问题. GSL 里是有最 ...

  7. 奇异值分解(SVD)原理详解及推导(转载)

    转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/43053513 在网上看到有很多文章介绍SVD的,讲的也都不错,但是感觉还是有 ...

  8. 奇异值分解(SVD) --- 几何意义 (转载)

    PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD的几何意义.能在有限的篇幅把 这个问题讲解的如此清晰,实属不易.原文举了一个简单的图像处理问题,简单形象, ...

  9. 奇异值分解(SVD)原理详解及推导 (转载)

    转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/43053513 在网上看到有很多文章介绍SVD的,讲的也都不错,但是感觉还是有 ...

随机推荐

  1. dynamic和var的区别

    1.var声明一个局部变量只是一种简化语法,它要求编译器根据一个表达式推断具体的数据类型. 2.var只能用于声明方法内部的局部变量,而dynamic可用于局部变量,字段,参数. 3.表达式不能转型为 ...

  2. Windows下几款免费C/C++开发工具简介

    我相信作为编程初学者,我们都希望有好用的编程软件.这里"好用"应该至少要满足两点:1.安装简单,2.使用方便.大神移驾,对工具有特殊偏好跳过,从来不用Windows的止步.本文不做 ...

  3. Python之模块,迭代器与生成器

    本节涉及内容: 1. 迭代器和生成器 2. 递归 3. 字符串格式化 4. 模块 内置模块 自定义模块 第三方模块 5. 序列化的模块 json pickle (一). 迭代器和生成器: 迭代器:  ...

  4. JavaScript和JQuery好书推荐

    其实无论你是php/python/java还是c/c++,只会自己那点知识是无法独立完成一个站点的建设的! 如果你因自己能力不足拒绝过几次亲友的建站请求,或者因合作中不了解前端是什么东西而失去过几次创 ...

  5. Note3 :《集体智慧编程》用户相似度计算

    欧几里德距离评价: 以经过人们一致评价的物品为坐标轴,然后将参与评价的人绘制到图上,并考察他们彼此之间的距离远近.计算出每一轴向上的差值,求平方之后再相加,最后对总和取平方根. # -*- codin ...

  6. 特征描述之LBP

    LBP 在数字图像处理和模式识别领域,LBP指局部二值模式,英文全称:Local Binary Patterns.最初功能为辅助图像局部对比度,并不是一个完整的特征描述子. 后来提升为一种有效的纹理描 ...

  7. EXT.NET 使用总结(1)

    前言 从系统改版到现在,将近半年的时间,原本陌生的Ext.NET的UI框架,也慢慢的熟悉了.总的来说,这个UI框架还是很优秀的,但是也没有100%完美的产品(老系统使用easy ui其实也挺好的).趁 ...

  8. springMVC含文件上传调用ajax无法连接后台

    springMVC在使用ajax进行后台传值的时候发现找不到对应的requestMapping(""),无法进入后台,在多次试验后确定是 MultipartFile对象与ajax冲 ...

  9. 【html+css】关于页面布局中遇到的问题记录

    关于行内元素: 行内元素设置width无效, height无效(可以设置line-height), margin上下无效,padding上下无效,margin和padding可设置左右.   text ...

  10. 祝贺 Linux 25 岁:25 个关于 Linux 的惊人真相!【转载】

    作者:Javen Fang链接:https://zhuanlan.zhihu.com/p/22222383来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 25 年前的这 ...