线性代数学习笔记10-3:奇异值分解SVD(从四个子空间角度理解)

news2025/1/17 16:34:28

从四个子空间角度理解SVD

A = U m × m Σ m × n V n × n T A =U_{m \times m}\Sigma_{m \times n}V_{n \times n}^T A=Um×mΣm×nVn×nT
在这里插入图片描述
A \mathbf {A} A视为线性变换,并将整个 R n \mathbf R^n Rn空间拆分为两部分,即 A \mathbf {A} A行空间(维数 r r r)和零空间(维数 n − r n-r nr,行空间的正交补):

  1. A \mathbf {A} A行空间中,存在第一部分标准正交基 v i ( i = 1 , 2 , . . . , r ) \mathbf{v}_{i}(i=1,2,...,r) vi(i=1,2,...,r)
    A \mathbf A A对应的线性变换将行空间中的 v i \mathbf{v}_{i} vi映射为 A \mathbf A A列空间中的一个非零向量 σ i u i = A v i \sigma_i\mathbf u_i=\mathbf A\mathbf{v}_{i} σiui=Avi(视为对 A \mathbf A A的列向量的线性组合);
    A [ v 1 v 2 ⋯ v r ] = [ σ 1 u 1 σ 2 u 2 ⋯ σ r u r ] = [ u 1 u 2 ⋯ u r ] [ σ 1 σ 2 ⋱ σ r ] \begin{aligned}\boldsymbol{A}\left[\begin{array}{llll}\mathbf{v}_{1} & \mathbf{v}_{2} & \cdots & \mathbf{v}_{r}\end{array}\right] &=\left[\begin{array}{lllll} \sigma_{1} \mathbf{u}_{1} & \sigma_{2} \mathbf{u}_{2} & \cdots & \sigma_{r} \mathbf{u}_{r} \end{array}\right] \\ &=\left[\begin{array}{lllll} \mathbf{u}_{1} & \mathbf{u}_{2} & \cdots & \mathbf{u}_{r} \end{array}\right]\left[\begin{array}{llll} \sigma_{1} & & & \\ & \sigma_{2} & & \\ & & \ddots & \\ & & & \sigma_{r} \end{array}\right] \end{aligned} A[v1v2vr]=[σ1u1σ2u2σrur]=[u1u2ur]σ1σ2σr
    此即 U m × n V ^ n × r = U ^ m × r Σ ^ r × r \mathbf U_{m\times n}\hat{\mathbf V}_{n\times r}=\hat{\mathbf U}_{m\times r}\hat{\mathbf \Sigma}_{r\times r} Um×nV^n×r=U^m×rΣ^r×r,对应下图中的红色部分

注意, A \mathbf A A行空间中的向量 x \mathbf x x列空间中的向量 A x \mathbf A\mathbf x Ax映射,为一一映射
也就是说对于行空间中的向量 x ≠ y \mathbf x\neq\mathbf y x=y,则必有列空间中的向量 A x ≠ A y \mathbf A\mathbf x\neq\mathbf A\mathbf y Ax=Ay
证明:
反证法:对于行空间的向量 x ≠ y \mathbf x\neq\mathbf y x=y,假设有 A x = A y \mathbf A\mathbf x=\mathbf A\mathbf y Ax=Ay
A ( x − y ) = 0 \mathbf A(\mathbf x-\mathbf y)=\mathbf 0 A(xy)=0,这就是说,向量 ( x − y ) (\mathbf x-\mathbf y) (xy)在零空间中;
另一方面,向量 ( x − y ) (\mathbf x-\mathbf y) (xy)一定在行空间中(两个行空间中的向量的线性组合)
向量 ( x − y ) (\mathbf x-\mathbf y) (xy)不可能既在行空间中,又在零空间中,因此假设不成立

在这里插入图片描述
2. A \mathbf A A零空间中,有第二部分标准正交基 v i ( i = r + 1 , r + 2 , . . . , n ) \mathbf v_i(i=r+1,r+2,...,n) vi(i=r+1,r+2,...,n)
A \mathbf A A对应的线性变换将 v i \mathbf v_i vi映射为零向量,满足 A v i = 0 \mathbf {A}\mathbf v_i=0 Avi=0
体现在 Σ m × n \boldsymbol{\Sigma}_{m\times n} Σm×n中,就是其右下角的0元素,对应上图蓝色部分

结论

