超详细解释奇异值分解(SVD)【附例题和分析】

目录

一. 矩阵对角化

二. 奇异值分解

三. 对比奇异值分解与特征值分解

四. SVD分解与四大基础子空间

五. SVD分解的正交矩阵

六. 方阵与SVD分解

七. 单位特征向量与SVD分解

八. 例题分析:秩为1

九. 例题分析:秩为2

十. 计算机网络与矩阵的秩


一. 矩阵对角化

线性代数中,常出现把矩阵进行对角化的过程,然后将其应用于简化计算,解方程等等。但是,只有对称矩阵才可以对角化。另外,方阵才有特征值和特征向量的说法。

给定m行n列的矩阵A,如下方程:

Ax=b

该方程可能有一个解,可能有无数个解,也可能会出现无解的情况。

但我们知道A^TAAA^T都是方阵,且都是半正定矩阵,所以可以对角化而且特征值都大于等于0。于是,以上方程有解:

A^TAx=A^Tb

二. 奇异值分解

奇异值分解,singular value decomposition,通常简写为SVD分解。

备注:建议看这部分知识的小伙伴可以先看矩阵的LU分解,QR分解。

已知正定矩阵(positive definite matrix),如果我们想分析它的特征值和特征向量,可将其分解为如下:

Q\Lambda Q^T

其中\Lambda为对角矩阵,即为原始矩阵的特征值。Q为特征向量形成矩阵,如果原始矩阵为对称矩阵,矩阵Q可为标准正交矩阵,满足如下:

QQ^T=I

但,当矩阵非方阵(rectangular matrix),以上分解是行不通的,因为该矩阵没有特征值这一概念的。

由此,便出现了对矩阵进行SVD分解,通式如下:

A=U\Sigma V^T

其中\Sigma为对角阵(非方阵),将其对角线处非零的元素记为\sigma_1,\cdots,\sigma_r,此对角矩阵有两种理解方式:

  1. A^TA的特征值;
  2. A的奇异值(singular value)

主对角线处的元素个数与原始矩阵A的秩有关。

备注:此处的矩阵A可以是任意矩阵,但A^TAAA^T都一定为方阵。所以经常会利用这两个方阵来理解奇异值和特征值的区别。

对任意m行n列的矩阵A,奇异值分解的综合理解如下:

正交矩阵U:m行m列,该矩阵的每一个列向量都是AA^T的特征向量;

正交矩阵V:n行n列,该矩阵的每一个列向量都是A^TA的特征向量;

对角阵\Sigma:m行n列,将A^TAAA^T的特征值开根号,得到的就是该矩阵主对角线上的元素,也可以看成矩阵A的奇异值。

三. 对比奇异值分解与特征值分解

对于正定矩阵来讲,以上讨论的\Sigma\Lambda是一样的,U\Sigma V^TQ\Lambda Q^T是一样的。

对于非正定矩阵(要求是对称矩阵),此时\Lambda会出现负数,但\Sigma依旧为正数。

推广到复数矩阵,对于SVD分解A=U\Sigma V^H,此时的U和V即为酉矩阵(unitary),满足如下:

U^HU=I,\quad V^HV=I

其中,U^HV^H代表共轭转置。

\Sigma中的元素依旧为实数。

四. SVD分解与四大基础子空间

对于任意矩阵有四个非常重要的子空间:列空间(column space),行空间(row space),左零空间(left nullspace),零空间(nullspace)。

假定某m行n列矩阵A的秩为r,将矩阵U和V的列向量可以作为不同空间的标准正交基,如下:

  • 矩阵U的前r个列向量可以作为A列空间的标准正交基;
  • 矩阵U的后m-r个列向量可以作为A左零空间的标准正交基;
  • 矩阵V的前r个列向量可以作为A行空间的标准正交基;
  • 矩阵U的后n-r个列向量可以作为A零空间的标准正交基;

如下:

五. SVD分解的正交矩阵

