基于QR分解与Jacobi方法的SVD分解

本文探讨了基于QR分解的奇异值分解(SVD)方法,指出其在求解双对角矩阵奇异值时的高效性。接着介绍了经典双边和单边Jacobi方法,强调其数值稳定性和正交性。针对经典Jacobi方法的效率问题,提出了改进策略,包括按顺序变换、设置门限阈值和优化数据交换序列。并行单边Jacobi方法通过列块划分和特定数据交换序列提高计算效率。文章最后讨论了并行计算在SVD中的应用,并比较了矩阵特征值与奇异值的异同,强调奇异值分解能独立展现线性变换的旋转、缩放和投影效应。
摘要由CSDN通过智能技术生成

基于QR分解方法的SVD分解:

矩阵的 SVD 分解并不唯一。主要的并行算法子程序都是基于经典求解矩阵奇异值的串行方法而实现的。

基于 QR 迭代求解矩阵奇异值的方法,是求解双对角矩阵所有奇异值最快速的算法,求解出的奇异值可以达到较高的相对精度;

分而治之方法,它是求解全部矩阵奇异值和奇异向量速度很快的算法,但是当求解微小的奇异值时,往往不能保证很高的相对精度,对于一般应用来说,分而治之算法求解出的奇异值已经足够精确;

对分法和逆迭代方法,它求解矩阵奇异值可以保证奇异值达到较高的相对精度,但是求解出的奇异向量偶尔会损失正交性;

Jacobi 方法,该方法求解出的矩阵奇异值拥有较高的相对精度、求解出的奇异向量正交性好、有较强的数值稳定性,并且算法实现简单有利于并行,成为求解矩阵奇异值问题中一个活跃的研究课题。

参考:徐士良C常用算法程序集(第二版)
机器学习之旅—奇异值分解

这里写图片描述
这里写图片描述
这里写图片描述

设矩阵 ARm×n ,对于矩阵 A 的SVD分解的时间复杂度在 m 大于n 的情况下,为 O(m×n2)

基于Jacobi方法的SVD分解

经典(双边)Jacobi方法:

由SVD分解的形式: A=UΣVT 可得, ATA=VΣ2VT VT(ATA)V=Σ2 为对角阵,所以正交矩阵 V 为A的右奇异向量,也为 ATA 的特征向量,

同理可得:矩阵 U 为矩阵 A 的左奇异向量,也为 AAT 的特征向量。

因此双边Jacobi方法的核心思想是:将对称矩阵 ATA 转化为对角矩阵,其转化矩阵即为右奇异矩阵 V

步骤:选择Jacobi矩阵 J ,类似Givens矩阵 G (标准正交矩阵), J=GT
这里写图片描述

Jacobi 矩阵可以将 i 行 j 行与 i 列 j 列的四个角点上的元素进行正交变换, 使非对角线上的元素 Ai,j 化为0,将矩阵 A 经过右连乘 Ji,j 矩阵将上对角线元素全部化为0,并 左连乘 Gi,j 矩阵将下对角线元素全部化为0(数值计算中可能为一个很小的数字也可),矩阵 A 为对称矩阵, Ai,j=Aj,i

JTk...JT2JT1(ATA)J1J2...Jk=Λ=Σ2

因此右奇异矩阵 V=J1J2...Jk ,标准正交阵的连乘也为标准正交阵;

奇异值 σ 为对角阵 Λ 的对角元素的开方,选择非零奇异值对应的特征向量 Vi 按奇异值大小排列;

根据公式 Ui=AViσ<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值