第十五章 奇异值分解

这篇具有很好参考价值的文章主要介绍了第十五章 奇异值分解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引入

奇异值分解(SVD)是一种矩阵因子分解方法。

任意一个 m × n m\times n m×n矩阵,都可以表示为三个矩阵的乘积(因子分解)形式,分别是 n n n阶正交矩阵、由降序排列的非负的对角线元素组成的 m × n m\times n m×n的矩形对角矩阵和 n n n阶正交矩阵。

矩阵的奇异值分解一定存在,但不唯一。

奇异值分解可以看做矩阵数据压缩的一种方法,即用因子分解的方式近似地表示原始矩阵,这种近似是在平方损失意义下的最优近似。

奇异值分解的定义与性质

定义与定理

定义15.1(奇异值分解)矩阵的奇异值分解是指,将一个非零的 m × m m\times m m×m实矩阵 A ∈ R m × n A\in R^{m\times n} ARm×n,表示为一下三个实矩阵乘积形式的运算,即进行矩阵的因子分解: A = U Σ V T A=U\Sigma V^T A=UΣVT
其中 U U U m m m阶正交矩阵, V V V n n n阶正交矩阵, Σ \Sigma Σ是由降序排列的非负的对角元素组成的 m × n m\times n m×n矩形对角矩阵,满足 U U T = I V V T = I Σ = d i a g ( σ 1 , . . . , σ p ) σ 1 ≥ σ 2 ≥ . . . ≥ σ p ≥ 0 p = min ⁡ ( m , n ) \begin{aligned}&UU^T=I\\&VV^T=I\\&\Sigma=diag(\sigma_1,...,\sigma_p)\\&\sigma_1\ge\sigma_2\ge...\ge\sigma_p\ge 0\\&p=\min(m,n)\end{aligned} UUT=IVVT=IΣ=diag(σ1,...,σp)σ1σ2...σp0p=min(m,n)
其中 σ i \sigma_i σi称为 A A A的奇异值, U U U的列向量称为左奇异向量, V V V的列向量称为右奇异向量。

定理15.1(奇异值分解基本定理)若 A A A为一个 m × n m\times n m×n实矩阵, A ∈ R m × n A\in R^{m\times n} ARm×n,则 A A A的奇异值存在。

紧奇异值分解与截断奇异值分解

定理15.1给出的奇异值分解称为矩阵的完全奇异值分解。实际常用的是奇异值分解的紧凑形式和截断形式。

紧奇异值分解是与原始矩阵等秩的奇异值分解;截断奇异值分解是比原始矩阵低秩的奇异值分解。

紧奇异值分解

定义15.2设有 m × n m\times n m×n实矩阵 A A A,其秩为 r a n k ( A ) = r rank(A)=r rank(A)=r r ≤ min ⁡ ( m , n ) r\le \min(m,n) rmin(m,n),则称 U r Σ r V r T U_r\Sigma_rV_r^T UrΣrVrT A A A的紧奇异值分解,即 A = U r Σ r V r T A=U_r\Sigma_rV_r^T A=UrΣrVrT
其中, U r U_r Ur m × r m\times r m×r矩阵, V r V_r Vr n × r n\times r n×r矩阵, Σ r \Sigma_r Σr r r r阶对角矩阵;这些元素都是完全奇异值分解中对应元素的前 r r r列。

截断奇异值分解

在矩阵的奇异值分解中,只取最大的 k k k个奇异值( k < r k\lt r k<r r r r为矩阵的秩),对应的部分,就得到矩阵的截断奇异值分解。

实际应用中提及奇异值分解,通常指的是截断奇异值分解。

定义15.3设有 m × n m\times n m×n实矩阵 A A A,其秩为 r a n k ( A ) = r rank(A)=r rank(A)=r 0 < k < r 0\lt k\lt r 0<k<r,则称 U k Σ k V k T U_k\Sigma_kV_k^T UkΣkVkT A A A的紧奇异值分解,即 A = U k Σ k V k T A=U_k\Sigma_kV_k^T A=UkΣkVkT
其中, U k U_k Uk m × k m\times k m×k矩阵, V k V_k Vk n × k n\times k n×k矩阵, Σ k \Sigma_k Σk k k k阶对角矩阵;这些元素都是完全奇异值分解中对应元素的前 k k k列。

奇异值分解是在平方损失(福罗贝尼乌斯范数)意义下对矩阵的最优近似。紧奇异值分解对应着无损压缩,截断奇异值分解对应着有损压缩。

几何解释

m × n m\times n m×n矩阵 A A A表示从 n n n维空间 R n R^n Rn m m m维空间 R m R^m Rm的一个线性变换(关于线性变换可以参考线性变换和矩阵乘法), T : x → A x T:x\to Ax T:xAx