我们在 A \boldsymbol{A} A四个子空间中,寻找了两组合适的基:

  • 第一组标准正交基由两部分构成:
    v i ( i = 1 , 2 , . . . , r ) \mathbf{v}_{i}(i=1,2,...,r) vi(i=1,2,...,r)为行空间中的标准正交基
    v i ( i = r + 1 , r + 2 , . . . , n ) \mathbf{v}_{i}(i=r+1,r+2,...,n) vi(i=r+1,r+2,...,n)为零空间中的标准正交基
  • 第二组标准正交基由两部分构成:
    u i ( i = 1 , 2 , . . . , r ) \mathbf{u}_{i}(i=1,2,...,r) ui(i=1,2,...,r)为列空间中的标准正交基
    u i ( i = r + 1 , r + 2 , . . . , m ) \mathbf{u}_{i}(i=r+1,r+2,...,m) ui(i=r+1,r+2,...,m)为左零空间中的标准正交基

理论的统一

前面笔记10-1说过,SVD( A = U Σ V T \boldsymbol{A} =\boldsymbol{U} \boldsymbol{\Sigma} \boldsymbol{V}^{T} A=UΣVT)中, Σ \boldsymbol{\Sigma} Σ奇异值 σ ≥ 0 \sigma\geq 0 σ0
并且,若 A \boldsymbol{A} A为可逆矩阵 r = n r=n r=n,则 A T A \boldsymbol{A}^{T} \boldsymbol{A} ATA A A T \boldsymbol{A}\boldsymbol{A}^{T} AAT为正定矩阵,其特征值全为正,对应 A \boldsymbol{A} A奇异值全为正;
A \boldsymbol{A} A为不可逆矩阵 r < n r<n r<n,则 A T A \boldsymbol{A}^{T} \boldsymbol{A} ATA A A T \boldsymbol{A}\boldsymbol{A}^{T} AAT为半正定矩阵,其特征值正数和0,对应 A \boldsymbol{A} A奇异值为正数和0

