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 的计算量太大,用奇异值分解的办法会降低计算量。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenAI API 的最新动态:新一代的嵌入模型,更新 GPT-4 Turbo,更新 GPT-3.5 Turbo 以及降低 API 价格

文章目录 一、前言二、主要内容三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 OpenAI 正在推出新一代嵌入模型、新的 GPT-4 Turbo 和审查模型、新的 API 使用管理工具,而且很快就会降低 GPT-3.5 Turbo 的价格。 OpenAI…

【MAC】Multi-Level Monte Carlo Actor-Critic阅读笔记

基本思想: 利用多层次蒙特卡洛方法(Multi-Level Monte Carlo,MLMC)和Actor-Critic算法,解决平均奖励强化学习中的快速混合问题。 快速混合? 在强化学习中,当我们说一个策略"混合得快"…

3D视觉技术快讯

SparseGS主要解决了3D GS(Gaussian Splatting)与NeRF类似的稀疏视角问题,即当训练输入视角很稀疏时,GS会在训练中过拟合,从而在新视角上的测试结果较差。本论文则是提出使用原有的深度先验以及显式的约束来提升GS在稀疏视角下的表现&#xff…

以太网与PON网络的巅峰对决

在这网络的江湖中,各路江湖豪侠都神色匆忙地往同一个地方赶,豪侠们脸上都充满期待和焦虑,生怕错过了什么。这个地方就是传说中的园区网,因为在那里万众期待已久的以太网与PON网络的巅峰对决“将在今天上演。 一方是以太网大侠&am…

Hive 行列转换

行列转换 列转行 使用 lateral view explode(array|map) 或 lateral view inline(array_struct) 可以将列转换为行。 单列转多行,降维(单列数组或键值对) 示例1:explode(array(…)) select ..., A from T lateral view exp…

Java-List接口常用方法和遍历方法

List的继承结构 其中,红色为接口,蓝色为实现类 List的四大方法 List的基本操作void add(int index,E e)boolean remove(Object o)E remove(int index)E set(int index,E e)E get(int index)其中注意删除方法有两种,执行的时候主要选择实参…

作者推荐 | 【深入浅出MySQL】「底层原理」探秘缓冲池的核心奥秘,揭示终极洞察

探秘缓冲池的核心奥秘,揭示终极洞察 缓存池BufferPool机制MySQL缓冲池缓冲池缓冲池的问题 缓冲池的原理数据预读程序的局部性原则(集中读写原理)时间局部性空间局部性 innodb的数据页查询InnoDB的数据页InnoDB缓冲池缓存数据页InnoDB缓存数据…

可解释性AI

方向一:可解释性AI的定义与重要性 1. 什么是可解释人工智能 可解释人工智能(Explainable Artificial Intelligence, XAI)是指智能体以一种可解释、可理解、人机互动的方式,与人工智能系统的使用者、受影响者、决策者、开发者等&…

牛客网---------[USACO 2016 Jan S]Angry Cows

题目描述 Bessie the cow has designed what she thinks will be the next big hit video game: "Angry Cows". The premise, which she believes is completely original, is that the player shoots cows with a slingshot into a one-dimensional scene consistin…

中仕教育:事业单位考试考什么?

事业单位考试分为两个阶段,分别是笔试和面试,考试科目包括公共科目和专业科目两部分。 公共科目内容是公共基础知识、职业能力测试或申论。一种形式为:公共基础知识职业能力测试或职业能力测试申论。另一种形式为:公共基础申论。…

图像字幕中一些广泛使用的技术

文章目录 R-CNNsRNNsLSTMs and GRUsResNet R-CNNs 在图像识别领域,卷积神经网络(CNN)不仅可以识别出图像中的物体,还能检测出这些物体的边界框。如果我们使用传统的CNN进行对象检测,一种方法是在图像上覆盖一层栅格&a…

理想架构的Doherty功率放大器理论与仿真

Doherty理论—理想架构的Doherty功率放大器理论与仿真 参考: 三路Doherty设计 01 射频基础知识–基础概念 ADS仿真工程文件链接:理想架构的Doherty功率放大器理论与仿真 目录 Doherty理论---理想架构的Doherty功率放大器理论与仿真0、Doherty架构的作用…

试卷扫描转化word的功能有吗?分享4款工具!

试卷扫描转化word的功能有吗?分享4款工具! 随着科技的飞速发展,将试卷扫描并转化为Word文档已经成为我们日常学习和工作的常规需求。但是,市面上的扫描工具众多,如何选择一个既方便又准确的工具呢?本文将为…

JDWP原理分析与漏洞利用

JDWP(Java DEbugger Wire Protocol):即Java调试线协议,是一个为Java调试而设计的通讯交互协议,它定义了调试器和被调试程序之间传递的信息的格式。说白了就是JVM或者类JVM的虚拟机都支持一种协议,通过该协议,Debugger 端可以和 target VM 通信,可以获取目标 VM的包括类…

力扣刷题 第十二 边权重均等查询

现有一棵由 n 个节点组成的无向树,节点按从 0 到 n - 1 编号。给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges ,其中 edges[i] [ui, vi, wi] 表示树中存在一条位于节点 ui 和节点 vi 之间、权重为 wi 的边。 另给你一个长度为 m 的二维整数数…

windows根据pid查看端口号

一.什么是PID 任务管理器中的PID指的是进程标识符(Process Identifier),它用于在操作系统中唯一标识一个进程二.查看JAVA程序的PID jps命令即可三.根据PID查看端口 netstat -ano|findstr pid

QT5.14.2开发的Mysql8.0系统安装部署过程

最近在Windows 11 64位系统下使用QT5.14.2开发了套系统、使用了MYSQL8.0数据库,项目使用mingw-64编译器进行编译,编译完成后使用windeployqt进行发布,并制作安装包,拷贝到工控机Windows10 64位系统上进行安装运行。本文记录下安装…

机器人3D视觉引导半导体塑封上下料

半导体塑封上下料是封装工艺中的重要环节,直接影响到产品的质量和性能。而3D视觉引导技术的引入,使得这一过程更加高效、精准。它不仅提升了生产效率,减少了人工操作的误差,还为半导体封装技术的智能化升级奠定了坚实的基础。 传统…

兄弟HL-2260黑白激光打印机加粉清零方法

兄弟HL-2260是打印机厂商Brother生产的一款黑白激光多功能一体机,兄弟HL-2260打印机是一款高性价比的打印机,广泛应用于办公和家庭的打印设备,它的打印速度快,而且打印效果好。但是,使用久了之后难免会遇到一些问题&am…

Python学习07—字符串类型及操作

一、字符串类型的表示 字符串是由0个或多个字符组成的有序序列。字符串可由一对单引号或一对双引号表示。由于字符串是有序序列,因此,可以对其中的字符进行索引,且在索引时,字符是从0开始编号。 字符串有两类和四种表示方式&…