奇异值分解SVD

server/2024/10/9 8:52:32/

文章目录

    • 奇异值是什么?
      • 1 奇异值的定义
      • 2 奇异值的性质
      • 3 特征值与奇异值的关系
      • 4 奇异值的重要性
    • 奇异值分解

奇异值是什么?

1 奇异值的定义

对于任意一个 m × n m \times n m×n 的矩阵 A A A,存在三个矩阵 U U U V V V Σ \Sigma Σ使得:
A = U Σ V T A=U\Sigma V^T A=UΣVT
其中:

  • U ∈ R m × m U \in R^{m\times m} URm×m 称为左奇异矩阵
  • V ∈ R n × n V \in R^{n\times n} VRn×n 称为右奇异矩阵
  • Σ ∈ R m × n \Sigma \in R^{m\times n} ΣRm×n 是对角矩阵,对角线的元素是非负实数,按降序排列,这些值称为奇异值

U U U V V V 均为单位正交阵(即 U U T = I UU^T=I UUT=I V V T = I VV^T=I VVT=I )。

2 奇异值的性质

1、非负性:奇异值始终为非负数,即对角矩阵 Σ \Sigma Σ的对角元素均为非负。
2、奇异值的数量:对于一个 m × n m \times n m×n 的矩阵 A A A,最多有 m i n ( m , n ) min(m,n) min(m,n)个奇异值。
3、矩阵的秩:矩阵 A A A 的秩等于其非零奇异值的数量。
4、不变性:奇异值是矩阵的固有属性,与矩阵的旋转或变换无关。

3 特征值与奇异值的关系

奇异值与特征值都描述了一个矩阵的一些特征。

矩阵乘法的几何意义
矩阵乘法对应一个变换,是把任意一个向量变成另一个方向或长度的新向量,在这个过程中,原向量主要发生旋转伸缩的变化。

  • 特征值:如果存在向量 v v v,使得 A v = λ v Av=\lambda v Av=λv,则 λ \lambda λ 是矩阵 A A A特征值 v v v 是对应的特征向量
    • 特征值分解: A = Q Σ Q − 1 A=Q\Sigma Q^{-1} A=QΣQ1
      • Q Q Q是矩阵A的特征向量组成的矩阵, Σ \Sigma Σ为对角阵,每一个对角线元素就是一个特征值。
    • 特征值表示的是这个特征到底有多重要,而特征向量表示这个特征是什么。
  • 局限矩阵A必须是方阵

特征值与特征向量的几何意义
如果矩阵对某些向量只发生伸缩变换,不产生旋转效果,那么这些向量就称为这个矩阵的特征向量,伸缩的比例就是特征值
例如:M = [ 3 0 0 1 ] \begin{bmatrix} 3&0 \\ 0&1 \end{bmatrix} [3001],对应的线性变换是如下形式,因为M乘以一个向量 ( x , y ) (x,y) (x,y)的结果是 [ 3 0 0 1 ] [ x y ] = [ 3 x y ] \begin{bmatrix}3&0\\0&1\end{bmatrix} \begin{bmatrix}x\\y\end{bmatrix} =\begin{bmatrix}3x\\y\end{bmatrix} [3001][xy]=[3xy].
在这里插入图片描述

  • 奇异值:如果存在单位正交矩阵 U U U V V V,使得 A = U Σ V T A=U\Sigma V^T A=UΣVT,其中 Σ \Sigma Σ为对角矩阵,对角线上的值被称为奇异值 U U U V V V 分别被称为左奇异矩阵和右奇异矩阵。
    • 可以描述普通矩阵(不一定是方阵)的重要特征。
    • 与特征值的对应关系:
      • ( A T A ) v i = λ i v i (A^TA)v_i = \lambda_i v_i (ATA)vi=λivi ,这里V就是右奇异向量。
      • σ i = λ i \sigma_i = \sqrt{\lambda_i} σi=λi
      • u i = 1 σ i A v i u_i = \frac{1}{\sigma_i} Av_i ui=σi1Avi ,这里U就是左奇异向量。
  • 奇异值跟特征值类似,但其减少的特别快,很多情况下,前10%甚至前1%的奇异值的和就占了全部的奇异值之和的99%以上了

