奇异值分解SVD的定义,求法,推导和几何意义以及它和各位伪逆矩阵的关系

定义

奇异值分解就是把一个矩阵分解成正交矩阵乘以对角矩阵乘以正交矩阵的形式,即 即 A = U Σ V T A=U\Sigma V^T A=UΣVT

求法

A A T = U Σ V T V Σ U T = U Σ 2 U T AA^T=U\Sigma V^TV\Sigma U^T=U\Sigma^2U^T AAT=UΣVTVΣUT=UΣ2UT,这个是很明显的特征值分解形式
A T A = V Σ U T U Σ V T = V Σ 2 V T A^TA=V\Sigma U^TU\Sigma V^T=V\Sigma^2V^T ATA=VΣUTUΣVT=VΣ2VT
所以很明显 U U U A A T AA^T AAT特征向量的堆叠, V V V A T A A^TA ATA特征向量的堆叠

推导

上面那个成立隐含了一个条件是 A A T AA^T AAT A T A A^TA ATA有相同的特征值,如果他们特征值不一样,那么SVD也无从说起
A T A A^TA ATA是对称矩阵,所以UV都是正交矩阵,所以 v 1 和 v 2 v_1和v_2 v1v2正交,并且我们规定它们都是单位向量(ps.特征向量可以任意缩放)
( A v 1 ) T A v 2 = u 1 T A T A v 2 = v 1 T λ 2 v = 0 (Av_1)^TAv_2=u_1^TA^TAv_2=v_1^T\lambda_2 v=0 (Av1)TAv2=u1TATAv2=v1Tλ2v=0
所以 A u Au Au之间也是正交的
所以有 ∣ A v i ∣ 2 = ( A v i ) T A v = v i T A T A v i = λ |Av_i|^2=(Av_i)^TAv=v_i^TA^TAv_i=\lambda Avi2=(Avi)TAv=viTATAvi=λ
所以 ∣ A v i ∣ = λ i |Av_i|=\sqrt{\lambda_i} Avi=λi
这就可以构造出

A v i ∣ A v i ∣ = 1 λ A v i \frac{Av_i}{|Av_i|}=\frac{1}{\sqrt{\lambda}}Av_i AviAvi=λ 1Avi

A A T 1 λ i A v i = A 1 λ i A T A v i = A 1 λ i λ i v i = λ i 1 λ i A v i AA^T\frac{1}{\sqrt{\lambda_i}}Av_i=A\frac{1}{\sqrt{\lambda_i}}A^TAv_i=A\frac{1}{\sqrt{\lambda_i}}\lambda_iv_i=\lambda_i\frac{1}{\sqrt{\lambda_i}}Av_i AATλi 1Avi=Aλi 1ATAvi=Aλi 1λivi=λiλi 1Avi

1 λ i A v i \frac{1}{\sqrt{\lambda_i}}Av_i λi 1Avi当做整体看作 u i u_i ui,就会有
A A T u i = λ i u i AA^Tu_i=\lambda_iu_i AATui=λiui
这说明 A A T 和 A T A AA^T和A^TA AATATA的特征值是一样的,而且他们特征向量的关系是 u i = 1 λ i A v i u_i=\frac{1}{\sqrt{\lambda_i}}Av_i ui=λi 1Avi

奇异值分解的两种形式

SVD其实有两种形式
一种形式是U是m×r,V是n×r, Σ \Sigma Σ是r×r,这里面是r是矩阵的秩,他把一些0元素给去掉了
另一种形式是u是m×m,v是n×n, Σ \Sigma Σ是m*n,这里面的 Σ \Sigma Σ就需要在原本的r×r矩阵右下角填补一些0元素了
第一种形式是特征向量的堆叠,因为秩为r,所以特征向量只有r个
第二种形式补了零,这时候的 U V UV UV都是正交矩阵,可以看做旋转矩阵,这时候SVD就有几何意义,它在对角矩阵处补0,而对于 U V UV UV矩阵它其实补的是 A A T x = 0 AA^Tx=0 AATx=0的解,一方面这些向量也可以认为是特征值为0的对应的特征向量,另一方面他们和之前的特征向量垂直,让 U V UV UV可以保持正交矩阵的优良特性