已知A=U\Sigma V^T,两边同时乘以正交矩阵V,可得:

AV=U\Sigma

这个结果有一个很有意思的理解角度:从矩阵V中随机抽取一个列向量v_j,对应位置抽取对角阵的元素\sigma_j,以及矩阵U的列向量U_j,可得:

Av_j=u_j\sigma_j

六. 方阵与SVD分解

对方阵AA^T做SVD分解,如下:

AA^T=U\Sigma V^T(U\Sigma V^T)^T=U\Sigma\Sigma^TU^T

此时U即为AA^T的特征向量形成的矩阵,\Sigma\Sigma^TAA^T的特征值。

同理,对A^TA运算如下:

A^TA=(U\Sigma V^T)^TU\Sigma V^T=V\Sigma^T\Sigma V^T

此时V即为A^TA的特征向量形成的矩阵,\Sigma^T\SigmaA^TA的特征值。令r代表矩阵A的秩:

\Sigma\Sigma^T为m行m列的矩阵,主对角线的元素为\sigma_1^2,\cdots,\sigma_r^2

\Sigma^T\Sigma为n行n列的矩阵,主对角线的元素为\sigma_1^2,\cdots,\sigma_r^2

可以观察到\Sigma^T\Sigma\Sigma\Sigma^T都为方阵,维度是不一样的,但是它们两个主对角线元素是一模一样的。

七. 单位特征向量与SVD分解

根据“六”中的讨论,A^TA的特征值为\sigma_1^2,\cdots,\sigma_r^2,特征向量为v_j,由此可得:

A^TA v_j=\sigma_j^2 v_j

两边同时乘以矩阵A可得:

AA^TA v_j=\sigma_j^2 Av_j

AA^T看成一个矩阵,A v_j看成特征向量,\sigma_j^2看成特征值。也就是说,A v_j是矩阵AA^T的特征向量。易得:

||Av_j||^2=\sigma_j^2

所以可得向量A v_j的长度为\sigma_j,那么可得单位向量为:

\frac{A v_j}{\sigma_j}

综合可得:

\frac{A v_j}{\sigma_j}=u_j

以上过程的本质就是AV=U\Sigma

八. 例题分析:秩为1

对以下矩阵A进行SVD分解,并分析相关性质:

A=\begin{bmatrix} -1\\ 2\\ 2 \end{bmatrix}

解:

该矩阵仅有一列,所以秩r=1,这也就意味着该矩阵进行SVD分解,中间的对角阵\Sigma仅有一个非零元素,如下:

对角阵\Sigma主对角线仅有一个元素\sigma_1=3

易得A^TA为1行1列的矩阵,AA^T为3行3列的矩阵,这两个矩阵都拥有特征值9,开根号后刚好为3,与以上讨论一致。

九. 例题分析:秩为2

对以下矩阵A进行SVD分解,并分析相关性质:

A=\begin{bmatrix} -1 & 1 &0 \\ 0&-1 & 1 \end{bmatrix}

解:

显然,矩阵A的秩为2,易运算AA^T如下:

AA^T=\begin{bmatrix} 2 & -1\\ -1 & 2 \end{bmatrix}

可以分析出该方阵的特征值为3和1.

对原始矩阵A进行SVD分解如下:

可以发现该矩阵的奇异值为\sqrt 3\sqrt 1

矩阵U的每一列可以看成A的左奇异向量,也可以看成AA^T的单位特征向量;

矩阵V的每一列可以看成A的右奇异向量,也可以看成A^TA的单位特征向量;

十. 计算机网络与矩阵的秩

我们都知道矩阵的秩代表的是线性独立的行向量或列向量的个数。但在实际的计算中这个量不是很好分析。

在物理层安全,或无线通信中,会存在噪声,这些噪声通常很小,进而延伸出矩阵有效的秩概念。

假定\epsilon是一个很小很小的数,可以将其看成所谓的误差(roundoff error)

(1)

\begin{bmatrix} \epsilon &2\epsilon \\ 1 & 2 \end{bmatrix}

