转载自知乎:https://www.zhihu.com/question/22237507
奇异值分解精简理解以及计算参考:https://blog.csdn.net/qq_34213260/article/details/106791738
奇异值分解在最小二乘法中的作用 请参考:https://www.cnblogs.com/houkai/p/6656894.html

矩阵的奇异值是一个数学意义上的概念,一般是由奇异值分解(Singular Value Decomposition,简称SVD分解)得到。如果要问奇异值表示什么物理意义,那么就必须考虑在不同的实际工程应用中奇异值所对应的含义。下面先尽量避开严格的数学符号推导,直观的从一张图片出发,让我们来看看奇异值代表什么意义。

这是女神上野树里(Ueno Juri)的一张照片,像素为高度450*宽度333。暂停舔屏先(痴汉脸


我们都知道,图片实际上对应着一个矩阵,矩阵的大小就是像素大小,比如这张图对应的矩阵阶数就是450*333,矩阵上每个元素的数值对应着像素值。我们记这个像素矩阵为

现在我们对矩阵进行奇异值分解。直观上,奇异值分解将矩阵分解成若干个秩一矩阵之和,用公式表示就是:

其中等式右边每一项前的系数就是奇异值,分别表示列向量,秩一矩阵的意思是矩阵秩为1。注意到每一项都是秩为1的矩阵。我们假定奇异值满足(奇异值大于0是个重要的性质,但这里先别在意),如果不满足的话重新排列顺序即可,这无非是编号顺序的问题。

既然奇异值有从大到小排列的顺序,我们自然要问,如果只保留大的奇异值,舍去较小的奇异值,这样(1)式里的等式自然不再成立,那会得到怎样的矩阵——也就是图像?

,这只保留(1)中等式右边第一项,然后作图:


结果就是完全看不清是啥……我们试着多增加几项进来:,再作图


隐约可以辨别这是短发伽椰子的脸……但还是很模糊,毕竟我们只取了5个奇异值而已。下面我们取20个奇异值试试,也就是(1)式等式右边取前20项构成


虽然还有些马赛克般的模糊,但我们总算能辨别出这是Juri酱的脸。当我们取到(1)式等式右边前50项时:


我们得到和原图差别不大的图像。也就是说当从1不断增大时,不断的逼近。让我们回到公式

矩阵表示一个450*333的矩阵,需要保存个元素的值。等式右边分别是450*1和333*1的向量,每一项有个元素。如果我们要存储很多高清的图片,而又受限于存储空间的限制,在尽可能保证图像可被识别的精度的前提下,我们可以保留奇异值较大的若干项,舍去奇异值较小的项即可。例如在上面的例子中,如果我们只保留奇异值分解的前50项,则需要存储的元素为,和存储原始矩阵相比,存储量仅为后者的26%。

下面可以回答题主的问题:奇异值往往对应着矩阵中隐含的重要信息,且重要性和奇异值大小正相关。每个矩阵都可以表示为一系列秩为1的“小矩阵”之和,而奇异值则衡量了这些“小矩阵”对于的权重。

在图像处理领域,奇异值不仅可以应用在数据压缩上,还可以对图像去噪。如果一副图像包含噪声,我们有理由相信那些较小的奇异值就是由于噪声引起的。当我们强行令这些较小的奇异值为0时,就可以去除图片中的噪声。如下是一张25*15的图像(本例来源于[1])


但往往我们只能得到如下带有噪声的图像(和无噪声图像相比,下图的部分白格子中带有灰色):


通过奇异值分解,我们发现矩阵的奇异值从大到小分别为:14.15,4.67,3.00,0.21,……,0.05。除了前3个奇异值较大以外,其余奇异值相比之下都很小。强行令这些小奇异值为0,然后只用前3个奇异值构造新的矩阵,得到


可以明显看出噪声减少了(白格子上灰白相间的图案减少了)。

奇异值分解还广泛的用于主成分分析(Principle Component Analysis,简称PCA)和推荐系统(如Netflex的电影推荐系统)等。在这些应用领域,奇异值也有相应的意义。

考虑题主在问题描述中的叙述:“把m*n矩阵看作从m维空间到n维空间的一个线性映射,是否:各奇异向量就是坐标轴,奇异值就是对应坐标的系数?”我猜测,题主更想知道的是奇异值在数学上的几何含义,而非应用中的物理意义。下面简单介绍一下奇异值的几何含义,主要参考文献是美国数学协会网站上的文章[1]。

下面的讨论需要一点点线性代数的知识。线性代数中最让人印象深刻的一点是,要将矩阵和空间中的线性变换视为同样的事物。比如对角矩阵作用在任何一个向量上

其几何意义为在水平方向上拉伸3倍,方向保持不变的线性变换。换言之对角矩阵起到作用是将水平垂直网格作水平拉伸(或者反射后水平拉伸)的线性变换。



如果不是对角矩阵,而是一个对称矩阵

那么,我们也总可以找到一组网格线,使得矩阵作用在该网格上仅仅表现为(反射)拉伸变换,而没有旋转变换



考虑更一般的非对称矩阵

很遗憾,此时我们再也找不到一组网格,使得矩阵作用在该网格上之后只有拉伸变换(找不到背后的数学原因是对一般非对称矩阵无法保证在实数域上可对角化,不明白也不要在意)。我们退求其次,找一组网格,使得矩阵作用在该网格上之后允许有拉伸变换旋转变换,但要保证变换后的网格依旧互相垂直。这是可以做到的



下面我们就可以自然过渡到奇异值分解的引入。奇异值分解的几何含义为:对于任何的一个矩阵,我们要找到一组两两正交单位向量序列,使得矩阵作用在此向量序列上后得到新的向量序列保持两两正交。下面我们要说明的是,奇异值的几何含义为:这组变换后的新的向量序列的长度。



当矩阵作用在正交单位向量上之后,得到也是正交的。令分别是方向上的单位向量,即,写在一起就是,整理得:

这样就得到矩阵的奇异值分解。奇异值分别是的长度。很容易可以把结论推广到一般维情形。

下面给出一个更简洁更直观的奇异值的几何意义(参见[2])。先来一段线性代数的推导,不想看也可以略过,直接看黑体字几何意义部分:

假设矩阵的奇异值分解为

其中是二维平面的向量。根据奇异值分解的性质,线性无关,线性无关。那么对二维平面上任意的向量,都可以表示为:

作用在上时,

,我们可以得出结论:如果是在单位圆上,那么正好在椭圆上。这表明:矩阵将二维平面中单位圆变换成椭圆,而两个奇异值正好是椭圆的两个半轴长,长轴所在的直线是,短轴所在的直线是.

推广到一般情形:一般矩阵将单位球变换为超椭球面,那么矩阵的每个奇异值恰好就是超椭球的每条半轴长度


郑宁:人们是如何想到奇异值分解的?

参考文献:

[1] We Recommend a Singular Value Decomposition(Feature Column from the AMS)

[2] 徐树方,《矩阵计算的理论与方法》,北京大学出版社。

奇异值分解的物理意义相关推荐

  1. 奇异值的物理意义是什么?强大的矩阵奇异值分解(SVD)及其应用

    作者:郑宁 链接:https://www.zhihu.com/question/22237507/answer/53804902 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  2. 奇异值、奇异值分解、奇异值表示什么物理意义?

    矩阵的奇异值是一个数学意义上的概念,一般是由奇异值分解(Singular Value Decomposition,简称SVD分解)得到.如果要问奇异值表示什么物理意义,那么就必须考虑在不同的实际工程应 ...

  3. 奇异值的物理意义是什么?

    作者:知乎用户链接:https://www.zhihu.com/question/22237507/answer/53804902 来源:https://www.zhihu.com/question/ ...

  4. 漫谈高数 特征向量物理意义

    什么是特征向量,特征值,矩阵分解 [1. 特征的数学意义] 我们先考察一种线性变化,例如x,y坐标系的椭圆方程可以写为x^2/a^2+y^2/b^2=1,那么坐标系关于原点做旋转以后,椭圆方程就要发生 ...

  5. 机器学习 - SVD分解算法的物理意义

    机器学习-SVD分解算法的物理意义 奇异值分解(Singular Value Decomposition),以下简称SVD. 奇异值分解算法是一种在机器学习中经常使用到的一个算法,SVD主要用于数据压 ...

  6. 奇异值分解的物理含义

    原文地址:http://blog.csdn.net/xiahouzuoxin/article/details/41118351 此文有一半转载自他出,主要在这进行个整理,具体内容文中都有相关的转载链接 ...

  7. 内积和外积的物理意义-数学

    内积和外积的物理意义 Persistently关注 2018.07.31 14:28:46字数 277阅读 6,276 向量的内积 ab=ab cos(θ) 向量a和b的长度之积再乘以它们之间的夹角的 ...

  8. 矩阵相关概念的物理意义

    参考链接: 矩阵乘法的本质是什么? 条件数 病态矩阵与条件数(&& 与特征值和SVD的关系) 矩阵的物理意义: https://blog.csdn.net/NightkidLi_911 ...

  9. 频谱中负频率的物理意义(二)

    1.频率的概念就是从机械旋转运动来的,定义为角速度,对于周期运动,角速度也就是角频率.通常 θ以反时针为正,因此转动的正频率是反时针旋转角速度,负频率就是顺时针旋转角速度.这就是它的物理意义,正.负号 ...

最新文章

  1. 几个比较冷门的prototype扩展方法:去掉html标签、去掉a标签、去掉style样式,以及判断是否为html代码的代码片段
  2. mysql大表修改表名原理_MySQL修改大表工具pt-online-schema-change原理
  3. 微信小程序 canvas 内容(宽高) 兼容不同机型
  4. 使用Maven Assembly plugin将依赖打包进jar
  5. Java使用ojdbc连接Oracle数据库时不能使用服务名连接的问题
  6. 【LeetCode】剑指 Offer 44. 数字序列中某一位的数字
  7. 不可不知的 5 种 JavaScript 代码编辑器
  8. .ps是什么格式_用Word修图,真的比PS简单十倍不止!可惜知道的人太少了......
  9. 实战派网站优化运营总监白杨 分享从业十年的seo优化干货!
  10. c++语言计算圆周率,计算圆周率的C++程序(30000位)
  11. 「TYVJ1017」冗余关系
  12. JS手机号身份证验证
  13. 第26课:MAT中的Dominator Tree与Retained Set详解
  14. Onenote笔记转换为Markdown文本
  15. Java代码评审歪诗!让你写出更加优秀的代码!
  16. VC++创建个性的对话框之MFC篇(转)
  17. 最简单的iOS真机抓包方式
  18. 盛大渗透全纪实之SVN猎手
  19. eclipse介绍,环境配置,mysql安装
  20. CLEARTEXT communication to “ “ not permitted by network security policy处理办法

热门文章

  1. vue关于接口请求数据过大导致浏览器崩溃
  2. java空指针异常是什么、怎么发生、如何处理
  3. 图片和字符串相互转换
  4. 微信小程序web-view与H5 通信方式探索
  5. Flex Frameworks
  6. Json使用详解(配合Ajax异步请求)
  7. TFASR 开源语音识别项目解构
  8. emd,eemd,vmd,频谱图,分解图对比matlab代码
  9. 塑胶模具设计中行位原理,值得收藏
  10. 开闭原则、迪米特法则、合成复用原则