MIT_线性代数笔记:第 29 讲 奇异值分解

目录

  • 如何实现
  • 用矩阵数学语言描述这一过程
  • 举例

本讲介绍奇异值分解(Singular value decomposition),简称 SVD。这是矩阵最终也是最好的分解,任意矩阵可分解为 A = U Σ V T A=UΣV^T A=UΣVT,分解结果为正交矩阵 U,对角阵Σ和正交矩阵 V。

如果矩阵 A 是正定矩阵,它的奇异值分解就是 A = Q Λ Q T A=QΛQ^T A=QΛQT,一个正交矩阵 Q 就可以满足分解,而不需要两个。而对于可对角化的矩阵有 A = S Λ S − 1 A =SΛS^{-1} A=SΛS1,但特征向量矩阵 S 并不是正交矩阵,而 SVD 中的 U 和 V 都是正交矩阵。

如何实现

可以将矩阵 A 视为一种线性变换操作,将其行空间中的一个向量 v 1 v_1 v1,变为其列空间中的向量 u 1 = A v 1 u_1=Av_1 u1=Av1。奇异值分解就是要在行空间中寻找一组正交基,将其通过矩阵 A 线性变换生成列空间中的一组正交基 A v i = σ i u i Av_i=σ_iu_i Avi=σiui
在这里插入图片描述
找出矩阵A行空间中的正交基很容易,Gram-Schmidt正交化过程就可以做到,但是随便的一组正交基经过矩阵矩阵 A 变换得到的向量并不一定正交,因此满足此要求的行空间的正交基非常特殊。而矩阵 A 零空间的向量所对应的是矩阵Σ 对角线上的 0 元素,因此很容易处理。

用矩阵数学语言描述这一过程

问题的核心就是找到行空间中一组特殊的正交基:
在这里插入图片描述
如果加入零空间的部分,等式就变为AV=UΣ。其中零空间对应的正交基 v r + 1 … … v n v_{r+1}……v_n vr+1……vn,经过线性变换得到 Av=0,对应 矩阵中对角线最后的特征值 σ r + 1 = σ r + 2 = … = 0 σ_{r+1}=σ_{r+2}=…=0 σr+1=σr+2==0。在等式 AV=UΣ两侧右乘 V-1得到 A = U Σ V − 1 = U Σ V T A=UΣV^{-1}=UΣV^T A=UΣV1=UΣVT

现在的问题就是怎么找到符合要求的向量 v i 和 u i v_i和 u_i viui。 为了得到这两个正交矩阵,考虑首先解决其中的一个,在等式 A = U Σ V T A=UΣV^T A=UΣVT 两侧分别乘上等式 A T = V Σ T U T AT=VΣ^TU^T AT=VΣTUT两侧的项:
在这里插入图片描述
上式其实是正定矩阵 A T A A^TA ATA的正交分解, v i v_i vi就是矩阵 A T A A^TA ATA 的特征向量, σ i 2 σ_i^2 σi2就是矩阵 A T A A^TA ATA 的特征值,奇异值 σ i σ_i σi要取正平方根。用同样的办法也可以求得 U,它的列向量就是矩阵 A A T AA^T AAT的特征向量。

举例

例 1:矩阵 A = [ 4 4 − 3 3 ] A= \begin{bmatrix} 4&4\\-3&3 \end{bmatrix} A=[4343] ,求其 SVD 分解。
矩阵为可逆矩阵,秩为 2,则需要在行空间中求得 v 1 v_1 v1 v 2 v_2 v2,列空间中求得 u 1 u_1 u1 u 2 u_2 u2,以及伸缩因子 σ 1 σ_1 σ1 σ 2 σ_2 σ2

计算 A T A = [ 4 − 3 4 3 ] [ 4 4 − 3 3 ] = [ 25 7 7 25 ] A^TA=\begin{bmatrix} 4&-3\\4&3 \end{bmatrix}\begin{bmatrix} 4&4\\-3&3 \end{bmatrix}=\begin{bmatrix} 25&7\\7&25 \end{bmatrix} ATA=[4433][4343]=[257725],它的特征向量为 [ 1 1 ] \begin{bmatrix} 1\\1 \end{bmatrix} [11] [ 1 − 1 ] \begin{bmatrix} 1\\-1 \end{bmatrix} [11]。标准化得到 v 1 = [ 1 2 1 2 ] , v 2 = [ 1 2 − 1 2 ] v_1=\begin{bmatrix} \frac{1}{\sqrt{2}}\\\frac{1}{\sqrt{2}}\end{bmatrix},v_2=\begin{bmatrix} \frac{1}{\sqrt{2}}\\\frac{-1}{\sqrt{2}}\end{bmatrix} v1=[2 12 1],v2=[2 12 1],,求得 σ 1 2 = 32 σ_1^2=32 σ12=32 σ 2 2 = 18 σ_2^2 =18 σ22=18

