奇异值分解(SVD)的简单理解

奇异值分解

将一个矩阵 A A A进行奇异值分解可以得到三个矩阵, U U U Σ \Sigma Σ V T V^{T} VT,表示如下:

A = U Σ V T A = U\Sigma V^{T} A=UΣVT

用MATLAB对矩阵A做奇异值分解只需要一行命令:[U,S,V] = svd(A)

U U U Σ \Sigma Σ V V V矩阵的理解

  • U U U矩阵

    U U U是一个正交矩阵, U U U矩阵的直觉理解是:将 A A A矩阵的基向量转换成span相同空间的两两正交的单位基向量(正交基)

    所以 U U U矩阵满足: r a n g e ( c o l ( U ) ) = r a n g e ( c o l ( A ) ) range(col(U)) = range(col(A)) range(col(U))=range(col(A)),即 U U U的列向量和 A A A的列向量有相同的range

    关键词:转换

  • Σ \Sigma Σ矩阵

    Σ \Sigma Σ是一个“对角阵”(不一定是方阵), Σ \Sigma Σ矩阵的直觉理解是: U U U矩阵的每个基向量方向的权重是多大,权重大小按 Σ \Sigma Σ矩阵的左上角至右下角递减

    关键词:加权

  • V V V矩阵

    V V V是一个正交矩阵, V V V矩阵的直觉理解是:用什么样的组合方式,将经过 Σ \Sigma Σ加权后的正交基(即 U U U矩阵的列向量)重新组合成 A A A矩阵的列向量

    A = U Σ V T A = U\Sigma V^{T} A=UΣVT可得 A T = V Σ U T A^{T} = V\Sigma U^{T} AT=VΣUT,所以 V V V矩阵满足: r a n g e ( c o l ( V ) ) = r a n g e ( r o w ( A ) ) range(col(V)) = range(row(A)) range(col(V))=range(row(A)),即 V V V的列向量和 A A A的行向量有相同的range

    关键词:组合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值