svd奇异值分解_奇异值分解SVD

3278f1f53260bb44a575a0bd229ae47d.png点击上方蓝字关注我们c873785897227372dcdad2ea0730c5ce.gif

奇异值分解(SVD)在计算机视觉中有着广泛的应用,如数据降维、推荐系统、自然语言处理等。本文是介绍SVD的数学计算过程,并从SVD的性质说明其应用的原理。

630a65915b9dafab207597ed0f38977c.png

01特征值与特征向量

奇异值分解(SVD)与特征分解类似,是将矩阵分解为由奇异值(特征值)和特征向量表示的矩阵之积的方法。因而,在介绍SVD前有必要先介绍特征值、特征向量和特征分解。

由线性代数知识可知特征值与特征向量的定义:

                        Aα = λα                          

其中:A是nxn矩阵,λ是特征值,α是特征值对应的n维特征向量。通过线性代数知识可以求解特征值和特征向量

02特征分解

特征分解是将矩阵分解为由特征值和特征向量表示的矩阵之积的方法。如大小为 nxn 的矩阵 A 可以用如下特征分解表示:

                         A=WΣW-1                               

其中:W是n个特征向量组成的nxn矩阵,Σ是以n个特征值为主对角线的nxn矩阵。一般情况下需要将W矩阵中n个特征向量标准化,即 ||ωi||2=1,或 ωiTωi=1,那么W矩阵为酉矩阵,即 WTW=I,WT=W-1 。则矩阵A的特征分解可以写为:

                        A=WΣWT                              

由此可见,我们只需计算矩阵A的特征值和特征向量就能够实现矩阵分解

03奇异值分解

上述特征分解是对大小为nxn的矩阵(方阵)的分解,对于非方阵的求解则需要采用SVD。假设A是mxn的矩阵,那么其相应的奇异值分解可表示为:

                        A=UΣVT                                   

其中:U是AAT矩阵的特征向量组成的mxm的矩阵,Σ是以奇异值 σ 为主对角线的mxn的矩阵,V是ATA矩阵的特征向量组成的nxn的矩阵,U,V均为酉矩阵,即UUT=I,VVT=I。

由此可以看出SVD分解后的矩阵计算方法与特征分解的计算方法略有不同。对于U、V矩阵可分别计算AAT矩阵的特征向量和 ATA 矩阵的特征向量来实现,但 Σ 矩阵包含奇异值 σ ,那么我们需要说明奇异值的计算。

由SVD分解的定义可知:

                              A=UΣVT                            

因为V为酉矩阵,即:VTV=I,那么:

                      AV=UΣVTV=UΣ                    

定义 V 矩阵由特征向量 νi (称为右奇异向量)组成, U 矩阵由特征向量 μi (称为左奇异向量)组成,那么

                           Aν= σμi                         

因为 νi 和 μi 可以由前述过程得到,所以通过此式能够得到奇异值,从而构建 Σ 矩阵。注意其中 i 的最大值是min( n, m)。

04SVD性质

SVD分解中奇异值 σ 类似于特征分解中的特征值 λ,在 Σ 矩阵中依据 σ 大小排列后,可发现 σ 数值减少趋势明显,通常数值较大的 σ 之和占据了全部奇异值之和的绝大部分比例。因而,我们可以使用前 k 个最大的奇异值和对应的左右奇异向量来近似描述矩阵,即:

     Amn = UmmΣmnVnnT ≅ UmkΣkkVknT     

其中k远小于n,那么矩阵A可以使用小矩阵表示。因为SVD这个性质,因而SVD可用于降维、去噪等。

END

4c0d9095c5d12b36976224b9a5f4aa62.png扫码关注我们臭皮匠快速编程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/504888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python turtle画房子详细解释_[宜配屋]听图阁

我就废话不多说了,直接上代码吧!import turtletturtle.Turtle()turtle.Turtle().screen.delay(0)tleftturtle.Turtle()#第一部分t.penup()t.goto(0,0)t.pendown()t.left(20)t.forward(110)t.left(25)t.forward(40)t.left(100)t.circle(180,20)t.right(12…

简易航空订票系统_四川航空APP全新升级改版,三大亮点提升订票体验

成都2015年10月23日电 /美通社/ -- 四川航空发布手机APP全新的3.0版本,不仅针对界面风格做了全新改变,在iOS9、安卓系统上的展示更加炫丽;而且在机票预订、航班动态、特价机票方面均做了大幅升级,会员服务也更加贴心。对于有机票需…

python可视化分析网易云音乐评论_网易云音乐热门评论api分析

网上有现成的例子我就扒过来了!!title: 网易云评论api分析date: 2018-12-24 20:54:46tags: [python]网易云音乐是个好地方,里面各个都是人才,特别是评论区……所以我就想把评论爬下来看看,下面记录一下分析api的过程与…

spring 上下文_一次性教你彻底理解 Spring容器和应用上下文!

作者:陈本布衣www.cnblogs.com/chenbenbuyi有了Spring之后,通过依赖注入的方式,我们的业务代码不用自己管理关联对象的生命周期。业务代码只需要按照业务本身的流程,走啊走啊,走到哪里,需要另外的对象来协助…

