【六】SVD分解

article/2025/9/26 21:21:02

SVD分解在很多经典应用中都有用到,比如数据压缩降噪等,PCA也和SVD有着紧密联系,这里记录自己关于SVD分解求解最小二乘解的学习笔记,若有错误请指出,谢谢。

在实践中,由于存在测量误差多次测量,所以超定方程是很常见的,所谓的超定方程是方程个数多于未知数个数的方程组,而对于线性方程组来说可能有解也有可能无解,如果没有解就不解了吗,不是的,我们还是要求必须解出来的,即使结果是个非精确的解,而这个解叫做线性最小二乘解。线性方程组分为两种,如下:

  • 非齐次方程(Ax=b)的最小二乘解求解方法
  1. 正规方程求解
  2. 乔姆斯基分解法求解  
  3. QR分解法求解
  4. 奇异值分解法求解(SVD
  • 齐次方程(Ax=0)的最小二乘解求解方法

1.线性空间

线性空间的属性:

  • 维数:n
  • 基:一组 n 个线性无关的向量

线性空间需要满足的条件:

  • 加法封闭(可加性):空间内任意两向量相加(减),结果必须还在空间中。

  • 数乘封闭(齐次性):空间内任意向量乘以标量,结果必须还在空间中。

注意“数乘封闭”隐含了: 线性空间必须包括零向量(当 λ=0时);

2.矩阵4个子空间

首先,介绍下矩阵的秩(rank),即矩阵最大线性无关组中包含的向量数 ——刨除所有对张成的空间“毫无贡献”的向量(即线性相关的)后,剩下的有效向量数目。

假设 A 是 m×n 的矩阵,其秩为 r :

  • 行空间(row space)

A 中所有行向量张成的子空间,维度是 r,记作:

  •  列空间(column space)

A 中所有列向量张成的子空间,维度是 r,记作:

  • 零空间(nullspace)

以 A 为系数矩阵的齐次线性方程组的所有非平凡解集张成的子空间,说人话就是“能令 Av = 0 的所有非零 v”:

  • 左零空间(left nullspace)

类似列空间和行空间的关系,左零空间是 A 的转置的零空间;“左零”的说法来自其定义中矩阵是“左乘”到向量上的,而不是习惯上的右乘:

注意: 

  • 矩阵非奇异(可逆)的充分必要条件是矩阵的行、列数都等于秩,即满秩矩阵
  • 无论是行向量之间,还是列向量之间,线性无关,即矩阵中的每一行都为行空间贡献了维度,每一列都为列空间贡献了维度。
  • 非奇异矩阵的零空间左零空间就成了零维的,即其中只包含零向量

3.四个基本子空间的关系

对于线性变换:

这个变换的过程中:

  • 向量 x 来自 A 的行空间零空间(左侧的两个空间),变化后到达列空间。

按照矩阵乘法的定义,b是 A 中各列按照 x 的线性组合(或者说以 A 中各列为基,x 的坐标表示)。

  • 对于非奇异矩阵 A(m*n),因为它是满秩的,行空间足以张成整个 Rn空间,列空间足以张成整个 Rm空间,那么行空间中所有向量一定可以一一映射到列空间中,行空间中零向量也只映射到列空间的零向量上。
  • 对于奇异矩阵A(m*n),因为行空间中存在浑水摸鱼的向量(线性相关),其只能张成 r 维空间(r<n),剩下的 n−r维构成了零空间,零空间中的向量可能不是零,但在 A的线性变换作用下却映射到列空间的零向量上,即方程说的 Ax=0的非平凡(x不为 0 的)解。也就是说,零空间中的任何向量,和 A的任何一个行向量的内积都是 0

5.SVD分解

首先,对于A(mxn, m>n),其中秩r为:

A的行空间的一组正交基为:

A的 列空间的一组正交基为:

 行空间和列空间之间满足关系:

对于奇异矩阵,剩下的n-r维就构成了零空间,使得Avi=0:

 同样,ui扩展到Rm维空间

则可以得到:

 这样就可以得到A的奇异值分解:

其中,V是nxn的正交矩阵,U是mxm的正交矩阵,∑为mxn的对角矩阵。

6.SVD证明

 首先,已知∑是mxn对角矩阵

 其中,  表示零矩阵(Zero matrix).

利用分块矩阵:

 因为  是正交矩阵, 所以

7.SVD求解过程

  • 求出方阵A^T*A和A*A^T

 注意:

  1. 两个矩阵拥有完全相同的r个非0特征值。
  2. AAT和ATA都是对称矩阵

  • 对A^TA进行特征分解得到特征值和特征向量满足下式

  • 对AA^T进行特征分解得到特征值和特征向量满足下式

  • 求出奇异值

  • 得到A的奇异值分解

8.SVD求解 AX=b方程

 9.SVD求解AX=0方程

目标:期望找到方程Ax = 0中 x 不等于零的解

由于该方程的特殊形式我们会发现对于 x 不等于零的解我们乘上任意的尺度因子 k 使解变为 kx 都不会改变最终结果。因为我们可以将问题转化为求解 x 使得||Ax||值最小并且||x||=1。

参考:

  1. 矩阵的四个基础子空间
  2. 奇异值分解(SVD)原理详解及推导

  3. 证明Ax=0的最小二乘解是ATA的最小特征值对应的特征向量(||x||=1)

  4. SLAM中的优化理论(一)—— 线性最小二乘


http://chatgpt.dhexx.cn/article/2ZqdOQbZ.shtml

相关文章

SVD分解原理详解

在介绍SVD之前&#xff0c;先补充一些基础知识 1.酉矩阵&#xff1a; 2.正规&#xff08;正定&#xff09;矩阵 3.谱分解&#xff1a; 表示正规矩阵&#xff0c;可经由酉变换&#xff0c;分解为对角矩阵&#xff1b;这种矩阵分解的方式&#xff0c;称为谱分解&#xff08;spec…

矩阵分解(四)——SVD分解

目录 矩阵相关术语共轭矩阵&#xff08;Hermite阵&#xff09;特征值相似矩阵A^H^A^H^A酉矩阵酉相抵&#xff08;正交相抵&#xff09;奇异值奇异值分解式特征分解 奇异值分解python代码实现验证结果 np.linalg.svd 利用Python进行SVD分解对图像压缩 矩阵相关术语 共轭矩阵&am…

聊聊特征分解和SVD分解

矩阵分解 矩阵分解(decomposition,factorization)&#xff1a;将矩阵拆分为多个矩阵的乘积的运算。矩阵的分解包括以下几种&#xff1a; 特征分解SVD分解PCAQR分解LU分解极分解 矩阵分解在数据压缩、推荐系统以及NLP等都有着比较广泛的应用。 特征分解 特征分解(eigendeco…

SVD奇异值分解

SVD分解 SVD分解是LSA的数学基础&#xff0c;本文是我的LSA学习笔记的一部分&#xff0c;之所以单独拿出来&#xff0c;是因为SVD可以说是LSA的基础&#xff0c;要理解LSA必须了解SVD&#xff0c;因此将LSA笔记的SVD一节单独作为一篇文章。本节讨论SVD分解相关数学问题&#xf…

矩阵分解 SVD分解

在认识SVD之前&#xff0c;先来学习两个相关的概念&#xff1a;正交矩阵和酉矩阵。 如果&#xff0c;则阶实矩阵称为正交矩阵。而酉矩阵是正交矩阵往复数域上的推广。 判断正交矩阵和酉矩阵的充分必要条件是&#xff1a;。或者说正交矩阵和酉矩阵的共轭转置和它的 …

SVD分解的推导,理解SVD分解及矩阵奇异值的几何意义

文章目录 SVD分解的证明推导从本质上理解SVD分解矩阵奇异值的几何意义 SVD分解的证明推导 理解SVD分解要解决的问题是什么&#xff1f; 从本质上理解SVD分解 从线性映射的矩阵表示角度&#xff0c;即从“抽象”->“具体”的角度去理解SVD分解。 矩阵奇异值的几何意义…

矩阵分解SVD原理

常用的经典矩阵分解算法&#xff1a; 经典算法PCA、SVD主题模型算法LDA概率矩阵分解PMF&#xff0c;由深度学习大牛Ruslan Salakhutdinov所写&#xff0c;主要应用于推荐系统中&#xff0c;在大规模的稀疏不平衡性Netflix数据集上取得较好的效果&#xff1b;非负矩阵分解&#…

精简易懂,30 分钟学会 SVD 矩阵分解,很强!

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶” 重磅干货&#xff0c;第一时间送达SVD(Singular Value Decomposition)奇异值分解分解是机器学习中最重要的矩阵分解方法。 它能够将一个任意形状的矩阵分解成一个正交矩阵和一个对角矩阵以及另一个正交矩阵…

矩阵(一):SVD分解

文章目录 0 参考链接&#xff08;尊重原著&#xff09;1 SVD分解原理2 SVD分解意义3 SVD分解的应用4 SVD数学举例5 为什么Ax0的解为最小奇异值对应的向量&#xff1f; 0 参考链接&#xff08;尊重原著&#xff09; 下面这个讲的很好很全面 视觉SLAM常见的QR分解SVD分解等矩阵分…

详解SVD分解过程

转 如何让奇异值分解(SVD)变得不“奇异”&#xff1f; 红色石头 发布于 2018-08-29 分类&#xff1a;机器学习 阅读(144) 评论(0) 如何让奇异值分解(SVD)变得不“奇异”&#xff1f;-红色石头的个人博客 http://redstonewill.com/1529/ 在之前的一篇文章&#xff1a;通俗解…

奇异值分解(SVD)原理详解及推导

转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/43053513 在网上看到有很多文章介绍SVD的&#xff0c;讲的也都不错&#xff0c;但是感觉还是有需要补充的&#xff0c;特别是关于矩阵和映射之间的对应关系。前段时间看了国外的一篇文章&#xff0c;叫A S…

奇异值分解(SVD)原理

奇异值分解(Singular Value Decomposition&#xff0c;以下简称SVD)是在机器学习领域广泛应用的算法&#xff0c;它不光可以用于降维算法中的特征分解&#xff0c;还可以用于推荐系统&#xff0c;以及自然语言处理等领域。是很多机器学习算法的基石。本文就对SVD的原理做一个总…

SVD(奇异值分解)

一、SVD&#xff08;奇异值分解 Singular Value Decomposition&#xff09; 1.1、基本概念&#xff1a; &#xff08;1&#xff09;定义&#xff1a;提取信息的方法&#xff1a;奇异值分解Singular Value Decomposition&#xff08;SVD&#xff09; &#xff08;2&#xff0…

SVD分解

一、SVD简介 Singular Value Decomposition&#xff08;奇异值分解&#xff0c;SVD&#xff09;是一种重要的矩阵分解技术&#xff0c;可以将一个矩阵分解为三个矩阵的乘积。SVD的应用广泛&#xff0c;包括数据降维、矩阵逆运算、推荐系统等领域。 给定一个矩阵A&#xff0c;SV…

如何快速搭建个人网站(服务器配置篇)

关于服务器的购买和域名注册可以参考我的这篇博客 在使用之前&#xff0c;建议小白用户先下载一个Vmware 安装一个Ubuntu的虚拟环境学习一下linux的基础命令。 一、远程服务器的连接 服务器购买好了以后我们需要进行远程连接我们的服务器&#xff0c; 我个人推荐windows用…

在废旧手机里搭建个人服务器

点击跳转微信公众号原文链接 欢迎关注公众号&#xff0c;会不定时发些有趣的干货文章&#xff0c;以及一些记录性的技术文章&#xff01; 正文开始&#xff1a; 一、目的&#xff1a;给手机装上Linux系统&#xff0c;充当服务器使用 二、流程&#xff1a; 1、手机装好相关软件…

个人搭建网站的服务器选择

关于这方面之前一直准备分享一下心得&#xff0c;由于一直比较忙&#xff0c;各种想写的就各种耽搁了&#xff0c;今天给大家总结一下个人或小型企业站该如何选择网站服务器 首先&#xff0c;先弄清楚自己的需求和用途&#xff1a; 1、是建立一个静态页面还是动态页面&#xff…

如何利用云服务器搭建个人网站

去阿里云进入官网 aliyun.com 注册账号 小林同学在这里用阿里云演示&#xff0c;大家也可以去腾讯云、百度云注册等大型知名企业&#xff0c;步骤雷同&#xff0c;看个人喜欢 注册完&#xff0c;完善个人信息&#xff0c;进行实名认证 主页面 点击 最新活动 并找到 新手上路 和…

【Linux】零成本在家搭建自己的私人服务器解决方案

我这个人自小时候以来就特喜欢永久且免费的东西&#xff0c;也因此被骗过&#xff08;花巨款买了永久超级会员最后就十几天&#xff09;。 长大后骨子里也是喜欢永久且免费的东西&#xff0c;所以我不买服务器&#xff0c;用GitHubPage或者GiteePage搭建自己的静态私人博客&…

如何组装、搭建一台永久运行的个人服务器?

点击关注公众号&#xff0c;实用技术文章及时了解 来源&#xff1a;segmentfault.com/a/1190000021143144 一、前言 由于本人在这段时候&#xff0c;看到了一个叫做树莓派的东东&#xff0c;初步了解之后觉得很有意思&#xff0c;于是想把整个过程记录下来。 二、树莓派是什么&…