SVD分解正确分解流程

本文揭示了SVD分解中常见错误的根源,通过一个具体的矩阵A=[4,-3,4;3,0,3]示例,指出网上流传的分解步骤可能导致结果不正确。错误在于未确保Σ的元素为正平方根。正确的SVD分解步骤包括计算AT∗A的特征向量和特征值,选择其特征向量组成V,然后求非零特征值的正平方根填充到Σ的对角元,最后通过AV=UΣ求解得到满足条件的U。" 114523809,10420350,FastJson parseObject 错误处理:期待{,实际字符串,"['Java', 'JSON处理', 'Gson', '字符串操作']
摘要由CSDN通过智能技术生成

SVD分解
网上大多的SVD分解流程会是这种,写出这种流程的博客、知乎也好,基本上应该都是东抄抄西抄抄,未在实际中使用或者在实际使用中发现问题也没解决?

网上常见的分解流程:
A = U Σ V T A=U\Sigma V^T A=UΣVT

  • 1、计算 A T ∗ A A^T*A ATA A ∗ A T A*A^T AAT的值;
  • 2、分别 A T ∗ A A^T*A ATA A ∗ A T A*A^T AAT特征向量及其特征值;
  • 3、 A ∗ A T A*A^T AAT 的特征向量组成 U;而 A T ∗ A A^T*A ATA 的特征向量组成 V;
  • 4、 A ∗ A T A*A^T AAT A T ∗ A A^T*A ATA特征根是相等的,对非零特征值求平方根,对应上述特征向量的位置,填入 Σ 的对角元。

上述问题:
例如下面的矩阵A= [ 4 4 − 3 3 ] \begin{bmatrix} 4&4\\ -3&3\\ \end{bmatrix} [4343]对齐进行SVD分解

  • A T ∗ A A^T*A ATA = [ 4 − 3 4 3 ] ∗ [ 4 4 − 3 3 ] = [ 25 7 7 25 ] \begin{bmatrix} 4&-3\\4&3\\\end{bmatrix} * \begin{bmatrix} 4&4\\-3&3\\\end{bmatrix}=\begin{bmatrix} 25&7\\7&25\\\end{bmatrix} [4433
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值