奇异值分解SVD(singular value decomposition)

news2024/11/24 14:25:26

奇异值分解

SVD是一个很有用的矩阵因子化方法。
SVD提出的目的:任何一个 m × n m\times n m×n的矩阵都可以当作一个超椭圆(高维空间的椭圆),可以把它们当作单位球体S的像。
一个超椭圆可以通过将单位球型在正交方向 u 1 , u 2 , . . . , u m \mathbf{u_1},\mathbf{u_2},...,\mathbf{u_m} u1,u2,...,um通过缩放因子 σ 1 , . . . , σ m \sigma_1,..., \sigma_m σ1,...,σm,其中m是维度,如果在平面上m=2
在这里插入图片描述
通过上面这张图,可以做出下面的定义:

  1. singular value: σ 1 , . . . , σ n ≥ 0 \sigma_1,..., \sigma_n\geq 0 σ1,...,σn0一般假设 σ 1 ≥ σ 2 ≥ . . . \sigma_1 \geq \sigma_2 \geq ... σ1σ2...
  2. Light singular vectors: u 1 , u 2 , . . . , u n \mathbf{u_1},\mathbf{u_2},...,\mathbf{u_n} u1,u2,...,un,单位向量
  3. right singular vectors: v 1 , v 2 , . . . , v n \mathbf{v_1},\mathbf{v_2},...,\mathbf{v_n} v1,v2,...,vn是ui的逆向满足 A v i = σ i u i Av_i = \sigma_i u_i Avi=σiui
    这个名字中左和右来自svd的公式。
    把上面的公式矩阵化,可以得到:
    A V = U ^ Σ ^ AV = \hat U \hat \Sigma AV=U^Σ^
    在这里面
  4. Σ ^ ∈ R n × n \hat{\Sigma}\in\mathbb{R}^{n\times n} Σ^Rn×n是一个非负数对角矩阵
  5. U ^ ∈ R m × n \hat{U}\in\mathbb{R}^{m\times n} U^Rm×n是一个列正交矩阵
  6. V ∈ R n × n V\in\mathbb{R}^{n\times n} VRn×n是一个列正交矩阵
    因此V是个正交矩阵,因为它是基向量,因此我们就可以得到reduced SVD:
    A = U ^ Σ ^ V T A = \hat U \hat \Sigma V^T A=U^Σ^VT
    正如QR分解一样,可以把扩充 U ^ \hat U U^的列使得 U ∈ R m × m U\in\mathbb{R}^{m\times m} URm×m
    然后需要给 Σ ^ \hat{\Sigma} Σ^添加一些为为0的行,使得可以沉默掉新添加到U中的随机列,这样就得到了完全SVD
    A = U Σ V T A = U \Sigma V^T A=UΣVT
    对比reduced和full
    在这里插入图片描述
    现在重新考虑当时把球型变为超椭圆型的目的。
    1 V T V^T VT是球型S
    2 Σ \Sigma Σ拉伸球型得到椭球形
    3 U U U旋转投射而不改变形状

通过SVD可以知道一些矩阵性质

  1. A的秩为r,也就是非零奇异值的个数
    proof:U和V是满秩的,所以rank(A) = rank( Σ \Sigma Σ)
  2. image(A) = span{ u 1 , u 2 , . . . , u r \mathbf{u_1},\mathbf{u_2},...,\mathbf{u_r} u1,u2,...,ur}
    null(A) = span{ v r + 1 , . . . , v n \mathbf{v_{r+1}},...,\mathbf{v_n} vr+1,...,vn}
  3. ∣ ∣ A ∣ ∣ 2 = σ 1 ||A||_2=\sigma_1 ∣∣A2=σ1
    proof: ∣ ∣ A ∣ ∣ 2 ≡ m a x ∣ ∣ V ∣ ∣ 2 = 1 ||A||_2 \equiv max_{||V||_2=1} ∣∣A2max∣∣V2=1||Av||_2
  4. A的奇异值是AAT的特征值的平方根。
    根据上面的性质:可以知道SVD的两种应用

长方形矩阵的条件数