很明显这个矩阵的秩为1

(2)

\begin{bmatrix} \epsilon &1 \\ 0& 0 \end{bmatrix}

这个矩阵的秩也很好分析,为1

接下来我们来看第三个有趣的例子:

\begin{bmatrix} \epsilon &1 \\ \epsilon &1+\epsilon \end{bmatrix}

乍一看这个矩阵的秩为2,但实际情况真的如此吗?

我们知道A^TAAA^T均为对称的方阵,并且这两个矩阵的秩与A相同

对这两个矩阵而言,特征值开根号即为奇异值,根据这个角度不难分析刚才的矩阵A有效的秩为1(不要忘记\epsilon为一个很小的数)。

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

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

相关文章

从董宇辉小作文风波,我们普通人能学到些什么?

哈喽,大家好啊,我是雷工! 最近董宇辉小作文风波动静太大了,哪哪都是。 打开公号上都在写董宇辉,打开某音,都在说董宇辉。 这种事其实本来就是立场不同,各个角度来说都有道理的事。 神仙打架&am…

利用深度学习图像识别技术实现教室人数识别

引言 在现代教育环境中,高效管理和监控教室成为了一个重要议题。随着人工智能技术的迅猛发展,特别是深度学习和图像识别领域的突破,我们现在可以通过智能系统来自动识别教室内的人数,从而实现更加智能化的教室管理。 深度学习与图…

手把手教你开发盲盒小程序

在这个数字时代,微信小程序已经成为了各大品牌和个人的主要营销渠道。而盲盒小程序,作为小程序领域中的一种独特类型,更是具有巨大的市场潜力。那么,如何创建和运营一个成功的微信盲盒小程序呢?以下是一份保姆级的教程…

SpringBoot之多环境开发配置

1 多环境开发配置 问题导入 在实际开发中,项目的开发环境、测试环境、生产环境的配置信息是否会一致?如何快速切换? 1.1 多环境启动配置 yaml文件多环境启动 不同环境使用—隔开 示例代码: spring:profiles:active: dev#生产…

Intellij IDEA 快速开发参考

快捷键 核心快捷键 IntelliJ IDEA 作为一个以快捷键为中心的 IDE,为大多数操作建议了键盘快捷键。在这个主题中,您可以找到最不可缺少的列表,使 IntelliJ IDEA 轻松实现第一步。 核心快捷键表: 操作快捷键根据名称查找操作CtrlSh…

阶段十-分布式-Redis02

第一章 Redis 事务 1.1 节 数据库事务复习 数据库事务的四大特性 A:Atomic ,原子性,将所以SQL作为原子工作单元执行,要么全部执行,要么全部不执行;C:Consistent,一致性&#xff0…

Django 分页(表单)

目录 一、手动分页二、分页器分页 一、手动分页 1、概念 页码:很容易理解,就是一本书的页码每页数量:就是一本书中某一页中的内容(数据量,比如第二页有15行内容),这 15 就是该页的数据量 每一…

【信号处理:小波包转换(WPT)/小波包分解(WPD) 】

【信号处理:小波包转换(WPT)/小波包分解(WPD) 】 小波包变换简介WPT/WPD的基础知识WPT/WPD的主要特点The Wavelet Packet Transform 小波包变换前向小波数据包变换最佳基础和成本函数数学中波纹的最佳基础其他成本函数…

【教学类-43-14】 20240103 (4宫格数独:正确版:576套) 不重复的基础模板数量:576套