求 U 的过程可以利用矩阵 A A T AA^T AAT
A A T = [ 4 4 − 3 3 ] [ 4 − 3 4 3 ] = [ 30 0 0 18 ] AA^T=\begin{bmatrix} 4&4\\-3&3 \end{bmatrix}\begin{bmatrix} 4&-3\\4&3 \end{bmatrix}=\begin{bmatrix} 30&0\\0&18 \end{bmatrix} AAT=[4343][4433]=[300018],求得 σ 1 2 = 32 σ_1^2=32 σ12=32 σ 2 2 = 18 σ_2^2 =18 σ22=18,它的特征向量为 [ 1 0 ] \begin{bmatrix} 1\\0 \end{bmatrix} [10] [ 0 1 ] \begin{bmatrix} 0\\1 \end{bmatrix} [01]

但是我们直接将 [ 1 0 0 1 ] \begin{bmatrix} 1&0\\0&1 \end{bmatrix} [1001]作为矩阵 U 代入,会产生错误 U Σ V T = [ 4 4 3 − 3 ] UΣV^T=\begin{bmatrix} 4&4\\3&-3 \end{bmatrix} UΣVT=[4343] 。这是因为确定特征向量的过程中,特征向量反向仍然符合要求,通过现在的方法无法确认向量的符号,但是一旦我们确认 v 的方向之后,u 的方向也就随之确定,将 v 代入 AV=UΣ 计算 u 可以避免这种问题。u 和 v 之间的符号联系在进行 A A T AA^T AAT的计算时被切断了,而用 AV=UΣ 可以避免此问题。

例 2:奇异阵 A = [ 4 3 8 6 ] A=\begin{bmatrix} 4&3\\8&6 \end{bmatrix} A=[4836],求其 SVD 分解。
矩阵的秩为 1,行空间和列空间都是 1 维的。行空间和零空间可以找到一组正交基转换得到列空间和左零空间的一组正交基。

很容易确定 v 1 = [ 0.8 0.6 ] , v 2 = [ 0.6 − 0.8 ] , u 1 = 1 5 [ 1 2 ] , u 2 = 1 5 [ 2 − 1 ] v_1=\begin{bmatrix} 0.8\\0.6 \end{bmatrix},v_2=\begin{bmatrix} 0.6\\-0.8 \end{bmatrix},u_1=\frac{1}{\sqrt{5}}\begin{bmatrix} 1\\2 \end{bmatrix},u_2=\frac{1}{\sqrt{5}}\begin{bmatrix} 2\\-1 \end{bmatrix} v1=[0.80.6],v2=[0.60.8],u1=5 1[12],u2=5 1[21]
A A T = [ 4 8 3 6 ] [ 4 3 8 6 ] = [ 80 60 60 45 ] AA^T=\begin{bmatrix} 4&8\\3&6 \end{bmatrix}\begin{bmatrix} 4&3\\8&6 \end{bmatrix}=\begin{bmatrix} 80&60\\60&45 \end{bmatrix} AAT=[4386][4836]=[80606045],秩 1 矩阵,很容易求得 σ 1 2 = 125 σ_1^2=125 σ12=125 σ 2 2 = 0 σ_2^2 =0 σ22=0

矩阵的 SVD 分解为: A = 1 5 [ 1 2 2 − 1 ] [ 125 0 0 0 ] [ 0.8 0.6 0.6 − 0.8 ] A=\frac{1}{\sqrt{5}}\begin{bmatrix} 1&2\\2&-1 \end{bmatrix}\begin{bmatrix} \sqrt{125}&0\\0&0 \end{bmatrix}\begin{bmatrix} 0.8&0.6\\0.6&-0.8 \end{bmatrix} A=5 1[1221][125 000][0.80.60.60.8]

