奇异值分解SVD

博客围绕Python中奇异值分解SVD展开。先介绍特征值分解,包括矩阵特征公式、特征向量和特征值的定义,以及方阵的特征分解形式。接着阐述若矩阵不是方阵,可进行奇异值分解,给出分解公式,并证明相关矩阵和奇异值的性质,最后列出mxn矩阵奇异值分解的步骤。

        要理解奇异值分解SVD(Singular Value Decomposition),首先理解特征值分解。

特征值分解:

        矩阵的特征公式如下:f18a4c5ea10378ee0849cde18d7cab02aef.jpg,几何上的解释是,原始空间的向量x经过矩阵M变换后,只有长度上的变换,没有方向上的变化,伸缩的比例为λ。0369e44365209477458cddb29b250bb94a7.jpg

        数学上,M是一个nxn的实对称矩阵,x是一个n维向量,那么x就是M的一个特征向量,λ65b3978798081df1272b56490c79a8107e0.jpg称为特征向量x对应的一个特征值。如果M对应的n个特征值λ1,λ2… λn对应的n个特征向量33358971786685fd9c3a273b337f252beea.jpg为{w1, w2 … wn},则M矩阵可以进行特征分解:

        M = W bb030b114aaeaf27384927cc9f6802246b1.jpg

其中,W是n个特征向量组成的特征矩阵, d26b2d7fd588c5eca0e31f7e8ef747d6793.jpg是由特征值组成的对角矩阵。如果W被标准化,即W的每个特征向量的L2范数等于1,即f0e5868875b69c60d49e5a912310cda4b43.jpg=1,此时5d440fbdfaeabdbed18addd7df53c8d90ba.jpg,W的各个向量组成一组标准正交基。这样M特征分解也可以写成:

        M = W762bddf5693027d4eb078ca38535f8f8c6d.jpg

以上特征值分解的矩阵M是n行n列的方阵。如果M不是n阶方阵,而是mxn的矩阵,是否也可以进行分解?答案是可以,并且这个分解就叫做奇异值分解。

奇异值分解:

        M = U9da16de75338081c16af81e7b8dd0d6d8fa.jpg

        其中M是mxn矩阵,U是mxm方阵,V是nxn方阵, 4a72facf05be60b9725075ac924d6c393c0.jpg是mxn对角阵。可以证明:

  1. V是9036716974be57010d570149ef1283c5303.jpg方阵的nxn特征矩阵(列向量是特征向量)
  2. U是c805d65cdc40086c9d32997216578c847e2.jpg方阵的mxm特征矩阵(列向量是特征向量)
  3. 13f98b98a0d7161fe2954f1ecfc4d9ae0cb.jpg是每个每个奇异值的对角阵,其中每个奇异值是相应特征值的平方根,即δi = λiacf71cb66708c883842023068c62bebb444.jpg

证明如下:

        883f4c95cfdbbaf11e2cc4613065ce9f878.jpg

                  = V1a9d76f3d3befbb1fd0b38f6dbb8ff70048.jpg,其中 9608cecb051f8ee1a246c6c7f8b0c6bec75.jpg=aaa13f070943afc07510dd893e90a443e2a.jpg=I

        由此,可以看出V是e01d9943b2143e4b3d9c9e913887cbacfe9.jpg的特征矩阵,奇异值是6daba4857de84f723a7af631f05387b8361.jpg特征值的平方根。同理,U是45ea9ed5ca6e907b190c7c20ed08e19cf9c.jpg的特征矩阵。

综上,mxn矩阵的奇异值分解步骤如下:

  1. 求出12c240cb683c665ae5072dc344efc5c4d2d.jpg的特征值和特征向量V
  2. 求出610472107a79e3718850fe3e70233a97f61.jpg的特征值和特征向量U
  3. 求出个非零特征值的平方根作为相应的奇异值,组合成 ccf2ed10f6696922303a0b524cdf0c613f3.jpg

最后M = Ubd455edea15bfe264e14f6098eac57513a6.jpg

转载于:https://my.oschina.net/yepanl/blog/3045120

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值