K ( A ) = ∣ ∣ A ∣ ∣ ∣ ∣ A + ∣ ∣ K(A)=||A||||A^+|| K(A)=∣∣A∣∣∣∣A+∣∣
其中 A + A^+ A+是伪逆

  • ∣ ∣ A ∣ ∣ 2 = σ m a x ||A||_2 = \sigma_{max} ∣∣A2=σmax
  • ∣ ∣ A + ∣ ∣ 2 = 1 σ m i n ||A^+||_2 = \frac{1}{\sigma_{min}} ∣∣A+2=σmin1
    所以 K ( A ) = σ m a x σ m i n K(A)=\frac{\sigma_{max}}{\sigma_{min}} K(A)=σminσmax

低秩近似

把SVD变为
A = ∑ j = 1 r σ j u j v j T A = \sum^r_{j=1}\sigma_j u_j v_j^T A=j=1rσjujvjT
每个 u j v j T u_j v_j^T ujvjT都是一个秩为1的矩阵
Theorem:
对于 0 ≤ v ≤ r 0\leq v \leq r 0vr,让 A v = ∑ j = 1 v σ j u j v j T Av = \sum^v_{j=1}\sigma_ju_jv_j^T Av=j=1vσjujvjT
所以
∣ ∣ A − A v ∣ ∣ 2 = inf ⁡ B ∈ R m × n , r a n k ( B ) ≤ v ∣ ∣ A − B ∣ ∣ 2 ||A-Av||_2 = \inf_{B\in \mathbb{R}^{m\times n}, rank(B)\leq v}{||A-B||_2} ∣∣AAv2=BRm×n,rank(B)vinf∣∣AB2
同样的也可以在Frobenius norm中证明,这个理论说明SVD是压缩矩阵的一个好的方法。

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

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

相关文章

Prometheus的详细部署

普罗米修斯下载网址: Download | Prometheus 准备两台机器: 192.168.58.152 prometheus 192.168.58.142 node_exporter 关闭防火墙和selinux: [rootlocalhost ~]# setenforce 0 && systemctl stop firewalld[rootlocalhost ~]# seten…

[机缘参悟-120] :计算机世界与佛家看世界惊人的相似