oracle plsql 到处dbf_plsql 导出oracle数据库

plsql 导出数据库有两个问题,一个是只导出结构,一个是导出表结构加数据这样的,首先人家让我导成sql语句这不是简单,首先打开PLSQL一、导出结构1、然后tools->Export User Objects..然后出来一片空白2、要选择哪个User3、上面会…

python爬取百度百科搜索结果_用Python抓取百度搜索结果,python,爬取,的

前言前几天爬的今天整理了一下发现就两个需要注意的点一是记得用带cookie的方式去访问,也就是实例化requests.session()二是转化一下爬取到的url,访问爬到的url得到返回的Location值,该值便是真实的地址(如果你不是要爬url当我没说)知道了这两…

spring aop设计模式_Spring框架中设计模式的运用

设计模式大家可能随口就能说出总共有23种,但是具体怎么用,或者在常用的组建中有哪些体现,这时候不一定说的上来了。接下来几篇文章,我们一起深入理解。首先我们一起了解下常用的组建中是怎么运用的,比如 JDK、Sring、M…

sql unicode转中文_SELECT语句《SQL必知必会》

数据库中有哪些数据类型?数据库中最常用对数据类型有三种:Text(文本)、Number(数字)和 Date/Time。文本类型:即字符串,如“nameasdas”数字类型:十进制数字,如…

graphpad如何检测方差齐_如何选择方差分析的多重比较方法?资料集锦

欢迎订阅SPSS训练营号方差分析时,如果因素主效应有显著影响,则需要对因素水平进行两两比较,以确认因素水平间的具体差异。这个过程也叫作多重比较。SPSS提供14种用于方差齐次的多重比较方法,还有4种方差不齐情况下的多重比较方法&…

【MySQL学习笔记009】事务

一、事务简介 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 二、事务操作 1、操作1 查看/设置事务提交方式 select a…

c mysql 视图_MySQL入门教程(七)之视图

相关阅读:视图是从一个或多个表中导出来的虚拟表。视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据。1、视图简介1.1 视图的含义视图是从一个或多个表中导出来的虚拟表,还可以从已经存在的视图的基础上定义。数据库中只存放视图的定…

tensorflow gpu安装_tensorflow-gpu安装配置

1 介绍目前,主流版本是tensorflow-gpu 1.12.0,线上安装这个版本,和这个版本搭配的cuda是9.0版本,cudnn版本是7.0.5。2 cuda和cudnn安装cuda驱动地址:cuda_9.0.176_384.81_linux.runcudnn库地址: cudnn-9.0-linux-x64-v…

java ee文件下载_JavaEE实现文件下载

我们先来看一个最简单的文件下载的例子:package com.yyz.response;import java.io.FileInputStream;import java.io.IOException;import java.io.OutputStream;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.…

java安全框架有哪些_Java开发必备教程-细说Spring Security安全框架

一、Spring Security介绍spring security 是基于 spring 的安全框架。它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和授权。在 Spring Framework 基础上,spring security 充分利用了依赖注入(DI)和面向切面编程(AOP)功能&…

无法读取源文件或磁盘_raid磁盘阵列作用

磁盘阵列的作用:1.提高传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可…

java none怎么用tomcat_JavaWeb学习——在Eclipse里使用Tomcat

JavaWeb学习——在Eclipse里使用Tomcat摘要:本文主要学习了如何在Eclipse里使用Tomcat服务器。添加Tomcat打开Eclipse的配置页面,点击菜单上的“Window”,在下拉菜单中找到“Preferences”:找到运行环境的配置页面,如果…

mysql b 树原因_复习系列之数据库(四):MySQL为什么采用B+树作为索引结构?

MySQL中数据是索引组织表,即表中数据按照主键顺序存放。所以就可以基于索引这种数据结构实现一些高级算法,来提高检索效率。常见的查找算法顺序查找:复杂度O(n),在数据量大时,效率很低二分查找:在有序为前提…

windows无法检索有关这台计算机上的磁盘信息_磁盘镜像软件OO DiskImage Pro 15.5介绍及安装教程...

Active Disk Image是一种磁盘映像软件,可以精确复制任何PC磁盘(HDD,SSD,USB,CD,DVD,Blu-ray等)并将其存储在文件夹中。磁盘映像可用于备份,PC升级或磁盘复制。万一计算机出现故障,可…

word手写字体以假乱真_Word小技巧|打印作文草稿纸

前期介绍过一些Word使用中的小技巧,例如WORD快速查找的2个小技巧 https://www.iappi.cn/2019_08/20191147.html,使用Word创建九宫格图像 https://www.iappi.cn/2019_07/20191064.html 等。今天再分享一个打印作文草稿纸的技巧。很多时候需要规范写好作文…

概要设计说明书_没有什么比牙签更好的设计了

牙签是设计公理的典型例子,形式服从功能。它的形式和功能是单一的、紧凑的、轻质的、可生物降解的、可持续的实体。不证自明的:它的形状是设计功能的缩影,同时作为手柄和说明书。它的形状不仅告诉你如何握住和使用它,而且告诉你把…