奇异值分解SVD

奇异值分解就是把矩阵拆解成两个正交矩阵和一个对角矩阵的积
A = U Σ V T A=U\Sigma V^T A=UΣVT

  • UV都是正交矩阵, Σ \Sigma Σ是对角矩阵
  • U是 A A T AA^T AAT的特征向量堆叠,V则是 A T A A^TA ATA特征向量的堆叠
  • Σ \Sigma Σ是特征值 A A T AA^T AAT的开方构成的对角矩阵

假定A的形状是m×n,奇异值分解有两种形式
一种形式是U是m×r,V是n×r, Σ \Sigma Σ是r×r,这里面是r是矩阵的秩,他把一些0元素给去掉了
另一种形式是u是m×m,v是n×n, Σ \Sigma Σ是m*n,这里面的 Σ \Sigma Σ就需要在原本的r×r矩阵右下角填补一些0元素了

它有一个特殊版本是对称矩阵的分解, S = Q Λ Q T S=Q\Lambda Q^T S=QΛQT

手动构造两个对称矩阵 A A T AA^T AAT(它的对称性可以从矩阵乘法第一种理解推出)和 A T A A^TA ATA

A A T = U Λ U T AA^T=U\Lambda U^T AAT=UΛUT

A T A = V Λ V T A^TA=V\Lambda V^T ATA=VΛVT

因为 A = U Σ V T A=U\Sigma V^T A=UΣVT,那么可以得到
A A T = U Σ V T V Σ U T = U Σ 2 U T AA^T= U\Sigma V^TV\Sigma U^T=U\Sigma^2U^T AAT=UΣVTVΣUT=UΣ2UT(对角矩阵转置是不变的,并且对角矩阵可以把矩阵的平方丢进去当做每个元素的平方)
A T A = V Σ U T U Σ V T = V Σ 2 V T A^TA= V\Sigma U^TU\Sigma V^T=V\Sigma^2V^T ATA=VΣUTUΣVT=VΣ2VT(对角矩阵转置是不变的,并且对角矩阵可以把矩阵的平方丢进去当做每个元素的平方)

通过对比可以发现,拆解出的第一个正交矩阵U是 A A T AA^T AAT的特征向量堆叠,而另外一个V则是 A T A A^TA ATA特征向量的堆叠

奇异值分解还有另外一种理解方式,不过需要先知道一个知识,正交矩阵族是一个旋转矩阵,同样的旋转矩阵也是正交矩阵
这很好理解,因为正交矩阵本身是一组正交基, 它和01正交基的关系可不就是旋转
A x = U Σ V T x Ax=U\Sigma V^Tx Ax=UΣVTx 这表示一个向量被旋转,拉伸再旋转

另外还有一种延伸的分解方式是 A=SQ,即把矩阵拆成对称矩阵和正交矩阵的积
这里面的S就是 U Σ U T U\Sigma U^T UΣUT, Q就是 U V T UV^T UVT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值