奇异值分解,逆,左逆,右逆与伪逆

3850编辑收藏

  奇异值分解(Singular Value Decomposition, SVD)可以被看做是方阵特征值分解的推广,适用于任意形状的矩阵。

  对于矩阵ARm×n,不失一般性,假设mn,奇异值分解期望实现:

A=UΣVT

  其中U,V分别为m,n阶正交矩阵,其中向量称为左/右奇异向量,Σ为非负主对角线元素降序排列的m×n对角矩阵,称为奇异值矩阵。如下图所示:

  如果Σ的秩为r,可以将矩阵的零略去,得到更紧凑的结果:

  奇异值分解一定存在,可以通过构造相应的分解矩阵U,Σ,V来证明,具体证明看李航《统计学习方法》。证明过程中包含了运算,当然可以直接看更简洁明了的计算方式。简单来说就是计算AATATA的特征值和对应的正交矩阵,用特征值的平方根组成为奇异值矩阵。

  几何意义:在上面第一张图的情况下,对于向量x,变换Ax=UΣVTx可以理解为先进行正交矩阵VT的旋转变换,然后Σ缩放变换并映射到m维空间,最后进行U的旋转变换。

  通常奇异值递减很快,因此可以取前几个较大奇异值忽略较小奇异值从而实现矩阵压缩。

  矩阵的逆、左逆、右逆、伪逆,可以通过奇异值分解求得,看这里。其中逆矩阵只有满秩方阵才有,左逆只有列满秩矩阵才有,右逆只有行满秩矩阵时才有,伪逆则是在行列都不满秩时求解一个近似的逆矩阵。伪逆并不能将原始矩阵的操作完全恢复,会有信息丢失。行满秩也可以求右伪逆,列满秩也可以求左伪逆。

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
很高兴能帮到你~
点赞
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示