矩阵(一):SVD分解

0 参考链接(尊重原著)

下面这个讲的很好很全面
视觉SLAM常见的QR分解SVD分解等矩阵分解方式求解满秩和亏秩最小二乘问题(最全的方法分析总结)

矩阵分解SVD原理

1 SVD分解原理

奇异值和特征值有相似的重要意义,都是为了提取出矩阵的主要特征。假设A是一个m∗n阶矩阵,如此则存在一个分解m阶正交矩阵U、非负对角阵Σ和n阶正交矩阵V使得 A = U Σ V T A=UΣV^T A=UΣVT

在这里插入图片描述
Σ对角线上的元素 Σ i , i Σ_{i,i} Σi,i即为A的奇异值。而且一般来说,我们会将Σ上的值按从大到小的顺序排列。
SVD解决了特征值分解中只能针对方阵而没法对更一般矩阵进行分解的问题。所以在实际中,SVD的应用场景比特征值分解更为通用与广泛。将将上面的SVD分解用一个图形象表示如下。
在这里插入图片描述
这三个矩阵的规模,一点也不比原来矩阵的规模小好么。而且还要做两次矩阵的乘法。如果按照之前那种方式分解,肯定是没有任何好处的。关键是奇异值有个牛逼的性质:在大部分情况下,当我们把矩阵Σ里的奇异值按从大到小的顺序呢排列以后,很容易就会发现,奇异值σ减小的速度特别快。在很多时候,前10%甚至前1%的奇异值的和就占了全部奇异值和的99%以上。换句话说,大部分奇异值都很小,基本没什么用。既然这样,那我们就可以用前面r个奇异值来对这个矩阵做近似。于是,SVD也可以这么写:
A m × n ≈ U m × r Σ r × r V r × n A_{m×n}≈U_{m×r}Σ_{r×r}V_{r×n} Am×nUm×rΣr×rVr×n
其中,r≪m,r≪n。如果用另外一幅图描述这个过程,如下图:
在这里插入图片描述
如果r越大,跟原来的矩阵相似度就越高。如果r=n,那得到的就是原来的矩阵A。但是这样存储与计算的成本就越高。所以,实际在使用SVD的时候,需要我们根据不同的业务场景与需求还有资源情况,合理选择r的大小。本质而言,就是在计算精度与空间时间成本之间做个折中。

2 SVD分解意义

按照前面给出的几何含义,SVD 分解可以看成先旋转,然后进行分别缩放,然后再旋转的过程。
在这里插入图片描述

SVD分解解满秩(亏秩)最小二乘问题
SVD分解不仅可以解决满秩最小二乘问题,最重要的是可以解决亏秩最小二乘问题( r(A)< n 或 r < n的情况),而前面的方法在秩亏的时候都会失效。
设A的SVD分解为:
在这里插入图片描述

3 SVD分解的应用

  • 降维
    矩阵A的特征有n维,经过SVD分解之后,完全可以用前r个非零奇异值对应的奇异向量表示矩阵A的主要特征。这样,就起到了降维的作用。
  • 压缩
    经过SVD分解之后,表示原来的矩阵A,只需要存 U , Σ , V U,\Sigma ,V U,Σ,V三个较小的矩阵即可。而这三个小矩阵的规模加起来也远远小于原始矩阵A。这样,就达到压缩的作用。

4 SVD数学举例

在这里插入图片描述
在这里插入图片描述

5 为什么Ax=0的解为最小奇异值对应的向量?

矩阵(二):为什么Ax=0的解为最小奇异值对应的向量?

  • 20
    点赞
  • 159
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值