title: 【线性代数】6-7:SVD分解(Singular Value Decomposition-SVD)

categories:

  • Mathematic
  • Linear Algebra

    keywords:
  • Singular Value Decomposition
  • JPEG
  • Eigenvalues
  • Eigenvectors

    toc: true

    date: 2017-11-30 09:02:19

Abstract: 本文介绍SVD,奇异值分解,应该可以算是本章最后的高潮部分了,也是在机器学习中我们最常用的一种变换,我们经常需要求矩阵的特征值特征向量,比如联合贝叶斯,PCA等常规操作,本文还有两个线性代数的应用,在图像压缩上,以及互联网搜索上。

Keywords: Singular Value Decomposition,JPEG2000,Eigenvalues,Eigenvectors

开篇废话

今天的废话关于学习知识,最近看到一种说法,我觉的非常的形象,有个大神(是谁我忘了),他说已知的知识像一个圆圈,而自己能感受的未知就是紧邻圆圈,圆外部的区域,当你知道的知识越来越多,圆圈不断扩大,圆周也随之扩大,所以你会越来越发现自己无知,那么就会更努力的去学习,所以越有知识的人越谦逊,尤其是对待知识上,尊重知识,探索未知领域是人类文明存在的根本动力。

Singular Value Decomposition

SVD,熟悉的名字,如果不学习线性代数,直接机器学习,可能最先接触的就是SVD,所以我记得在写上个系列的博客的时候(CSDN,图像处理算法)就说到过SVD,当时还调侃了下百度,每次搜SVD出来的都是一把枪(报告政府,这个枪是穿越火线里面的,没超过1.7J)

这张分解图是我无意中发现的,ak47的发明人说过,如果一把枪,零件已经精简到最少了,那么这个才是精品,类似的意思上篇博客也说过,矩阵变换到最简单的形式,能够体现出其最重要的性质。

SVD,奇异值分解,与QR,LU,SΛS−1S\Lambda S^{-1}SΛS−1 等变换类似,其经过变换后会得到一个结构特异性质非凡的矩阵,SVD分解的结果和形式与对角化都非常相似,只是在形式和思路上更复杂,或者说如果说Jordan 是矩阵的对角化的扩展,因为有些矩阵特征向量不完全,那么SVD也是对角化的扩展,因为有些矩阵并不是方的。

所以SVD也是对角化,并且拥有比 A=SΛS−1A=S\Lambda S^{-1}A=SΛS−1 更完美的性质,但却是也复杂了一些,A=SΛS−1A=S\Lambda S^{-1}A=SΛS−1 有以下几个问题,需要完善:

  1. S中特征向量一般不是正交的,除非A是对称矩阵
  2. A并不是总有足够的特征值,这个是Jordan解决的问题,多个特征值相等,其对应于一个特征向量的时候,Jordan可以写成一块一块的对角矩阵
  3. A必须是方的方的方的

Singular Vectors作为eigenvectors 的替代品,可以完美解决上述问题,但是作为代价,我们的计算过程会变得复杂,并且Singular Vectors有两组,uuu 和 vvv

uuu 对应的是AATAA^TAAT 的特征向量,因为 AATAA^TAAT 对称,所以 uuu 们可以选择相互正交的一组。

同理 vvv 对应 ATAA^TAATA 的特征向量,因为ATAA^TAATA 对称,所以 vvv 们也可以选择相互正交的一组。

这里注意是选择,因为你也可以选择不正交的,但是不正交的可能就会很麻烦了。

铺垫的差不多 ,然后我们有下面的这条重要性质,为什么会成立后面有证明,现在就告诉你SVD究竟是个啥子鬼:

Av1=σ1u1Av2=σ2u2⋮Avn=σnun
Av_1=\sigma_1u_1\\
Av_2=\sigma_2u_2\\
\vdots\\
Av_n=\sigma_nu_n\\
Av1​=σ1​u1​Av2​=σ2​u2​⋮Avn​=σn​un​

v1,…,vnv_1,\dots,v_nv1​,…,vn​ 是ATAA^TAATA 的特征向量,所以 vvv 是矩阵A的Row Space

u1,…,unu_1,\dots,u_nu1​,…,un​ 是AATAA^TAAT 的特征向量,所以 uuu 是矩阵A的Column Space

σ1,…,σn\sigma_1,\dots,\sigma_nσ1​,…,σn​ 全部为正数,称为矩阵A的奇异值。

然后下面我们把 uuu 和 vvv 组合成矩阵 UUU 和 VVV ,那么根据对称矩阵的性质,UTU=IU^TU=IUTU=I 同理 VTV=IV^TV=IVTV=I 那么接下来我们来组合一下:

本文为节选,完整内容地址:https://www.face2ai.com/Math-Linear-Algebra-Chapter-6-7转载请标明出处