在这里,我简单地总结一下:

  1. 坐标相当于是对基的缩放;
  2. 线性变换矩阵的每一列表示的是变换之后的基;
  3. 矩阵的乘法可以理解为,一个矩阵中的每一个基视为一个列向量,得到其在左乘矩阵后的表示,然后这作为基来变换原向量。

线性变换可以分解为三个简单的变换:一个坐标系的旋转(线性变换矩阵的列向量可以视为基做变换之后)或反射变换、一个坐标轴的缩放变换、另一个坐标系的旋转或反射变换。

V , U V,U V,U都是正交矩阵,所以 V V V的列向量构成 R n R^n Rn空间的一组标准正交基,表示 R n R^n Rn中的正交坐标系的旋转或反射变换; U U U的列向量构成 R m R^m Rm空间的一组标准正交基,表示 R m R^m Rm中的正交坐标系的旋转或反射变换; Σ \Sigma Σ表示 R n R_n Rn中的原始正交坐标系坐标轴的 σ 1 , . . . , σ n \sigma_1,...,\sigma_n σ1,...,σn倍的缩放变换。

奇异值分解,机器学习,线性代数,矩阵,算法

正交变换不改变基的长度,只改变其角度。相当于就是把这个角度变换和长度变换分开进行了。

矩阵的奇异值分解也可以看作是将对应的线性变换分解为旋转变换、缩放变换、旋转变换的组合。

矩阵关于空间的部分概念

奇异值分解,机器学习,线性代数,矩阵,算法

奇异值分解,机器学习,线性代数,矩阵,算法
值域:某个空间中所有向量经过变换矩阵后形成的向量的集合,通常用R(A)来表示,A 是变换矩阵。

这篇文章也可以参考。

比如说以 ( 1 , 0 , 0 ) , ( 0 , 1 , 0 ) (1,0,0),(0,1,0) (1,0,0),(0,1,0)为基的xy平面就是三维向量空间的子空间。这个子空间的维数就是2。

主要性质

(1)设矩阵 A A A的奇异值分解为 A = U Σ V T A=U\Sigma V^T A=UΣVT,则下列关系成立 A T A = ( U Σ V T ) T ( U Σ V T ) = V ( Σ T Σ ) V T A A T = U ( Σ Σ T ) U T \begin{aligned}&A^TA=(U\Sigma V^T)^T(U\Sigma V^T)=V(\Sigma^T\Sigma)V^T\\&AA^T=U(\Sigma\Sigma^T)U^T\end{aligned} ATA=(UΣVT)T(UΣVT)=V(ΣTΣ)VTAAT=U(ΣΣT)UT
这表明了,矩阵 A T A , A A T A^TA,AA^T ATA,AAT的特征分解存在,且可以由 A A A的奇异值分解的矩阵表示。 V V V的列向量是 A T A A^TA ATA的特征向量, Σ \Sigma Σ的奇异值是 A T A A^TA ATA的特征值的平方根,这对 A A T AA^T AAT也成立。因为 U , V U,V U,V正交,说白了这就是一个相似变换,这俩矩阵相似!特征值自然就对应上了咯。

(2)在矩阵 A A A的奇异值分解中,奇异值、左奇异向量和右奇异向量之间存在对应关系

(3)在矩阵 A A A的奇异值分解中,奇异值 σ 1 , σ 2 , . . . , σ n \sigma_1,\sigma_2,...,\sigma_n σ1,σ2,...,σn唯一的,而俩正交矩阵不是。(联想一下,这个相似变换的特征值是唯一的,但是这个特征向量不是)

(4)矩阵 A A A Σ \Sigma Σ秩相等,等于正奇异值 σ i \sigma_i σi的个数 r r r

(5.1)矩阵 A A A r r r个右奇异向量构成 A T A^T AT的零空间 N ( A ) N(A) N(A)的一组标准正交基(为什么是 A T A^T AT,因为这样他的值域才是与右奇异向量相关)。

(5.2)矩阵 A A A n − r n-r nr个右奇异向量构成 A A A的值域 R ( A T ) R(A^T) R(AT)的一组标准正交基。

(5.3)矩阵 A A A r r r个左奇异向量构成 A A A的值域 R ( A ) R(A) R(A)的一组标准正交基。

(5.4)矩阵 A A A m − r m-r mr个左奇异向量构成 A T A^T AT的零空间 N ( A T ) N(A^T) N(AT)的一组标准正交基。

奇异值分解的计算

奇异值分解基本定理证明的过程蕴含了奇异值分解的计算方法。