作品展示::——4宫格 576套不重复模板(48页*12套题) 背景需求: 生成4宫格基础模板768套,观看64页内容时,明显看到有错误 【教学类-43-13】 20240103 (4宫格数独:错误版…

kbdnso.dll文件缺失,软件或游戏报错的快速修复方法

很多小伙伴遇到电脑报错,提示“kbdnso.dll文件缺失,程序无法启动执行”时,不知道应该怎样处理,还以为是程序出现了问题,想卸载重装。 首先,先要了解“kbdnso.dll文件”是什么? kbdnso.dll是Win…

高压功率放大器的作用或应用领域是什么

高压功率放大器是一种能够将低电压信号放大到高电压水平的设备。它在各个领域中扮演着重要的角色,并具有广泛的应用。本文将介绍高压功率放大器的作用和应用领域。 高压功率放大器可以在音频设备中发挥重要作用。音频设备中需要将低音频信号放大到足够的水平&#x…

控制台日志存入数据库后结果乱码

控制台输出 数据库返回 结论 控制台的输出在存储到数据库之后出现了ANSI颜色代码。这些颜色代码通常是由控制台日志库添加的,用于在支持ANSI颜色代码的终端中显示彩色文本。例如: [95m6 [0m | [95m0.6376 [0m | [95m0.0 [0m | [95m289.2 [0m | 在上面的…

MySQL主从复制案例实现

使用Sharding-JDBC实现读写分离&#xff1a; 1、导入maven坐标 2、 在配置文件中配置读写分离规则 3、在配置文件中配置允许bean定义覆盖配置项 1、导入maven坐标 <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jd…

Java安装详细教程

文章目录 一、JDK 下载 和 安装1.1 选择 Java版本1.2 下载 JDK 二、 配置环境变量2.1 配置环境变量的原因2.2 配置环境变量2.3 验证配置是否成功 参考资料 一、JDK 下载 和 安装 1.1 选择 Java版本 访问 Oracle 官方网站的 Java 下载页面Java Archive | Oracle。 在 “Java …

机器学习常用算法模型总结

文章目录 1.基础篇&#xff1a;了解机器学习1.1 什么是机器学习1.2 机器学习的场景1.2.1 模式识别1.2.2 数据挖掘1.2.3 统计学习1.2.4 自然语言处理1.2.5 计算机视觉1.2.6 语音识别 1.3 机器学习与深度学习1.4 机器学习和人工智能1.5 机器学习的数学基础特征值和特征向量的定义…

软件测试作业‖pytest+po+csv+html报告+cookie+selenium

软件测试作业‖pytestpocsvhtml报告cookieselenium 先用本地部署的系统试了下 或者UFT自动化测试里诺图书管理系统软件测试 # &#xff0c;#测试报告# #性能测试#&#xff0c;#测试用例#&#xff0c; #自动化测试# Selenium 的 Web自动化测试基本要求和注意事项 1.请使用ch…

中国计算机学会推荐国际学术会议及时间(计算机体系结构/高性能计算/存储系统)

中国计算机学会推荐国际学术会议及时间 (计算机体系结构/高性能计算/存储系统) 参考资料 参考链接: call4papers

基于java+Springboot操作系统教学交流平台详细设计实现

基于javaSpringboot操作系统教学交流平台详细设计实现 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录 基于javaSpringboot操作系统教学交流平台详细设计实现功能设计和技术&#xff1a;主要功能截图&#xff1a;主要代码类实现&#xff1a;设计项目总结&#xff1a;基于…

Lingo 17安装包下载及安装教程

Lingo 17下载链接&#xff1a;https://docs.qq.com/doc/DUndEVXd4WVVweGFR 1.鼠标右键解压到“Lingo 17.0” 2.双击打开【Setup】文件夹 3.选中Lingo 17.0&#xff0c;鼠标右键选择“以管理员身份运行” 4.点击“Next” 5.选中I accept the terms in the license agreement&…

Vue.js 3.4版本发布:解析速度提升2倍,双向绑定革新等新功能

引言 随着2024年的来临,Vue团队的领军人物Evan You宣布了Vue.js 3.4的发布。这个版本不仅仅是修复了一些bug,还带来了一些非常实用的新功能和性能提升。 解析速度提升2倍 这次更新中,Vue.js 3.4实现了解析速度的大幅提升。尤其是在构建模板和脚本的源代码映射时,单文件组…
最新文章