【线性代数】6-7:SVD分解(Singular Value Decomposition-SVD)的更多相关文章

  1. [Math Review] Linear Algebra for Singular Value Decomposition (SVD)

    Matrix and Determinant Let C be an M × N matrix with real-valued entries, i.e. C={cij}mxn Determinan ...

  2. 从矩阵(matrix)角度讨论PCA(Principal Component Analysis 主成分分析)、SVD(Singular Value Decomposition 奇异值分解)相关原理

    0. 引言 本文主要的目的在于讨论PAC降维和SVD特征提取原理,围绕这一主题,在文章的开头从涉及的相关矩阵原理切入,逐步深入讨论,希望能够学习这一领域问题的读者朋友有帮助. 这里推荐Mit的Gilb ...

  3. opencv2.4中SVD分解的几种调用方法

    原帖地址: http://blog.sina.com.cn/s/blog_6109b5d00101ag7a.html       在摄影测量和计算机视觉中,考虑最优解问题时,经常要用到SVD分解.奇异 ...

  4. SVD分解及线性最小二乘问题

    这部分矩阵运算的知识是三维重建的数据基础. 矩阵分解 求解线性方程组:,其解可以表示为. 为了提高运算速度,节约存储空间,通常会采用矩阵分解的方案,常见的矩阵分解有LU分解.QR分解.Cholesky ...

  5. SVD singular value decomposition

    SVD singular value decomposition https://en.wikipedia.org/wiki/Singular_value_decomposition 奇异值分解在统计 ...

  6. 线性代数之——SVD 分解

    SVD 分解是线性代数的一大亮点. 1. SVD 分解 \(A\) 是任意的 \(m×n\) 矩阵,它的秩为 \(r\),我们要对其进行对角化,但不是通过 \(S^{-1}A S\).\(S\) 中的 ...

  7. 奇异值分解(We Recommend a Singular Value Decomposition)

    奇异值分解(We Recommend a Singular Value Decomposition) 原文作者:David Austin原文链接: http://www.ams.org/samplin ...

  8. 【转】奇异值分解(We Recommend a Singular Value Decomposition)

    文章转自:奇异值分解(We Recommend a Singular Value Decomposition) 文章写的浅显易懂,很有意思.但是没找到转载方式,所以复制了过来.一个是备忘,一个是分享给 ...

  9. [转]奇异值分解(We Recommend a Singular Value Decomposition)

    原文作者:David Austin原文链接: http://www.ams.org/samplings/feature-column/fcarc-svd译者:richardsun(孙振龙) 在这篇文章 ...

随机推荐

  1. vue实现web登陆权限控制

    实现原理:vueRouter控制前端页面跳转路由,当登录成功后,返回用户登录token信息,将token信息放到store中,router路由跳转取store中状态有token时,当取到token时跳 ...

  2. C#基础--Ref与Out区别

    两者都是按地址传递的,使用后都将改变原来参数的数值. class Program { static void Main(string[] args) { int num = 1; Method(ref ...

  3. IP-reputation feature

    IP-reputation feature https://blog.norz.at/citrix-netscaler-ip-reputation-feature/ I recently had to ...

  4. TCP/IP及http协议 SOAP REST

    TCP/IP及http协议: TCP/IP协议主要解决数据如何在网络中传输, 而HTTP是应用层协议,主要解决如何包装数据 SOAP:简单对象访问协议(Simple Object Access Pro ...

  5. VBA if...else语句

    一个if语句由一个布尔表达式和一个或多个语句组成.如果条件评估为True,则执行if条件下的语句.如果条件评估为False,则执行else部分块下的语句. 语法 以下是VBScript中的if els ...

  6. $.ajax()属性详解

    $.ajax()方法详解 jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为Strin ...

  7. redis集群1

    redis-trib.rb命令详解   redis-trib.rb是官方提供的Redis Cluster的管理工具,无需额外下载,默认位于源码包的src目录下,但因该工具是用ruby开发的,所以需要准 ...

  8. element-ui Drawer抽屉组件封装

    <template> <div class="com"> <el-drawer title="我是标题" :visible.syn ...

  9. 新人数据库连接不上或数据库配置管理器里面sql服务打不开问题

    新人在链接数据库时可能会出现链接不上数据库,这个问题解决方法是大家找到配置管理器里面,把那些停用的功能开启一下应该就可以.但是我们有的电脑还会遇到里面配置里面什么也没有的情况,这个时候我们就得到控制面 ...

  10. 连接MySQL报错误代码 ERROR 1045时的解决方案

            最近在做网站迁移的时候,遇到了一件很尴尬的事情,远程连接数据连不上了,一直报 错误号码1045 Access denied for user 'root'@xx.xxx.xxx.xx( ...