矩阵 A A A的奇异值分解可以通过求对称矩阵 A T A A^TA ATA的特征值和特征向量得到(性质1):

  1. A T A A^TA ATA的特征向量构成正交矩阵 V V V的列;
  2. A T A A^TA ATA的特征值 λ j \lambda_j λj的平方根为奇异值 σ j \sigma_j σj。对其由大到小排列作为对角线元素,构成对角矩阵 Σ \Sigma Σ
  3. 求正奇异值对应的左奇异向量,再求扩充的 A T A^T AT的标准正交基,构成正交矩阵 U U U的列。

奇异值分解,机器学习,线性代数,矩阵,算法

我们在 R ( A ) R(A) R(A)中找到了 r r r个左奇异向量,接着要从 N ( A T ) N(A^T) N(AT)找到剩下的 m − r m-r mr个左奇异向量,这是根据性质5得到的。

奇异值分解,机器学习,线性代数,矩阵,算法
奇异值分解,机器学习,线性代数,矩阵,算法
奇异值分解,机器学习,线性代数,矩阵,算法

奇异值分解与矩阵近似

弗罗贝尼乌斯范数

奇异值分解也是一种矩阵近似的方法,这个近似是在弗罗贝尼乌斯范数意义下的近似。

矩阵的弗罗贝尼乌斯范数是向量的 L 2 L2 L2范数的直接推广,对应着机器学习中的平方损失函数。

**定义15.4(弗罗贝尼乌斯范数)**设矩阵 A ∈ R m × n , A = [ a i j ] m × n A\in R^{m\times n},A=[a_{ij}]_{m\times n} ARm×n,A=[aij]m×n定义矩阵 A A A的弗罗贝尼乌斯范数为 ∥ A ∥ F = ( ∑ i = 1 m ∑ j = 1 n ( a i j ) ) 1 2 \|A\|_F=(\sum_{i=1}^m\sum_{j=1}^n(a_{ij}))^{\frac{1}{2}} AF=(i=1mj=1n(aij))21

引理15.1设矩阵 A ∈ R m × n A\in R^{m\times n} ARm×n A A A的奇异值分解为 U Σ V T U\Sigma V^T UΣVT,其中 Σ = d i a g ( σ 1 , σ 2 , . . . , σ n ) \Sigma=diag(\sigma_1,\sigma_2,...,\sigma_n) Σ=diag(σ1,σ2,...,σn),则 ∥ A ∥ F = ( σ 1 2 + σ 2 2 + . . . + σ n 2 ) 1 2 \|A\|_F=(\sigma_1^2+\sigma_2^2+...+\sigma_n^2)^\frac{1}{2} AF=(σ12+σ22+...+σn2)21

矩阵的近似最优

奇异值分解是在平方损失意义下对矩阵的最优近似,即数据压缩。

定理15.2 设矩阵 A ∈ R m × n A\in R^{m\times n} ARm×n,矩阵的秩 r a n k ( A ) = r rank(A)=r rank(A)=r,并设 M \mathbb{M} M R m × n R^{m\times n} Rm×n中所有秩不超过 k k k的矩阵集合, 0 < r < k 0\lt r\lt k 0<r<k,则存在一个秩为 k k k的矩阵 X ∈ M X\in\mathbb{M} XM,使得 ∥ A − X ∥ F = min ⁡ S ∈ M ∥ A − S ∥ F \|A-X\|_F=\min_{S\in\mathbb{M}}\|A-S\|_F AXF=SMminASF
称矩阵 X X X A A A在弗罗内尼乌斯范数意义下的最优近似。

定理15.3 设矩阵 A ∈ R m × n A\in R^{m\times n} ARm×n,矩阵的秩 r a n k ( A ) = r rank(A)=r rank(A)=r,有奇异值分解 A = U Σ V T A=U\Sigma V^T A=UΣVT,并设 M \mathbb{M} M R m × n R^{m\times n} Rm×n中所有秩不超过 k k k的矩阵集合,若秩为k的矩阵 X X X A A A在弗罗内尼乌斯范数意义下的最优近似。

∥ A − X ∥ F = ( σ k + 1 2 + σ k + 2 2 + . . . + σ n 2 ) 1 2 \|A-X\|_F=(\sigma_{k+1}^2+\sigma_{k+2}^2+...+\sigma_{n}^2)^\frac{1}{2} AXF=(σk+12+σk+22+...+σn2)21

特别地,若 A ′ = U Σ ′ V T A'=U\Sigma'V^T A=UΣVT,其中 Σ ′ = d i a g ( σ 1 , . . . , σ k ) \Sigma'=diag(\sigma_1,...,\sigma_k) Σ=diag(σ1,...,σk) A ′ A' A就是最优近似。( σ i \sigma_i σi A A A的奇异值)

定理15.3表明,在秩不超过 k k k m × n m\times n m×n矩阵的集合中,存在矩阵 A A A的弗罗贝尼乌斯范数意义下的最优近似矩阵 X X X A ′ = U Σ ′ V T A'=U\Sigma'V^T A=UΣVT是达到最优值的一个矩阵。