SVD的几何意义

因为 A = U Σ V T A=U\Sigma V^T A=UΣVT,它从几何角度来看 A x Ax Ax是一种形变,先转换到V空间,再拉伸,再转到U空间,这里面的 Σ \Sigma Σ中对角的零元素表明它在变换中对某个维度置零0,这是不可恢复的,变换不可逆意味着矩阵没有逆矩阵.所以可逆矩阵中间会是完整的对角矩阵,而不可逆矩阵中间才会有零元素.
另外对角没有零不代表是可逆矩阵,只有方阵对角才是可逆.
其实非方阵也不是完全不可逆,有左逆和右逆矩阵.
如果 U V UV UV维度不一样,U维度大于V,那么 x A xA xA可逆,它先升维再拉伸再降维,完全没问题,但是反过来 A x Ax Ax就不可逆了
相反的U维度小于V,那么 A x Ax Ax可逆, x A xA xA不可逆
当然对角有零也可以强行反推,这时候会损失一些数据,这种逆也叫伪逆
不管是有损伪逆还是左逆右逆,都可以用SVD表达即
A + = V Σ − 1 U T A^+=V\Sigma^{-1}U^T A+=VΣ1UT,这就是对SVD几何变换的逆转

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

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

相关文章

关于使用Java-JWT的笔记

Token的组成规则 一个token分三部分,按顺序为:头部(header),载荷(payload),签证(signature) 由三部分生成token ,三部分之间用“.”号做分隔。 例如:“eyJhbGciOiJIUzI1…

完全二叉树你需要了解一下

完全二叉树介绍完全二叉树应用场景完全二叉树和满二叉树的区别完全二叉树代码示例拓展 完全二叉树介绍 完全二叉树(Complete Binary Tree)是一种特殊的二叉树,它的定义是:如果设二叉树的深度为h,除第h层外&#xff0c…

博主都在用的网站,一键制作电子杂志

​随着互联网的发展,越来越多的人开始使用电子杂志来展示自己的作品或宣传自己的品牌。而制作电子杂志的工具也越来越多,其中一些工具非常受欢迎,被许多博主使用。今天,我们就来介绍一款博主都在用的网站,它可以帮助你…

MySQL InnoDB 引擎底层解析(三)

6.3.3. InnoDB 的内存结构总结 InnoDB 的内存结构和磁盘存储结构图总结如下: 其中的 Insert/Change Buffer 主要是用于对二级索引的写入优化,Undo 空间则是 undo 日志一般放在系统表空间,但是通过参数配置后,也可以用独立表空 间…

c语言上机作业:迭代法求平方根

1.题目 设计一个函数func用迭代法编程求一个数的平方根。平方根的迭代公式为:牛顿迭代法,(要求前后两次迭代值求差的绝对值小于10的-9次方) 2.思路 a.这里要求我们设置一个函数能够完成牛顿迭代法,这里需要使用到函数迭代的知识&#xff0…

泉盛UV-K5/K6全功能中文固件

https://github.com/wu58430/uv-k5-firmware-chinese/releases 主要功能: 中文菜单 许多来自 OneOfEleven 的模块: AM 修复,显著提高接收质量长按按钮执行 F 操作的功能复制快速扫描菜单中的频道名称编辑频道名称 频率显示选项扫描列表分配…

Window下如何对Redis进行开启与关闭

目录 前言1. 图文界面2. 命令行 前言 由于长期使用Linux界面,对于Window下的Redis,不知如何下手。特此记录该博文 特别注意,刚下载好的Redis,如果需要配置密码,可以再该文件进行配置:redis.windows-servi…

【Python】给出n个数,找出这n个数的最大值,最小值,和。

问题描述 给出n个数,找出这n个数的最大值,最小值,和。 样例输入 5 1 3 -2 4 5 Data 样例输出 5 -2 11 n int(input()) # 从用户输入中读取一个整数,将其赋给变量n# 从用户输入中读取一行字符串,使用空格分割字符串&a…