目录 前言: 一、计算机 - 有序性不过是人为设计出来的!!! 1.1 破相1:计算机的物质基础不过是一堆电子元器件的机缘组合 1.2 破相2:计算机不过是各种电信号的有序运动(有序是关键&#xff09…

【c++|SDL】二、读取图片、显示图片、动画制作

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 读取图片,显示图片,动画 SDL中有两种在屏幕上显示的方法 SDL_Surface: 使用软件渲染处理SDL_Texture: 使用硬件加速渲染处理 1.…

C++二分查找、离线算法:最近的房间

作者推荐 利用广度优先或模拟解决米诺骨牌 本文涉及的基础知识点 二分查找算法合集 题目 一个酒店里有 n 个房间,这些房间用二维整数数组 rooms 表示,其中 rooms[i] [roomIdi, sizei] 表示有一个房间号为 roomIdi 的房间且它的面积为 sizei 。每一…

基于SSM的云鑫曦科技办公自动化管理系统设计与实现

基于SSM的云鑫曦科技办公自动化管理系统设计与实现 摘 要: 随着时代的发展,单位办公方式逐渐从传统的线下纸张办公转向了使用个人pc的线上办公,办公效率低下的传统纸质化办公时代的淘汰,转型到信息化办公时代,面对当今数据逐渐膨…

上海亚商投顾:沪指震荡反弹 汽车产业链掀涨停潮

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 三大指数昨日震荡反弹,北证50指数跌超4%,近50只北交所个股跌超10%。 新能源车产业链掀…

探索短剧市场的商机:打造短视频平台的全方位指南

目前短剧市场蓬勃发展,上半年备案数远超电视剧,彰显了短剧小程序市场潜力巨大,商业价值巨大。用户对短小精悍娱乐内容的需求不断增加,而新兴市场中有限的短剧小程序正好能够迎合这一需求。 搭建短视频平台的关键步骤: …

Postgres 数据库中 ULID 和 UUID 的性能

大家好!在本文中,我想分享我对经常用作标识符的数据类型的知识和看法。今天我们将同时讨论两个主题。这些是数据库端按键和键的数据类型衡量的搜索速度。 我将使用PostgreSQL数据库和演示Java服务来比较查询速度。 UUID 和 ULID 为什么我们需要某种难…

MyBatis使用教程详解<下>

回顾上一篇博文,我们讲了如何使用注解/XML的方式来操作数据库,实际上,一个Mapper接口的实现,这两种方式是可以并存的. 上一篇博文中,我们演示的都是比较简单的SQL语句,没有设计到复杂的逻辑,本篇博文会讲解复杂SQL的实现及一些细节处理.话不多说,让我们开始吧. 一. #{}和${} …

基于LNMP快速搭建WordPress平台

目录 1 LNMP简介 2 WordPress简介 3 安装MySQL环境 3.1 安装MySQL 3.1.1 下载wget工具 3.1.2 下载MySQL官方yum源安装包 3.1.3 安装MySQL官方yum源 3.1.4 mysql安装 3.2 启动MySQL 3.3 获取默认密码 3.4 登录MySQL ​ 3.5 修改密码 3.6 创建WordPress数据库并授权 3.6.1 创…

5 时间序列预测入门:LSTM+Transformer

0 引言 论文地址:https://arxiv.org/abs/1706.03762 1 Transformer Transformer 模型是一种用于处理序列数据的深度学习模型,主要用于解决自然语言处理(NLP)任务。它在许多 NLP 任务中取得了重大突破,如机器翻译、文本…

微服务实战系列之Cache

前言 欢迎来到Cache(缓存)的世界! 自从世界第一台计算机诞生之日起,人们对效率的渴望逐步增强。从CPU到存储,从芯片到内存,一批又一批的先驱以一种孜孜不倦的“工匠”精神,为计算机运行效率的提…

【数据结构 —— 二叉树的链式结构实现】

数据结构 —— 二叉树的链式结构实现 1.树的概念及其结构1.1.树概念1.2.树的结构1.3树的相关概念1.4.树的表示1.5. 树在实际中的运用(表示文件系统的目录树结构) 2.二叉树的概念及其结构2.1二叉树的概念2.2.现实中的二叉树:2.3. 特殊的二叉树…

Flutter开发type ‘Future<int>‘ is not a subtype of type ‘int‘ in type cast错误

文章目录 问题描述错误源码 问题分析解决方法修改后的代码 问题描述 今天有个同事调试flutter程序时报错,问我怎么解决,程序运行时报如下错误: type ‘Future’ is not a subtype of type ‘int’ in type cast 错误源码 int order Databas…

FFmpeg介绍

官方网站:http://www.ffmpeg.org/ 项目组成 libavformat 封装模块,封装了Protocol层和Demuxer、Muxer层,使得协议和格式对于开发者来说是透明的。FFmpeg能否支持一种封装格式的视频的封装与解封装,完全取决于这个库&#xff0c…

《微信小程序开发从入门到实战》学习三十五

4.2 云开发JSON数据库 4.2.3 权限控制 在云开发控制台可以对数据库中的数据进行操作, 在小程序端和云函数可以分别使用小程序API和服务端API对数据中的数据进行操作。 以上操作受到权限控制。 对数据库进行查询属于读操作,增删改操作属于写操作。 …

Python自动化办公:PDF文件的加密与解密

在本篇文章中,我们将介绍如何使用PyPDF2库对PDF文件进行加密和解密操作。 包括如何给PDF文件添加密码,以及如何从受密码保护的PDF文件中删除密码。 注:删除密码的操作,前提是需要知道密码哦 1. 安装PyPDF2库 首先,…

【小黑嵌入式系统第十课】μC/OS-III概况——实时操作系统的特点、基本概念(内核任务中断)、与硬件的关系实现

文章目录 一、为什么要学习μC/OS-III二、嵌入式操作系统的发展历史三、实时操作系统的特点四、基本概念1. 前后台系统2. 操作系统3. 实时操作系统(RTOS)4. 内核5. 任务6. 任务优先级7. 任务切换8. 调度9. 非抢占式(合作式)内核10…

el-table,列表合并,根据名称列名称相同的品名将其它列值相同的进行合并

el-table,列表合并,根据名称列名称相同的品名讲其它列值相同的进行合并,并且不能垮品名合并 如图 用到el-table合并行的方法合并 tableSpanMethod({ row, column, rowIndex, columnIndex }) {if (column.property "materielName") {//合并商品名const _row this…

CI/CD 构建中能保护好 SSHKEY吗?

目录 背景 方案 编码存储 逐行存储 合并存储 打马赛克 结论 背景 使用极狐GitLab CI/CD,在部署方面,主要有两种方式: 部署到K8S集群 Push模式:流水线通过kubectl执行命令部署,这需要把K8S的权限给流水线&#xf…