这个意义是什么呢?比如说紧奇异值分解就是一种无损压缩,截断奇异值分解就是有损压缩(得到的矩阵近似于A)。

SVD通常用于降维,截断奇异值分解的 k k k就是低维空间的维度,那么降维肯定有信息损失,如果采用SVD的求解方法,那么可以保证这个损失比较小。文章来源地址https://www.toymoban.com/news/detail-725451.html

到了这里,关于第十五章 奇异值分解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【机器学习】 奇异值分解 (SVD) 和主成分分析 (PCA)

            在机器学习 (ML) 中,一些最重要的线性代数概念是奇异值分解 (SVD) 和主成分分析 (PCA)。收集到所有原始数据后,我们如何发现结构?例如,通过过去 6 天的利率,我们能否了解其构成以发现趋势?         对于高维原始数据,这变得更加困难。这就像

    2024年02月15日
    浏览(54)
  • 【Rust】Rust学习 第十五章智能指针

    指针  ( pointer )是一个包含内存地址的变量的通用概念。这个地址引用,或 “指向”(points at)一些其他数据。Rust 中最常见的指针是第四章介绍的  引用 ( reference )。引用以   符号为标志并借用了他们所指向的值。除了引用数据没有任何其他特殊功能。它们也没有任

    2024年02月12日
    浏览(34)
  • Go学习第十五章——Gin参数绑定bind与验证器

    在Gin框架中, bind 用于绑定参数,即将请求参数绑定到结构体中。通过使用 bind ,我们可以方便地将请求参数与结构体字段进行绑定,从而更方便地处理和验证参数。 Gin框架提供了多种绑定方法,包括Query参数绑定、Form参数绑定、JSON参数绑定等。下面分别介绍这些方法的详

    2024年02月07日
    浏览(42)
  • 第十五章——友元、异常

    友元 类并非只能拥有友元函数,也可以将类作为友元。在这种情况下,友元类的所有方法都可以访问原始类的私有成员和保护成员。因此尽管友元被授予从外部访问类的私有部分的权限,但它们并不与面向对象的编程思想相悖,相反提高了共有接口的灵活性。 友元类  假定

    2024年02月16日
    浏览(37)
  • 第十五章 RabbitMQ 延迟队列

    实际业务中,例如秒杀系统,秒杀商品成功会有截止时间,这时需要用到RabbitMQ延迟服务。 TTL ,即 Time-To-Live,存活时间,消息和队列都可以设置存活时间 Dead Letter,即死信,若给消息设置了存活时间,当超过存活时间后消息还没有被消费,则该消息变成了死信 Dead Letter Exc

    2024年01月25日
    浏览(40)
  • [C国演义] 第十五章

    力扣链接 子数组 ⇒ dp[i]的含义: 以arr[i] 结尾的所有子数组中的最长湍流子数组的长度 子数组 ⇒ 状态转移方程根据 最后一个位置来划分 👇👇👇 初始化: 都初始化为1 ⇒ 1. 一个数字也是一个湍流子数组. 2. 可以少考虑四种状态 遍历方向: 从前往后遍历 返回结果: 返回g表 和

    2024年02月07日
    浏览(45)
  • 【OpenCV】第十五章: 模板匹配

    第十五章: 模板匹配 模板匹配就是在给定的图片中查找和模板最相似的区域。 实现的方法是:将模板在图片上滑动(从左向右,从上向下),遍历所有滑窗,计算匹配度,将所有计算结果保存在一个矩阵种,并将矩阵中匹配度最高的值作为匹配结果。 一、单模板匹配 1、匹配函

    2024年02月02日
    浏览(43)
  • WEB核心【会话技术】第十五章

    目录 💂 个人主页:  爱吃豆的土豆 🤟 版权:  本文由【爱吃豆的土豆】原创、在CSDN首发、需要转载请联系博主 💬 如果文章对你有帮助、 欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 🏆 人必有所执,方能有所成! 🐋希望大家多多支持😘一起进步呀! 1,会话技术   

    2023年04月17日
    浏览(41)
  • 第十五章 Unity 角色移动旋转实例

    本章节我们创建一个“RoleDemoProject”工程,然后导入我们之前创建地形章节中的“TerrainDemo.unitypackage”资源包,这个场景很大,大家需要调整场景视角才能看清。 接下来,我们添加一个人物模型,操作方式就是将模型文件目录复制到“Assets”下 然后Unity会自动同步该文件,我

    2024年02月06日
    浏览(37)
  • 第十五章行为性模式—命令模式

    行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式: 类行为模式:采用继承机制来在类间分派行为 对象行为模式:

    2024年02月07日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包