火狐挂代理访问问题Software is preventing Firefox from safely connecting to this site

1、报错 Software is preventing Firefox from safely connecting to this site2、解决步骤 火狐浏览器访问http://burp,右上角有下载按钮下载下来证书文件 在 Firefox 中设置证书颁发机构 (CA) 验证

Properties的store、load方法

Properties类的store方法 Properties类的store方法用于将属性列表存储到一个输出流中,以便将其写入到文件中。 方法签名: public void store(OutputStream out, String comments) throws IOException参数说明: out:要写入属性…

如何使用Mondo Rescue备份及恢复Linux系统(制作ISO镜像,成功恢复)

环境: CentOS Linux release 7.9.2009 mondoarchive v3.3.0-r3762 PVE 虚拟机 问题描述: 如何使用Mondo Rescue备份及恢复Linux系统, 制作ISO镜像, 整个系统将全部备份并恢复? Mondo Rescue是一个开源的备份和恢复工具,旨在提供快速、可靠的系统备份和恢复解决方案。…

共享内存的创建和映射过程

消息队列、共享内存、信号量的机制:它们在使用之前都要生成 key,然后通过 key 得到唯一的 id,并且都是通过 xxxget 函数。在内核里面,这三种进程间通信机制是使用统一的机制管理起来的,都叫 ipcxxx。为了维护这三种进程…

代码随想录Day51 完结篇 LeetCode T84 柱状图的最大矩形

前言 今天代码随想录一刷也告一段落了,没想到我居然坚持下来了,一节都没有落下,学习到了很多种不同的解题思路,也和大家一块交流了很多,哈哈也许不久以后我还得再次二刷代码随想录,希望这一系列的题解能给大家带来帮助,如想要系统学习,请参照代码随想录网站的题解以及b站的配套…

手写vue响应式

let data { //相当于vue中的datamsg: "",name: ,age: 222,adress: {country: China,province: Beijing}}let vm {} //相当于vue实例function observe(target) {if (typeof target ! object || target null) { return target }Object.keys(target).forEach(key &…

【Java 进阶篇】揭秘 Jackson:Java 对象转 JSON 注解的魔法

嗨,亲爱的同学们!欢迎来到这篇关于 Jackson JSON 解析器中 Java 对象转 JSON 注解的详细解析指南。JSON(JavaScript Object Notation)是一种常用于数据交换的轻量级数据格式,而 Jackson 作为一款优秀的 JSON 解析库&am…

【python】--python基础学习

目录 一、基础语法二、基础数据类型1、变量赋值2、数值型3、字符串型4、列表List5、元组Tuple6、字典dictionary7、数据类型转换 三、python运算符四、条件控制与循环五、常用函数1、字符串函数2、format函数 一、基础语法 标识符是允许作为变量(函数、类等&#x…

【C++】模板初阶 【 深入浅出理解 模板 】

模板初阶 前言:泛型编程一、函数模板(一)函数模板概念(二)函数模板格式(三)函数模板的原理(四)函数模板的实例化(五)模板参数的匹配原则 三、类模…

从大模型到内容生成,初窥门径的AI新次元

视频云AI进化新纪元。 最近Gartner发布2024年十大战略技术趋势,AI显然成为其背后共同的主题。全民化的生成式人工智能、AI增强开发、智能应用......我们正在进入一个AI新纪元。 从ChatGPT的横空出世,到开发者大会的惊艳亮相,OpenAI以一己之力…

设计模式 实践案例

目录 1.简单工厂 (一) https://preparedata.blog.csdn.net/article/details/134512643 1.复杂工厂 (二) https://preparedata.blog.csdn.net/article/details/134527637 附录:

logic-flow 使用过程中遇到的bug - 拖动节点到画布的时候,鼠标松开,节点不落在画布,仍旧跟着鼠标走

背景: 插件:logicFlow 用途:画流程图 bug表现: 初始化的样子: bug的样子: 拖动第一个节点的时候,一切正常(无论哪个节点作为第一个节点,都是正常的,但是拖动…