形象理解
对于矩阵 A = [ 1 1 3 1 3 1 ] A = \begin{bmatrix} 1&\frac{1}{3}\\ \frac{1}{3}&1 \end{bmatrix} A=[131311],单位圆被变换为椭圆,特征向量是所有向量中经过变换(A)后,方向不变的向量

但是,特征向量不变的方向并不能保证是拉伸效果最大的方向,而这是奇异值向量的方向。单位圆变换为椭圆,奇异向量对应椭圆的半长轴,不同于特征值方向。

在这里插入图片描述

也就是说,

  • 特征向量描述的是矩阵的方向不变作用的向量
  • 奇异向量描述的是矩阵最大作用的方向向量

4 奇异值的重要性

奇异值的重要性在于,它们描述了矩阵 A A A在不同方向上能够拉伸(或压缩)空间的能力。

  • 最大的奇异值对应着矩阵在最重要的方向上的最大拉伸效果,通常与矩阵的主要信息或能量相关联。
  • 较小的奇异值可能表示噪声或数据中的微弱模式。
  • 奇异值为零意味着在相应的方向上矩阵的作用是完全压缩的,这与矩阵的秩有关,矩阵的秩等于非零奇异值的数量。


奇异值分解

奇异值分解有广泛的应用,通过保留较大的奇异值而忽略较小的奇异值,可以在减少数据维度的同时尽量保持数据的主要结构,达到数据降维和去噪的目的。

在这里插入图片描述

对于 A = U Σ V T A=U\Sigma V^T A=UΣVT,可以理解为:

  • V T V^T VT:旋转(正交矩阵)
  • Σ \Sigma Σ:缩放或拉伸(对角矩阵)
  • U U U:旋转(正交矩阵)

也就是说,任何矩阵变换总可以看成旋转+缩放或拉伸+旋转的过程。那么对于拉伸效果最大的判断,就取决于 Σ \Sigma Σ矩阵中最大的奇异值。

关于具体的SVD证明及求法,可参考奇异值分解(SVD)的定义、证明、求法.


http://www.ppmy.cn/server/129184.html

相关文章

OpenCV高级图形用户界面(3)关闭由 OpenCV 创建的指定窗口函数destroyWindow()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 销毁指定的窗口。 该函数 destroyWindow 销毁具有给定名称的窗口。 函数原型 void cv::destroyWindow (const String & winname ) 参数 …

基于Springboot+Vue的公寓出租系统 (含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 这个系…

【智能算法应用】人工水母搜索算法求解二维路径规划问题

摘要 本文应用人工水母搜索算法(Jellyfish Search, JFS)求解二维空间中的路径规划问题。水母搜索算法是一种新型的智能优化算法,灵感来源于水母的群体运动行为,通过模仿水母的觅食、漂浮等行为,实现全局最优路径的搜索…

成功解决STM32-No ST-LINK detected问题!

在使用STM32开发板进行编程时,我们可能会遇到“No ST-LINK Detected”的问题,这通常意味着开发环境无法识别或连接到ST-LINK调试器。以下是一些可能的原因和相应的解决方法。 一、原因分析 接线问题:可能是ST-LINK与STM32开发板之间的连接不…

国庆练习(Day24)

作业一 数组练习 选择题 1.1、若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a 数组的第10个元素是 a[0][4] B) a[1][3] C)a[0][3] D)a[1][4] 解析: 从 a[0][0] 开始…

【leetcode】238.除自身以外数组的乘积

由于该题不能使用除法,所以参考题解写一个左右乘积列表的方法 创建两个新的数组pef,suf 一个用于记录从左到右的乘积(类似于动态规划的思想)pef 另一个记录从右到左的乘积 bsuf(注意suf是从右到左进行累乘) 而pef的最左…

Spring Boot实现新闻个性化推荐

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…

测试用例的编写

1.基本概念: 编写测试用例是确保代码质量和正确性的重要环节,尤其是在软件开发和维护过程中。测试用例通常用于验证功能是否符合预期,并及时发现潜在的错误或漏洞。 2.常见的测试用例编写方法: 等价划分法,边界值法&a…