奇异值分解SVD(singular value decomposition)

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

奇异值分解

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
reduced svd,math,经验分享
通过上面这张图,可以做出下面的定义:

  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
    reduced svd,math,经验分享
    现在重新考虑当时把球型变为超椭圆型的目的。
    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是压缩矩阵的一个好的方法。文章来源地址https://www.toymoban.com/news/detail-773824.html

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

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

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

相关文章

  • 机器学习——奇异值分解二(特征分解+SVD纯理解,头疼系列)

    特征值和特征向量的定义 抄来的:奇异值分解 困惑1:特征值和特征向量,和原矩阵是怎样的关系,需要一个栗子进行更具象的认识 困惑2:为什么多个特征向量组合成的矩阵,可以构成矩阵A的特征分解?需要推导 困惑3:为什么要特征向量标准化? 困惑4:标准正交基是什么

    2024年02月07日
    浏览(60)
  • SVD,奇异值分解的计算步骤以及实例讲解

           奇异值分解 (singular value decomposition,SVD),已经成为矩阵计算中最有用和最有效的工具之一,并且在最小二乘问题、最优化、统计分析、信号与图像处理、系统理论与控制等领域得到广泛应用。         首先我们都知道方阵是可以特征值分解的,那么问题来了,如果矩

    2024年02月04日
    浏览(38)
  • 矩阵篇(五)-- 特征值分解(EVD)和奇异值分解(SVD)

            设 A n × n A_{n times n} A n × n ​ 有 n n n 个线性无关的特征向量 x 1 , … , x n boldsymbol{x}_{1}, ldots, boldsymbol{x}_{n} x 1 ​ , … , x n ​ ,对应特征值分别为 λ 1 , … , λ n lambda_{1}, ldots, lambda_{n} λ 1 ​ , … , λ n ​ A [ x 1 ⋯ x n ] = [ λ 1 x 1 ⋯ λ n x n ] Aleft[begin{array}{lll

    2024年02月08日
    浏览(49)
  • 机器学习实战:Python基于SVD奇异值分解进行矩阵分解(八)

    1.1 奇异值分解 奇异值分解( Singular Value Decomposition,SVD )是一种重要的矩阵分解技术,它可以将一个矩阵分解为三个矩阵的乘积,分别为左奇异矩阵、奇异值矩阵和右奇异矩阵。SVD 的原理可以描述如下: 对于任意 m × n m times n m × n 的矩阵 A A A ,它的 SVD 分解为: A = U $

    2024年02月02日
    浏览(56)
  • 【线性代数/机器学习】矩阵的奇异值与奇异值分解(SVD)

    我们知道,对于一个 n × n ntimes n n × n 的矩阵 A A A ,如果 A A A 有 n n n 个线性无关的特征向量,则 A A A 可以相似对角化,即存在可逆矩阵 P P P 使得 A = P Λ P − 1 A=PLambda P^{-1} A = P Λ P − 1 ,其中 Λ Lambda Λ 是 A A A 的特征值组成的对角阵。 P P P 的列实际上就是 A A A 的特征向

    2024年02月10日
    浏览(39)
  • 奇异值分解(SVD)原理与在降维中的应用

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

    2023年04月25日
    浏览(40)
  • 【机器学习】 奇异值分解 (SVD) 和主成分分析 (PCA)

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

    2024年02月15日
    浏览(52)
  • 时序分解 | MATLAB实现基于SVD奇异值分解的信号分解分量可视化

    效果一览 基本介绍 SVD分解重构算法,MATLAB程序,奇异值分解 (Singular Value Decomposition)是一种常见的矩阵分解方法,用于将矩阵分解成三个矩阵的乘积。在信号处理中,SVD 可以用于特征提取、信号降维、图像压缩等方面。SVD 的一个重要应用是主成分分析 (PCA),可以用于提取数

    2024年02月11日
    浏览(49)
  • ORB-SLAM之SVD奇异值分解——理论 (一)

    在学习《视觉SLAM十四讲》过程中常遇到SVD奇异值分解,经过一段时间的学习,在此进行记录整理, 本篇主要整理SVD的数学理论基础, 下一篇 进行整理 SVD 实际应用 。 给定一大小为 m × m mtimes m m × m 的矩阵 A A A ( 方阵 ),其对角化分解可以写成 A = U Λ U − 1 A=ULambda U^{-1} A =

    2024年02月07日
    浏览(41)
  • 矩阵:采用奇异值分解(SVD)对n个点进行平面拟合

    奇异值分解(Singular Value Decomposition, SVD),是线性代数中一种重要的矩阵分解,在信号处理、统计学等领域有重要应用。奇异值分解在某些方面与对称矩阵或厄米矩阵基于特征向量的对角化类似。对称矩阵特征向量分解的基础是谱分析,而奇异值分解则是谱分析理论在任意矩

    2023年04月08日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包