做奇异值分解就是在矩阵的四个子空间中寻找到合适的基:
v 1 , v 2 … … v r v_1,v_2……v_r v1v2……vr为行空间的标准正交基。
u 1 , u 2 … … u r u_1,u_2……u_r u1u2……ur为列空间的标准正交基。
v r + 1 , v r + 2 … … v n v_{r+1},v_{r+2}……v_n vr+1vr+2……vn为零空间的标准正交基。
u r + 1 , u r + 2 … … u m u_{r+1},u_{r+2}……u_m ur+1ur+2……um为左零空间的标准正交基。

奇异值分解在最小二乘法问题中有重要应用,因为在实际问题中常碰到矩阵 A不是列满秩的状态,因此 A T A A^TA ATA 不可逆,无法用之前的方法求最优解。即使是列满秩的情况当矩阵是超大型矩阵时, A T A A^TA ATA 的计算量太大,用奇异值分解的办法会降低计算量。

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

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

相关文章

day31_HTML

今日内容 0 复习昨日 1 表格标签 2 表单标签【重要】 3 框架标签 0 复习昨日 Javaweb开发,前端,服务器,数据库 前端,要学习HTML,CSS,JavaScript,JQuery HTML是用来编写网页的一种编程语言 语法 由各种标签组成,标签是尖括号<>,一般都是成对儿出现,前面叫做开标签,后面…

excel中多行合并后调整行高并打印

首先参考该文&#xff0c;调整全文的行高。 几个小技巧&#xff1a; 1.转换成pdf查看文件格式 2.通过视图--》分页预览&#xff0c;来确定每页的内容&#xff08;此时页码会以水印的形式显示&#xff09; 3. 页面布局中的&#xff0c;宽度可以选为自动&#xff0c;因为已经是…

Linux——系统简介

1、从UNIX到LINUX 在目前主流的服务器端操作系统中&#xff0c;UNIX诞生于20世纪60年代末&#xff0c;Windows诞生于20世纪80年代中期&#xff0c;Linux诞生于20世纪90年代初&#xff0c;可以说UNIX是操作系统中的“老大哥”。 1.1、Linux简史 Linux内核最初是由李纳斯托瓦兹…

[TII 2023] 基于压缩感知的多级隐私保护方案

Multilevel Privacy Preservation Scheme Based on Compressed Sensing | IEEE Journals & Magazine | IEEE Xplore 摘要 物联网的广泛应用在给人们带来便利的同时&#xff0c;也引发了人们对数据采集、分析和共享过程中隐私泄露的担忧。本文提出了一种基于压缩感知的多级…

Cesium数据加载

文章目录 0.引言1.影像加载1.1Bing地图1.2天地图1.3ArcGIS在线地图1.4高德地图1.5OSM影像1.6MapBox影像 2.OGC地图服务2.1WMS2.2WMTS2.3TMS 3.GeoJSON数据加载4.KML数据加载5.TIFF数据加载6.点云数据加载7.地形数据加载7.1在线地形数据加载7.2本地地形数据加载 8.倾斜摄影模型数…

[BT]小迪安全2023学习笔记(第15天:PHP开发-登录验证)

第15天 名词解释 Cookie 是小型的文本文件&#xff0c;由网站发送到用户的浏览器&#xff0c;并存储在用户的设备上。Cookie 通常用于存储识别用户的信息&#xff0c;例如用户偏好、登录状态等。每当用户再次访问同一网站时&#xff0c;浏览器会将 Cookie 发送回服务器&#…

10 个值得分享给你前端低代码项目

今天来分享 10 个优秀的前端低代码项目&#xff01;企业级低代码快速开发平台&#xff0c;包含页面可视化配置、自定义表单、自定义报表、权限管理脚手架应用、前后端代码自动生成&#xff1b;主要特点是低代码开发&#xff0c;可实现复杂CRUD功能仅编写数据模型就能完成前后端…

扫雷游戏 bevy 实践(bevy 0.12)-1

经典的扫雷游戏 bevy 实践&#xff08;bevy 0.12&#xff09; 网上大多是0.6的 但愿大家能够摸索着 上手 参考资料&#xff1a; Bevy Minesweeper: Introduction - DEV Community &#xff08;原始教程&#xff0c;0.6版本&#xff09; https://github.com/leonidv/bevy-m…

在线教育App、H5、微信小程序项目

大型多端项目&#xff0c;uni-app开发 一、首页 二、课程页 以点击购买&#xff0c;购买后可以看到课程内容 种课程音频、视频等&#xff0c;以及专栏&#xff0c;都可以购买后观看 三、电子书 订阅成功后&#xff0c;就可以观看电子书了 选择章节 直播模块&#xff1a; 订阅…