因此有:
A \boldsymbol{A} A不可逆( r < n r<n r<n    ⟺    \iff
Σ \boldsymbol{\Sigma} Σ对角元为正数和0(存在奇异值为0    ⟺    \iff
A \boldsymbol{A} A存在零空间(维度 n − r > 0 n-r>0 nr>0),零空间中的一部分向量 v i \mathbf v_i vi被线性变换 A \boldsymbol{A} A映射为零向量( A v i = 0 \boldsymbol{A}\mathbf v_i=0 Avi=0

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

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

相关文章

cisco asa学习笔记

cisco asa学习笔记一、网络模拟实验中的问题调试记录1、ASA自身接口地址ping不通(从远端路由过来的主机)2、同安全级别的接口默认不能通信&#xff0c;怎么才能通信&#xff1f;3、一个asa连接3个路由器&#xff0c;互联互通解决方案<1>方案1 全局开启policy-map inspect…

C++习题2

指针调用数组元素 指针调用数组元素 int a[3][4] {{1,4,7,10},{2,5,8,11},{3,6,9,12}};int* pa[3] { a[0],a[1],a[2] };int(*pb)[4]; pb a;int** q pa;cout << *(a[2] 3)<<endl;cout << *(*(pa 2) 3)<<endl;cout << pb[2][3]<<en…

springboot + dubbo 整合Sentinel限流

一、前言 限流对一个生产环境的系统来说&#xff0c;具有重要的意义&#xff0c;限流的目的是为了保护系统中的某些核心业务资源不被瞬间的大并发流量冲垮而采取的一种措施&#xff0c;因此一个成熟的架构设计方案&#xff0c;限流也需要纳入到架构设计和规划中。 二、常用的限…

【linux】进程控制详述

进程控制一、进程创建1.1 fork 的补充1.2 写时拷贝1.3 fork 的使用场景二、进程终止2.1 退出码2.2 退出情况2.3 退出方式三、进程等待3.1 进程等待的原因3.2 进程等待的方法3.2.1 status 位图结构3.2.2 阻塞等待和非阻塞等待四、进程程序替换4.1 程序替换的原理4.2 程序替换函数…

[Spring]第五篇:AOP面向切面编程概念

AOP切面编程一般可以帮助我们在不修改现有代码的情况下,对程序的功能进行拓展,往往用于实现 日志处理,权限控制,性能检测,事务控制等 AOP实现的原理就是动态代理,在有接口的情况下,使用JDK动态代理,在没有接口的情况下使用cglib动态代理 为Dao层所有的add方法添加一个性能记录功…

jupyter中配置多种虚拟环境

Microsoft Windows [版本 10.0.19044.2251] © Microsoft Corporation。保留所有权利。 C:\Users\ThinkStation>conda activate pytorch(pytorch) C:\Users\ThinkStation>conda install ipykernelCollecting package metadata (current_repodata.json): done Solvin…

CAS:956748-40-6|Biotin-PEG-Azide|Biotin-PEG-N3|生物素PEG叠氮供应

由抗生物素或链霉亲和素结合PEG衍生物化学试剂Biotin-PEG-Azide&#xff08;Biotin-PEG-N3&#xff09;&#xff0c;其中文名为生物素-聚乙二醇-叠氮&#xff0c;它所属分类为Azide PEG Biotin PEG。CAS编号为956748-40-6。 该PEG试剂的分子量均可定制&#xff0c;有&#xff…

POSIX线程(一)

目录 一、前言 二、What Is a Thread? 三、Advantages and Drawbacks of Threads 四、A First Threads Program 1、A Simple Threaded Program&#xff08;thread1.c&#xff09; 五、Simultaneous Execution 1、Simultaneous Execution of Two Threads&#xff08;thre…

Caffeine 源码、架构、原理(史上最全,10W超级字长文)

文章很长&#xff0c;而且持续更新&#xff0c;建议收藏起来&#xff0c;慢慢读&#xff01;疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 &#xff1a; 免费赠送 :《尼恩Java面试宝典》 持续更新 史上最全 面试必备 2000页 面试必备 大厂必备 涨薪必备 免费赠送 经典…

IbBBX24–IbTOE3–IbPRX17模块通过清除甘薯中的活性氧来增强甘薯对非生物胁迫耐受性

文章信息 题目&#xff1a;The IbBBX24–IbTOE3–IbPRX17 module enhances abiotic stress tolerance by scavenging reactive oxygen species in sweet potato 刊名&#xff1a;New Phytologist 作者&#xff1a;Huan Zhang&#xff0c;Shaozhen He et al. 单位&#xff1…

终于有阿里p8进行了大汇总(Redis+JVM+MySQL+Spring)还有面试题解全在这里了!

Redis特性 Redis是一直基于键值对的NoSQL数据库&#xff1b; Redis支持5种主要数据结构&#xff1a;string、hash、list、set、zset以及bitmaps、hyperLoglog、GEO等特化的数据结构&#xff1b; Redis是内存数据库&#xff0c;因此它有足够好的读写性能&#xff1b; Redis支持…

[附源码]Python计算机毕业设计SSM临港新片区招商引资项目管理系统的设计与实现(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

jmeter性能测试使用梯度测试的方法

JMeterPlugins-Standard.jar下载地址&#xff1a;Download :: JMeter-Plugins.org 项目验收&#xff0c;用jmeter做并发测试&#xff0c;测试单位不通过&#xff0c;我们可以 仔细一问测试单位&#xff0c;嘿&#xff0c;jmeter写个并发数做测试不算并发测试&#xff0c;要做…

Vue3 —— 利用vite创建一个vue3项目

前言 本文主要讲解如何利用vitevue创建第一个项目以及vue3的基础知识点 一、创建一个vue3项目 这里我们主要介绍如何利用 vitevue3创建项目 1.有关vite Vite&#xff08;法语意为 "快速的"&#xff0c;发音 /vit/&#xff0c;发音同 "veet"&#xff09;是…

Editor扩展常用API

如图 效果图 代码&#xff1a; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class Mybianyi : EditorWindow { string PasswordField ""; string m_textArea ""; float …

力扣hot100——第1天:1两数之和、2两数相加、3无重复字符的最长子串

文章目录1.1两数之和【代码随想录已刷】2.2两数相加2.1.题目2.2.解答3.3无重复字符的最长子串3.1.题目3.2.解答1.1两数之和【代码随想录已刷】 参考&#xff1a;力扣题目链接&#xff1b;自己的博客题解 2.2两数相加 参考&#xff1a;力扣题目链接&#xff1b;参考题解 2.1…

【附源码】计算机毕业设计JAVA众筹平台网站

【附源码】计算机毕业设计JAVA众筹平台网站 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JAVA mybati…

什么是 游戏引擎 ?各个主流引擎的区别

在之前的元宇宙中有提及到游戏主播这个行业&#xff0c;那对应的就会有游戏开发者&#xff0c;对于开发最快捷的方式当然是使用游戏引擎进行开发了呀&#xff0c;那接下来我们就来说说这方面的内容吧 &#xff01; 本篇文章主要讲解&#xff0c;游戏开发中常用的5个游戏引擎及其…

C++——二叉搜索树

目录 二叉搜索树 二叉搜索树实现 非递归插入|非递归查找 删除 推导阶段 非递归删除代码 递归查找 递归插入 递归删除 析构函数 拷贝构造 赋值重载 完整代码 二叉搜索树的应用 Key/Value模型 二叉搜索树 二叉搜索树又称二叉排序树&#xff0c;它或者是一…

第3部分 静态路由

目录 3.1 静态路由与默认路由 3.1.1 静态路由介绍 3.1.2 默认路由介绍 3.2 静态路由命令汇总 转发数据包是路由器的最主要功能。路由器转发数据包时需要查找路由表&#xff0c;管理员可以通过手工的方法在路由器中直接配置路由表&#xff0c;这就是静态路由。虽然静态路由不…