Linux 一键部署influxd2-telegraf 二进制方式

influxd2前言 influxd2 是 InfluxDB 2.x 版本的后台进程,是一个开源的时序数据库平台,用于存储、查询和可视化时间序列数据。它提供了一个强大的查询语言和 API,可以快速而轻松地处理大量的高性能时序数据。 telegraf 是一个开源的代理程序,它可以收集、处理和传输各种不…

零基础学习数学建模——(四)备战美赛

本篇博客将讲解如何备战美赛。 什么是美赛 美赛&#xff0c;全称是美国大学生数学建模竞赛&#xff08;MCM/ICM&#xff09;&#xff0c;由美国数学及其应用联合会主办&#xff0c;是最高的国际性数学建模竞赛&#xff0c;也是世界范围内最具影响力的数学建模竞赛。 赛题内容…

CuteHttpFileServer

需求 最近行政同时需要做文件共享&#xff0c;使用windows上的文件共享有些问题&#xff0c;ftp也是有问题&#xff0c;同时需要身份验证功能&#xff0c;找了很久&#xff0c;发现CuteHttpFileServer 这个文件服务器&#xff0c;可以解决这个需求&#xff0c;中间过程中也写过…

生产问题复盘!Swap对GC的影响

Swap 1. 什么是Swap swap 是把一块磁盘空间或者一个本地文件当做内存来使用。可用内存无法满足内存分配请求的时候&#xff0c;把不常用的内存数据存储到磁盘&#xff0c;并在内存中释放这部分内存。当进程再次访问这部分内存的时候&#xff0c;再读取到内存中来。 2. 为什么…

详讲api网关之kong的基本概念及安装和使用(一)

什么是api网关 前面我们聊过sentinel&#xff0c;用来限流熔断和降级&#xff0c;如果你只有一个服务&#xff0c;用sentinel自然没有问题&#xff0c;但是如果是有多个服务&#xff0c;特别是微服务的兴起&#xff0c;那么每个服务都使用sentinel就给系统维护带来麻烦。那么网…

计数指针:shared_ptr (共享指针)与函数 笔记

推荐B站视频&#xff1a; 4.shared_ptr计数指针_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV18B4y187uL?p4&vd_sourcea934d7fc6f47698a29dac90a922ba5a3 5.shared_ptr与函数_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV18B4y187uL?p5&vd_sourcea…

YOLOV5目标检测---labelimg图片标注工具(1)

前言&#xff1a;在使用YOLO训练自己模型的时候首先要学会对数据进行处理&#xff0c;这里介绍一个常用的本地打标签工具labelimg&#xff0c;如果不想按照的话也可以使用在线标签工具&#xff0c;因为害怕数据泄露&#xff0c;所以本人一直使用的是本地工具进行打标签。在线标…

node.js漏洞总结

js开发的web应用和php/Java最大的区别就是js可以通过查看源代码的方式查看到编写的代码&#xff0c;但是php/Java的不能看到&#xff0c;也就是说js开发的web网页相当于可以进行白盒测试。 流行的js框架有&#xff1a; 1. AngularJS 2. React JS 3. Vue 4. jQuery 5. Backbone…

ppt作品展示能用二维码吗?文件二维码内容可替换怎么做?

当我们需要将自己的作品或者内容做成ppt文件之后&#xff0c;用二维码的方式来做展示&#xff0c;而且生成二维码还可以在图案不变的情况下&#xff0c;能够修改或者替换文件内容&#xff0c;实现二维码的长期使用。在遇到这种要求时&#xff0c;如何生成这种类型的二维码图片呢…

扫雷游戏——数组和函数实现

扫雷游戏的功能说明 使⽤控制台实现经典的扫雷游戏 游戏可以通过菜单实现继续玩或者退出游戏扫雷的棋盘是9*9的格⼦ 默认随机布置10个雷可以排查雷如果位置不是雷&#xff0c;就显⽰周围有⼏个雷如果位置是雷&#xff0c;就炸死游戏结束把除10个雷之外的所有⾮雷都找出来&…

HFSS实战(三)——过孔via TDR仿真

文章目录 一、模型的处理二、TDR仿真2.1 修改求解模式2.2增加求解设置 三、查看仿真结果3.1 查看TDR结果3.2 查看S参数结果 四、结果分析4.1上升时间tr对仿真的影响 附&#xff1a;工程链接 在上一讲中&#xff0c;主要是通过观察S参数确定via的优化是否达到目标。但S参数只能看…