跳到主要内容
研究文章
开放式访问

算法1043:具有动态移位的快速随机SVD

出版:2024年6月28日 出版历史

摘要

为了为实际应用中的大型稀疏矩阵(即计算少数最大奇异值和相应奇异向量)提供一种快速方便的截断奇异值分解算法,采用了动态移位幂迭代技术来提高随机奇异值分解方法的精度。这将导致d日麦克风第页基于ifts的随机化SVD公司(dashSVD)算法,它还与处理稀疏矩阵的技能协作。dashSVD算法中包含一种精度控制机制,用于以可忽略的开销近似监测计算出的奇异向量的每向量误差界。对实际数据的实验验证,dashSVD算法大大提高了随机SVD算法的精度,或通过较少的矩阵传递达到相同的精度,并为随机SVD计算提供了一种有效的精度控制机制,同时演示了在运行时和并行效率方面的优势。证明了随机奇异值分解(SVD)用移位幂迭代逼近误差的界。

1引言

在机器学习和数据挖掘中,截断奇异值分解即计算几个最大奇异值和相应的奇异向量,广泛应用于降维、信息检索、矩阵补全等领域[14,16,29]. 截断SVD计算最优低秩近似和主成分分析具体来说,顶部奇异向量\(\textbf{u}_{1}\)矩阵的A类提供了顶部主成分,它反映了内部最大方差的方向A类. The\(i)第th个左奇异向量\(\textbf{u}_{i} \)提供了\(i)第th主分量,其反映与所有较高主分量正交的最大方差的方向。
然而,对于来自社交网络分析、自然语言处理和推荐系统的大而高维输入数据,计算相应矩阵的截断SVD往往会消耗大量的时间和内存。对于通常非常稀疏的大型数据矩阵,计算截断SVD的首选方法是使用奇异值分解在MATLAB中[8].奇异值分解在一般情况下,与奇异值分解像lansvd[23]. 为了解决计算大型稀疏数据的截断奇异值分解的困难,人们提出了各种算法[6,16,18,25,29,33,34]. 它们消耗较少的计算资源,但通常会导致一些精度损失。在这些算法中,基于随机嵌入的随机方法通过乘以随机矩阵[27]获得了很多关注。随机方法生成矩阵的近最优截断奇异值分解,同时与经典方法相比具有性能优势(如运行时更少、矩阵传递更少、并行性更好等)。因此,随机方法非常适合只需要低精度SVD的场景,如机器学习领域。有关相关技术和理论的更多分析,请参阅[18,27].
在这项工作中,我们的目标是提供一种在多核计算机上高效计算大型稀疏矩阵的截断奇异值的算法。灵感来自功率法中的换档技术[17],我们开发了一个基于动态移位的随机SVD(dashSVD)提高随机SVD计算效率的算法。还开发了一种有效的精度控制方案,并将其集成到dashSVD算法中。我们的主要贡献和成果如下。
为了加快随机SVD算法的速度,提出了一种在移位功率迭代中设置移位值的动态方案。它提高了结果的准确性或减少了幂迭代次数以获得相同的精度。将该方案与处理稀疏矩阵的加速技巧相结合,我们进一步开发了dashSVD算法。
基于每矢量误差(PVE)标准[29]开发了一种高效的精度控制机制,并将其集成到dashSVD算法中。它解决了设置合适功率参数的困难\(p\)并根据基于PVE边界的精度准则自动终止幂迭代。
对真实数据的实验验证了这些技术的效率,表明dashSVD比最先进的算法运行得更快,可以获得不太高的精度(例如PVE错误\(\epsilon_{\textrm{PVE}}\geq10^{-2}\)),内存使用量相当。在数据集uk-2005上,dashSVD运行3.2\(\次\)LanczosBD公司阿尔戈蒂姆奇异值分解达到PVE误差对应的精度\(\epsilon_{\textrm{PVE}}=10^{-1}\)使用串行计算并运行4.0\(\次\)比PRIMME-SVDS算法更快[34]使用八个线程进行并行计算。实验还表明,dashSVD比现有的快速SVD算法更健壮[23,34].
需要注意的是,在这项工作中,我们只考虑了随机SVD在共享内存机器上的有效实现。它在分布式内存并行环境中的高效实现也很有趣[30]. dashSVD的代码在GitHub上共享(https://github.com/THU-numbda/dashSVD).
本文的其余部分结构如下。第2节介绍了基于随机嵌入的随机奇异值分解的基础知识和最新的截断奇异值分解算法。第3节,我们提出了dashSVD算法,以及在移位功率迭代中设置移位值的动态方案和基于PVE准则的精度控制机制。性能分析的数值实验见第4节最后,我们得出结论。更多的理论证明和实验结果见附录AB类.

1.1相关工作

基本的随机SVD算法在[18]其中,采用幂迭代技术来提高精度,同时牺牲计算时间。后来提出了一些工作来加速它。减少了幂迭代中的正交归一化量,并且特征值分解用于更快地计算经济奇异值分解,但几乎不牺牲数值稳定性[33]. Li等人提出用LU分解代替幂迭代中正交归一化的QR分解[25],以减少计算时间。Erichson等人在图像和视频处理问题中使用了随机SVD算法的一种变体,以及一些加速技巧[10]. 后来,一种称为frPCA的算法[16]被提议与[10,25,33]并专门用于加速截断(顶部-\(k\))大型稀疏矩阵的奇异值分解计算。
作为幂迭代的替代方法,块Krylov迭代技术也提高了随机奇异值分解的精度。与功率迭代算法相比,该算法占用的CPU时间更少,从而达到相同的精度[29]但会消耗更大的内存。SLEPc输入[21]是在分布式和共享内存环境中计算SVD和广义SVD的有效库。PRIMME_SVS英寸[34]基于特征值包PRIMME[32]并且可以有效地计算最大和最小奇异值,在计算截断SVD时比SLEPc更有效。中的LazySVD[6]基于Lanczos过程。它缺乏精度控制,只计算左奇异向量。

2初步

在本文中,我们使用MATLAB中的约定来指定矩阵和函数的索引。

2.1截断SVD的基本原理

矩阵的经济奇异值分解\(\textbf{A}\in\mathbb{R}^{m\次n}\)(\(m\geq n))是
\开始{align}\textbf{A}=\textbf{U}\boldsymbol{\Sigma}\mathbf{V}^{\mathrm{T}},结束{align{
(1)
哪里\(\textbf{U}=[\textbf{u}_{1} ,\textbf{u}_{2} ,\cdot,\textbf{u}_{n} ]\)\(\textbf{V}=[\textbf{v}(v)_{1} ,\textbf{v}(v)_{2} ,\cdot,\textbf{v}(v)_{n} ]\)是包含左奇异向量和右奇异向量的矩阵A类分别为。\(\bf{\Sigma}\)是一个\(n次n次)包含奇异值的对角矩阵(\(\西格玛{1}、\西格马{2}、\cdot、\西格玛{n}))第页,共页A类按降序排列。\(\{\textbf{u}_{i} ,\textbf{v}(v)_{i} ,\sigma{i}\}\)被称为\(i)第个单数三元组,以及\(\sigma{i}(\cdot)\)也表示\(i)第个最大奇异值。发件人方程式(1),可以获得的截断SVDA类
\开始{align}\textbf{答}_{k} =\textbf{U}(U)_{k} \boldsymbol{\Sigma}_{k}\textbf{垂直}_{k} ^{\mathrm{T}},{}{}k<\min(m,n),\end{align}
(2)
哪里\(\textbf{U}(U)_{k} \)\(\textbf{垂直}_{k} \)是带有第一个的矩阵\(k\)列,共列U型V(V)和对角线矩阵\(\bf{\Sigma}_{k}\)\(k\乘以k\)的左上子矩阵\(\bf{\Sigma}\)。请注意\(\textbf{答}_{k} \)是最好的排名-\(k\)近似A类在谱范数和Frobenius范数中[15].奇异值分解在MATLAB中,基于Lanczos双对角化过程和一种增强的重新启动方案,该方案降低了存储成本并确保了准确性[8].奇异值分解已被广泛视为计算截断奇异值分解的标准工具。

2.2带幂迭代的随机SVD算法

基本随机SVD算法[18]可以描述为算法1,其中\(\bf{\Omega}\)是高斯i.i.d随机矩阵,可通过调用打包QR分解来实现正交归一化操作“orth(●)”。步骤3到步骤5中的幂迭代是为了提高结果的准确性,其中执行正交归一化以减轻浮点计算中的舍入误差。在这里,我们使用在每隔一次矩阵-矩阵乘法之后执行正交归一化的技巧,以节省计算成本,而精度损失很小[16,33]与每次矩阵相乘后进行正交归一化相比[18].
算法1带幂迭代的基本随机奇异值分解
输入:  \(\mathbf{A}\in\mathbb{R}^{m\次n}\),秩参数\(k\),过采样参数\(\),功率参数\(p\)
输出:  \(\mathbf{U}\in\mathbb{R}^{m\次k}\),\(\mathbf{S}\in\mathbb{R}^{k\次k}\),\(\mathbf{V}\in\mathbb{R}^{n\times k}\)
1:   \(l=k+s),\(\bf{\Omega}=\mathrm{randn}({\it{n,\l}})
2:   \(\mathbf{Q}=\mathrm{orth}(\mathbf{A}\bf{\Omega})\)
3:   对于 \(j=1,2,\cdots,p\) 
4:      \(\mathbf{Q}=\mathrm{orth}(\mathbf{AA}^\mathrm{T}\mathbf{Q})\)
5:   结束 对于
6:   \(\mathbf{B}=\mathbf{Q}^{\mathrm{T}}\mathbf1{A}\)
7:   \([\mathbf{U},\mathbf{S},\tathbf{V}]=\mathrm{svd}(\tathbf{B},\fathrm{'econ'})\)
8:   \(\mathbf{U}=\mathbf1{Q}\mathbf2{U}(:,1\!:\!k),\mathbf{S}\!=\!\mathbf{S}(1\!:\!k,1\!\mathbf{V}(:,1\!:\!k)\)
如果没有幂迭代\(m\乘以l\)正交矩阵\(\textbf{Q}=\mathrm{orth}(\textbf{A}\bf{\Omega})是主子空间基的近似\(范围(\textbf{A})\)即。,\(span\{\textbf{u}_{1} ,\textbf{u}_{2} ,\cdot,\textbf{u}_{l} \}\)因此,\(\textbf{A}\近似\textbf{QQ}^{\mathrm{T}}\textbv{A}=\textbf-QB}\)根据步骤6。当经济SVD在短期和短期内执行时\(l!\次\!n\)矩阵B类,的近似截断SVDA类最终得到。使用幂迭代,可以获得\(\textbf{Q}=\mathrm{orth}((\textbf{AA}^{\mathrm{T})^{p}\textbf{A}\bf{\Omega})\),如果忽略中间正交化步骤。这使得更好地逼近的主子空间的基\(范围((\textbf{AA}^{\mathrm{T}})^{p}\textbf{A})\),与的相同\(范围(\textbf{A})\),因为\((\textbf{AA}^{\mathrm{T}})^{p}\textbf{A}\)的奇异值比A类[18]. 因此,计算出的奇异三元组更准确,并且更大\(p\)结果更准确,计算成本也更高。根据以下引理,即(3.3.17)和(3.3.18)in[22],我们可以推导提议1它显示了奇异值之间的关系A类以及通过以下公式计算的奇异值算法1.
引理1。
假设 \({\bf A}\),\({\bf C}\in\mathbb{R}^{m\次n}\).以下不等式适用于的递减序奇异值 \({{\bf A}}\),\({{\bf C}}\), \({{\bf AC}}^{\mathrm{T}}\) (\(1\leqi,j,i+j-1\leq\min(m,n))):
\开始{align}\sigma_{i+j-1}({{\bf-AC}}^{\mathrm{T}})\leq\sigma_{i}
(3)
\开始{align}\sigma{i+j-1}({{\bfA}}+{\bf C}})\leq\sigma{i}。\结束{对齐}
(4)
提议1。
假设 \({{\bf A}}\in\mathbb{R}^{m\次n}\) \({{\bf Q}}\in\mathbb{R}^{n\times l}{}(l\leq\min(m,n)) 是正交矩阵。那么,
\开始{align}\sigma{i}({{\bf-AQ}})\leq\sigma{i}({{bf-A}},{}\textrm{表示任何}\{}i\leql{}。\结束{对齐}
(5)
证明。
我们将零列附加到以获得\(n倍m)矩阵\(\textbf{C}^{\mathrm{T}}=[\textbf{Q},\textbf{0}]\in\mathbb{R}^{n\times m}\).自是正交矩阵,\(\sigma_{1}(\textbf{C})=1\).根据方程式(3)在里面引理1,
\开始{align}\sigma{i}(\textbf{AC}^{\mathrm{T}})\leq\sigma{i}(\textbf{A})\sigma{1}(\textbf{C})=\sigma}(\T bf{A{)。\结束{对齐}
(6)
因为\(\textbf{AC}^{\mathrm{T}}\!=\![\textbf{AQ},\textbf{0}]\),对于任何\(i \leq l),\(\西格玛_{i}(\textbf{AQ})=\西格玛_{i}(\textbf{AC}^{\mathrm{T})\)然后,结合方程式(6)我们可以证明方程式(5). □
备注1
因为B类在的步骤6中算法1等于\(\textbf{B}^{\mathrm{T}}=\textbf{A}^{\tathrm{T}}\textbv{Q}\),提议1推断使用计算的奇异值算法1等于或小于其准确值,即。,\(\sigma_{i}(\textbf{B})\leq\sigma _{i{(\text bf{A})\)这说明,如文献所示,用随机SVD算法计算的奇异值曲线总是在奇异值的精确曲线之下。
对于稀疏矩阵A类,幂迭代花费了总时间的很大一部分,因为它涉及到稠密矩阵的操作。因此,在幂迭代中加速计算变得很重要。除了减少正交化的数量外,还使用了使用LU分解代替QR分解和基于EVD的SVD进行正交化的技巧。以及有效处理列数多于行数的矩阵以及允许奇数次传递的技术A类中开发了一种称为frPCA的算法[16]用于快速截断稀疏矩阵的SVD。然而,对于大多数奇异值衰减缓慢的实际稀疏矩阵,需要大量的幂迭代步骤才能获得满意的精度,并且缺乏有效的机制来确定幂参数\(p\).
下面我们使用浮点运算(flop)计算分析计算成本。假设\(C_{\mathrm{mul}}\),\(C_{\mathrm{qr}}\),以及\(C_{\mathrm{svd}}\)分别表示矩阵的浮点计数中的常数–矩阵乘法、QR分解和经济SVD。\(\mathrm{nnz}(\textbf{A})\)是中非零元素的数量A类根据程序算法1
\开始{align}\mathrm{FC}_{1} =(2p+2)C_\mathrm{mul}\mathrm{nnz}(\textbf{A})l+(p+1)C_\ mathrm{qr}毫升^{2} +C_\mathrm{svd}nl^{2}+C_\ mathrm{多}百万,\结束{align}
(7)
哪里\((2p+2)C_{mathrm{mul}}(\textbf{A})l\)反映矩阵-矩阵乘法A类,\((p+1)C_{\mathrm{qr}}ml^{2}\)反映了第2步和第4步中的QR分解,\(C_{\mathrm{svd}}nl^{2}\)反映步骤7中的经济SVD\(C_{\mathrm{mul}}mlk\)反映了步骤8中的矩阵-矩阵乘法。

2.3算法奇异值分解和PRIMME_SVDS

奇异值分解是计算截断奇异值分解的最健壮、最著名的工具,该工具基于Lanczos双对角化过程,并在[8]. 奇异值分解,奇异向量的相对残差
\开始{align}\max\limits_{i\leqk}\frac{\|\textbf{A}^{\mathrm{T}}\mathbf{\hat{u}}_{我}-\hat{\sigma}{i}\mathbf{\hat{v}}{i{{2}}{hat{\sigma}{ineneneep}\end{align}
(8)
计算以控制精度,其中\({\mathbf{\hat{u}}{i},\hat}\sigma}{i{,\mathbf{\hat{v}}{i})是计算的\(i)第个单数三元组。带有增强重启方案的Lanczos双对角化过程称为LanczosBD公司在MATLAB中。奇异值分解第一次跑步LanczosBD公司直到第一次\(k\)单数三胞胎方程式(8)小于预设公差。然后,一个或多个额外调用LanczosBD公司用于计算第一个\(k+1\)执行奇异三元组以确保奇异值分解因此,奇异值分解可以在几乎所有情况下生成准确的截断SVD。
最近,一个名为PRIMME_SVDS的高性能并行SVD解算器[34]已开发。对于矩阵A类,PRIMME_SVDS首次使用最先进的截断EVD库PRIMME[32]计算EVD\(\textbf{A}^{\mathrm{T}}\textbf{A}\)然后,将获得的结果用作输入向量,以求解的截断EVD\(\left[\begin{smallmatrix}\bf{0}&\textbf{A}^{mathrm{T}}\\textbf{A}&\bf}0}\end{smallmatrix}\\right]\)使用PRIMME,以确保计算出的奇异向量的准确性。特征向量和特征值的相对残差也用于PRIMME的精度控制,类似于方程式(8)在里面奇异值分解.

3具有动态移位的随机SVD

在本节中,我们首先介绍如何通过移位幂迭代和设置移位值的动态方案来提高随机SVD的精度。然后,我们讨论了精度控制的终止准则,并基于PVE准则设计了一种有效的算法。

3.1移位功率迭代和设置动态移位

计算\(\textbf{Q}=\textbf{AA}^{\mathrm{T}}\textbv{Q}\)在幂迭代中算法1与计算最大特征值和对应特征向量的幂方法相同\(\textbf{AA}^{\mathrm{T}}\)由于第二大特征值与最大特征值之比的减小,移位技巧可用于加速幂方法的收敛[17]. 这激发了在随机SVD算法的幂迭代中使用移位的想法。我们首先给出两个引理[17]用移位值导出功率迭代。
引理2。
对于对称实值矩阵 \({{\bf A}}\),其奇异值是其特征值的绝对值。对于任何特征值 \(\lambda\) 属于 \({{\bf A}}\),奇异值对应的左奇异向量 \(|\lambda|\) 是的归一化特征向量 \(\lambda\).
引理3。
假设矩阵 \({{\bf A}}\in\mathbb{R}^{n\timesn}\),还有一次换班 \(\alpha\in\mathbb{R}\).对于任何特征值 \(\lambda\) 属于 \({{\bf A}}\),\(\lambda-\alpha\) 是的特征值 \({{\bf A}}-\alpha{\bf-I}}\),哪里 \({{\bf I}}\) 是单位矩阵 \({{\bf A}}\) 对于 \(\lambda\) 与的特征空间相同 \({{\bf A}}-\alpha{\bf-I}}\) 对于 \(\lambda-\alpha\).
对于任何矩阵A类,\(\textbf{AA}^{\mathrm{T}}\)是对称半正定矩阵,因此其奇异值是其特征值,根据引理2.引理3说明了这一点\(\sigma_{i}(\textbf{AA}^{mathrm{T}})-\alpha\)是的特征值\(\textbf{AA}^{\mathrm{T}}\!-\!\alpha\textbf{I}\).和\(|\sigma_{i}(\textbf{AA}^{\mathrm{T}})\!-\!\阿尔法|\)是的奇异值\(\textbf{AA}^{\mathrm{T}}\!-\!\alpha\textbf{I}\)根据引理2.英寸算法1,衰减趋势最大\(l)处理矩阵的奇异值影响SVD结果的准确性。什么时候?\(\sigma_{i}(\textbf{AA}^{\mathrm{T}})-\alpha\gt 0\)对于任何\(i \leq l),它们是\(l)最大奇异值\(\textbf{AA}^{\mathrm{T}}-\alpha\textbf{I}\),它们明显表现出更快的衰变。以下命题说明了满足这些条件的时间。
提案2。
假设 \(0\lt\alpha\!\leq\!\sigma_{l}({{\bf A}}{{\b A}}^{\mathrm{T}})/2\) \(i \leq l).然后,\(\sigma_{i}({{\bf-AA}}^{\mathrm{T}}-\alpha{\bf i}}.此外,如果 \(\sigma{i}({{\bf-AA}}^{\mathrm{T}}-\alpha{\bf i}})\neq\sigma{l+1},对应于 \(i)第个最大奇异值 \({{\bf A}}{{\b A}}^{\mathrm{T}}\!-\!\alpha{\bfI}}\) 是对应于 \(i)第个最大奇异值 \({{\bf A}}{{\b A}}^{\mathrm{T}}\),反之亦然。
证明。
什么时候?\(0\lt\alpha\!\leq\!\sigma_{l}(\textbf{A}\textbf{A}^{mathrm{T}})/2\),我们可以推导\(2\alpha\leq\sigma_{l}(\textbf{AA}^{mathrm{T}})\(0\lt\alpha\leq\sigma_{l}(\textbf{AA}^{mathrm{T})-\alpha\)因此,\(\alpha-\sigma_{i}(\textbf{AA}^{mathrm{T}})\leq\alpha\leq\sigma_{l}(\textbf{AA}^{mathrm{T})-\alpha\)。对于任何\(i)
\开始{align}\ sigma_{i}(\textbf{AA}^{\mathrm{T}})-\alpha\leq\ sigma_{l}(\textbf{AA}^{\mathrm{T}})-\alpha。\结束{对齐}
(9)
然后,我们可以推导
\开始{align}|\sigma_{i}(\textbf{AA}^{mathrm{T}})-\alpha|\leq\sigma_{l}(\textbf{AA}^{mathrm{T}}
(10)
此外,对于任何\(i \leq l)我们可以推导
\开始{align}|\sigma_{i}(\textbf{AA}^{\mathrm{T}})-\alpha|=\sigma_{i{(\text bf{AA}^{\mathrm{T})-\alpha\geq\sigma{l}
(11)
请注意\(\sigma_{i}(\textbf{AA}^{\mathrm{T}})也是的特征值\(\textbf{AA}^{\mathrm{T}}\),以及\(|\sigma_{i}(\textbf{AA}^{\mathrm{T}})-\alpha|\)是一个奇异值\(\textbf{AA}^{\mathrm{T}}-\alpha\textbf{I}\)根据引理2因此,结合方程式(10)(11)我们可以看到\(|\sigma_{i}(\textbf{AA}^{\mathrm{T}})-\alpha|\),\(1),是\(l)最大奇异值\(\textbf{AA}^{\mathrm{T}}-\alpha\textbf{I}\),以及
\开始{align}\sigma{i}(\textbf{AA}^{\mathrm{T}}-\alpha\textbf{i})=\sigma{i}(\textbf{AA{^{\mathrm{T}})-\alfa{},{}\textrm{表示任何}\{}i\leql.\end{align{
(12)
引理2表明,对于任何\(i \leq l)对应于的左奇异向量\(\sigma_{i}(\textbf{AA}^{\mathrm{T}})与特征值的归一化特征向量相同\(\sigma_{i}(\textbf{AA}^{\mathrm{T}})属于\(\textbf{AA}^{\mathrm{T}}\),以及对应于的左奇异向量\(\sigma_{i}(\textbf{AA}^{mathrm{T}})-\alpha\)与特征值的归一化特征向量相同\(\sigma_{i}(\textbf{AA}^{mathrm{T}})-\alpha\)属于\(\textbf{AA}^{\mathrm{T}}-\alpha\textbf{I}\)。请注意\(\sigma_{i}(\textbf{AA}^{mathrm{T}}-\alpha\textbf{i})\neq\sigma{l+1}(\textbf{AA}^{mathrm{T}}-\ alpha\text bf{i})\)确保\(\sigma_{i}(\textbf{AA}^{\mathrm{T}}-\alpha\textbf{i})=\sigma_{i}(\textbf{AA}^{\mathrm{T}})-\alpha\)是仅存在于最大值中的值\(l)奇异值\(\sigma_{1}(\textbf{AA}^{mathrm{T}}-\alpha\textbf{I}),\cdots,\sigma{l}(\textbf{AA}^{mathrm{T}}-\ alpha\text bf{I}).根据引理3,特征空间\(\textbf{AA}^{\mathrm{T}}\)对于\(\sigma_{i}(\textbf{AA}^{\mathrm{T}})与的特征空间相同\(\textbf{AA}^{\mathrm{T}}-\alpha\textbf{I}\)对于\(\sigma_{i}(\textbf{AA}^{mathrm{T}})-\alpha\)对于任何\(i \leq l)因此,结合方程式(12)为任何\(i \leq l),对应于\(i)第个最大奇异值\(\sigma_{i}(\textbf{AA}^{\mathrm{T}})属于\(\textbf{AA}^{\mathrm{T}}\)是对应于\(i)第个最大奇异值\(\sigma_{i}(\textbf{AA}^{mathrm{T}})-\alpha\)属于\(\textbf{AA}^{\mathrm{T}}-\alpha\textbf{I}\)反之亦然。□
提议2这表明,如果我们选择换班\(0\lt\alpha\!\leq\!\sigma_{l}(\textbf{A}\textbf{A}^{mathrm{T}})/2\),我们可以更改计算\(\textbf{Q}=\textbf{AA}^{\mathrm{T}}\textbv{Q}\)\(\textbf{Q}=(\textbf{AA}^{\mathrm{T}}-\alpha\textbf{I})\textbf{Q}\)在幂迭代中,使用相同的近似支配子空间。我们称之为移位功率迭代。对于移位功率迭代的每一步,这使得主子空间的基的近似\(范围(\textbf{A})\)比执行原始幂迭代步骤的范围更大,因为\(\textbf{AA}^{\mathrm{T}}-\alpha\textbf{I}\)\(\textbf{AA}^{\mathrm{T}}\)因此,移位功率迭代可以提高具有相同功率参数的随机SVD算法的精度\(p\).然后,如何设置班次\(\字母\)剩下的问题是正确的。
算法2带有动态移位的随机SVD
输入:  \(\mathbf{A}\in\mathbb{R}^{m\次n}\),参数\(k\),\(\),\(p\)
输出:  \(\mathbf{U}\in\mathbb{R}^{m\次k}\),\(\mathbf{S}\in\mathbb{R}^{k\次k}\),\(\mathbf{V}\in\mathbb{R}^{n\times k}\)
1:   \(l=k+s),\(\bf{\Omega}=\mathrm{randn}({\it{n,\l}})
2:   \(\mathbf{Q}=\mathrm{orth}(\mathbf{A}\bf{\Omega})\),\(阿尔法=0)
3:   对于 \(j=1,2,\cdots,p\) 
4:      \([\mathbf{Q},\mathbf{hat{S}},\sim]=\mathrm{svd}{问}-\alpha\mathbf{Q},\mathrm{'econ})\)
5:      如果 \(\mathbf{\hat{S}}(l,l)\gt\alpha\) 然后 \(\alpha=\frac{\mathbf{\hat{S}}(l,l)+\alpha}{2}\)
6:   结束 对于
7:   \(\mathbf{B}=\mathbf{Q}^{\mathrm{T}}\mathbf1{A}\)
8:   \([\mathbf{U},\mathbf{S},\tathbf{V}]=\mathrm{svd}(\tathbf{B},\fathrm{'econ'})\)
9:   \(\mathbf{U}=\mathbf1{Q}\mathbf2{U}(:,1\!:\!k),\mathbf{S}\!=\!\mathbf{S}(1\!:\!k,1\!\mathbf{V}(:,1\!:\!k)\)
考虑奇异值比率从\(\frac{\sigma{i}(\textbf{AA}^{\mathrm{T}})}{\simma{j}(\textbf{AA}^{mathrm}){\)\(\frac{\sigma{i}(\textbf{AA}^{\mathrm{T}}-\alpha\textbf{i})}{\simma_{j},用于\(j)\(\西格玛_{j}(\textbf{AA}^{\mathrm{T}})\ gt \西格玛_{i}(\textbf{AA}^{\mathrm{T})\)。很容易看到\(\frac{\sigma{i}(\textbf{AA}^{\mathrm{T}}-\alpha\textbf{i}{\mathrm{T}})}\)如果假设\(\字母\)在里面提议2持有。的较大值\(\字母\),比率越小\(\frac{\sigma{i}(\textbf{AA}^{\mathrm{T}}-\alpha\textbf{i})}{\simma_{j},反映了奇异值更快的衰减。因此,为了最大限度地提高移位功率迭代对提高精度的影响,我们应该选择移位\(\字母\)在满足要求的同时尽可能大\(\alpha\leq\sigma_{l}(\textbf{AA}^{mathrm{T}})/2\)注意,计算\(\sigma_{l}(\textbf{A}\textbf{A}^{mathrm{T})直接是非常困难的。我们的想法是使用\(\textbf{A}\textbf{A}^{\mathrm{T}}\textbf{Q}\)在幂迭代中逼近\(\sigma_{l}(\textbf{A}\textbf{A}^{mathrm{T})并设置班次\(\字母\).假设\(\textbf{Q}\in\mathbb{R}^{m\次l}\)是的幂迭代中的正交矩阵算法1.根据提议1,
\begin{align}\sigma_{i}(\textbf{A}\textbf{A}^{\mathrm{T}}\textbf{Q})\leq\sigma_{i}(\textbf{A}\textbf{A}^{\mathrm{T}}){},\tquad{}\textrm{适用于任何}
(13)
这意味着我们可以设置\(\alpha=\sigma_{l}(\textbf{A}\textbf{A}^{mathrm{T}}\textbf{Q})/2\)以保证\(\字母\)在里面提议2用于执行移位功率迭代。进行正交归一化以减小舍入误差并计算\(\sigma_{l}(\textbf{A}\textbf{A}^{mathrm{T}}\textbf{Q})\),我们使用经济SVD实现“orth(●)”。这与使用QR分解具有相似的计算量,并且得到的左奇异向量矩阵包含相同子空间的正交基。
到目前为止,我们可以计算\(\字母\)在幂迭代的第一步,然后我们执行\(\textbf{Q}\!=\!(\textbf{AA}^{\mathrm{T}}-\alpha\textbf{I})\textbf{Q})在以下迭代步骤中。注意计算的奇异值\((\textbf{AA}^{mathrm{T}}-\alpha\textbf{I})\textbv{Q}\)很方便。然后,根据提议12,我们可以用\(0\lt\alpha\leq\sigma_{l}(\textbf{AA}^{mathrm{T})/2\)
\开始{align}\sigma_{i}((\textbf{A}\textbf{A}^{\mathrm{T}}\!-\alpha\textbf1{i})\textbf2{Q})+\alpha\leq\sigma_{i{(\textbf{A{A}\textbf{A}^{\tathrm{T}\!-\alpha\T extbf}i}A}^{\mathrm{T}}){},\quad{}\textrm{表示任何}\{}i\leql,\end{align}
(14)
其中说明了如何使用的奇异值\((\textbf{AA}^{mathrm{T}}\!-\!\alpha\textbf{I})\textbf{Q}\)到近似值\(\sigma_{i}(\textbf{A}\textbf{A}^{mathrm{T}})因此,在每个迭代步骤中,我们都可以获得shift和update的有效值\(\字母\)如果我们有更大的\(\字母\),以加快奇异值的衰减。
将移位幂迭代与动态更新方案相结合\(\字母\),我们推导了一种基于动态移位功率迭代的随机SVD算法算法2。在步骤5中,它检查\(\frac{\sigma{l}((\textbf{A}\textb5{A}^{mathrm{T}}\!-\alpha\textbf{I})\mathbf{Q})+\alpha}{2}\)大于\(\字母\).对于相同的功率参数设置\(p\),算法2计算时间与算法1(用SVD代替高瘦矩阵的QR),但产生的结果具有更好的准确性。对于矩阵用计算算法2,我们导出了\(\|\textbf{Q}\textbf{Q}^{\tathrm{T}}\textbf{答}-\文本框{A}\|\),这反映了计算出的截断SVD接近最优值的程度。
定理1。
假设 \({\bf A}}\in\mathbb{R}^{m\times n}{}(m\geq n)\), \(k\),\(\), \(p\) 中的参数是吗算法2.\(l=k+s \leq n-k), \({{\bf Q}}\) 大小 \(m\乘以l\) 是获得的正交矩阵算法2.如果是正整数 \(j \lt k),和实数 \(测试版),\(伽玛射线1) 令人满意的 \(φ=\) \(压裂{1}{\sqrt{2\pi(l-j+1)}}\左(压裂{e}{(l-j+1)\beta}\右)^{l-j+1}+\frac{1}}{4\伽马(\gamma^{2}-1)}\左(frac{1}{\sqrt{pi(n-k)}})^{2}-1}}\右)^{n-k}+\frac{1}{\sqrt{\pil}}\左(\frac{2\gamma^{2}}{e^{\gamma^{2}-1}}\右)^{l}\右)\leq 1\),然后
\开始{align}(对齐)!{{\bf A}}\ |\leq&2\sqrt{左(2l^{2}\beta^{2{2}\gamma^{2neneneep \prod_{c=1}^{p}\左(\frac{\sigma{j+1}^{2}\!-\!\alpha{c}}{\simma{j}^{2}-\字母{c}}\右)^{2}\!+\!1\右)\sigma{j+1}^{2}+\左(2l(n\!-\!k)\beta^{2{2}\gamma^2}\prod_{c=1}^{p}\left(\frac{\sigma{k+1}^{2}\!-\^{2}-\字母{c}}\右)^{2}\!+\!1\右)\sigma_{k+1}^{2}},\end{align}
(15)
概率不小于 \(1-\phi\),哪里 \(\字母{c}\) 表示中的移位值 \(c)中的第个移位功率迭代算法2 \(σ{j}) 表示 \(j)第个最大奇异值 \({{\bf A}}\).
备注2
\(\phi\)可以是一个小值方程式(15)小于导出的值[31]对于使用基本随机SVD算法计算(请参见附录A).
算法2可以与更多技能协作,在处理稀疏矩阵的同时实现进一步的加速。首先,我们可以在步骤2、4和8中使用EVD计算身高和瘦矩阵的经济SVD或正交基。这求助于中的eigSVD算法[16],如中所述算法3。该算法与[16]但以正确的顺序输出奇异值。“eig(●)”计算EVD。“rot90”(S公司,2)”是旋转的函数S公司180°和“\(\mathrm{fliplr}(\cdot)\)“第4步是从左到右翻转数组或矩阵的函数。因此,奇异值按降序排列,而与之对应的奇异向量位于正确的位置。其次,对于\(\textbf{A}\in\mathbb{R}^{m\次n}\)具有\(m\gt n\),计算的SVD更有效\(\textbf{A}^{\mathrm{T}}\)具有算法2因此,对于具有\(m\geq n)\(n \geq m)分别是。具有的矩阵的版本\(m\geq n)如所述算法4,如果我们替换A类具有\(\textbf{A}^{\mathrm{T}}\).
算法3 eigSVD
输入:稠密矩阵\(\mathbf{C}\in\mathbb{R}^{m\次n}\)(\(m\geq n))
输出:  \(\mathbf{U}\in\mathbb{R}^{m\次n}\),  \(\mathbf{S}\in\mathbb{R}^{n\timesn}\),  \(\mathbf{V}\in\mathbb{R}^{n\timesn}\)
1:   \([\mathbf{V},\mathbf1{D}]=\mathrm{eig}(\mathbf{C}^{\mathrm{T}}\mathbf2{C})\)
2:   \(\mathbf{S}=\mathrm{sqrt}(\mathbf{D})\)
3:   \(\mathbf{U}=\mathbf{C}\mathbf1{V}\mathbf{S}^{-1}\)
4:   \(\mathbf{U}=\mathrm{fliplr}(\mat血红蛋白{U})\),  \(\mathbf{V}=\mathrm{fliplr}(\mat血红蛋白{V})\),  \(\mathbf{S}=\mathrm{rot90}(\mat血红蛋白{S},2)\)
算法4基于动态移位的矩阵随机奇异值分解\(m\geq n)
输入:  \(\mathbf{A}\in\mathbb{R}^{m\次n}\),参数\(k\),\(\),\(p\)
输出:  \(\mathbf{U}\in\mathbb{R}^{m\次k}\),\(\mathbf{S}\in\mathbb{R}^{k\次k}\),\(\mathbf{V}\in\mathbb{R}^{n\times k}\)
1:   \(l=k+s),\(\bf{\Omega}=\mathrm{randn}({\it{m,\l}})
2:   \([\mathbf{Q},\sim,\sim]=\mathrm{eigSVD}(\mathbf{A}^\mathrm{T}\boldsymbol{\Omega})\),\(阿尔法=0)
3:   对于 \(j=1,2,\cdots,p\) 
4:      \([\mathbf{Q},\mathbf{\hat{S}},\sim]=\mathrm{eigSVD}(\mathbf1{A}^\mathrm{T}(\ mathbf}A}\mathbf2{Q})-\alpha\mathbf2(Q}))
5:      如果 \(\mathbf{\hat{S}}(l,l)\gt\alpha\) 然后 \(\alpha=\frac{\mathbf{\hat{S}}(l,l)+\alpha}{2}\)
6:   结束 对于
7:   \(\mathbf{B}=\mathbf{AQ}\)
8:   \([\mathbf{U},\mathbf{S},\mathbf{V}]=\mathrm{eigSVD}(\mathbf{B})\)
9:   \(\mathbf{U}=\mathbf{U}(:,1\!:\!k),\mathbf{S}\!=\!\mathbf{S}(1\!:\!k,1\!\mathbf{Q}\mathbf}(:,1\!:\!k)\)
假设\(p\)执行幂迭代以达到一定的精度,并且\(C_{\mathrm{eig}}\)表示EVD触发器计数中的常数。的失败次数算法4
\开始{align}\mathrm{FC}_{4} =(2p\!+\!2)C_{\mathrm{mul}}\textrm{nnz}(\textbf{A})l\!+\!(p\!+\!1)(2C_{mathrm{mul}}nl^{2}\!+!C_{mathrm{eig}}l^{3})\+2C_{\mathrm{mul}}ml^{2}\!+\!C_{\mathrm{eig}}l^{3}\!+\!pC_{\mathrm{mul}}nl\!+\!C_{\mathrm{mul}}nlk,\end{align}
(16)
哪里\((2p\!+\!2)C_{mathrm{mul}}\textrm{nnz}(\textbf{A})l\)反映了\(2p\!+\!2\)times matrix–矩阵乘法A类,\(((p\!+\!1)\) \((2C{\mathrm{mul}}nl^{2}\!+!C{\mathrm{eig}}l^{3})\)反映在上执行eigSVD\(n次l次)矩阵\(p\!+\!1\)次,\(2C{\mathrm{mul}}ml^{2}\!+!C{\mathrm{eig}}l^{3}\)在矩阵上反映一次eigSVDB类,\(pC_{\mathrm{mul}}nl\)反映执行操作”\(-\alpha\textbf{Q}\)“用于\(p\)时间,以及\(C_{\mathrm{mul}}nlk\)反映矩阵-要生成的矩阵乘法V(V)从中我们可以看出算法4\(O(pl\textrm{nnz}(\textbf{A})+pnl ^{2})\)对于\(m\次n\)矩阵A类具有\(m\geq n).的空间复杂性算法4是关于\(O((2m+n)l+\textrm{nnz}(\textbf{A})),因为峰值内存使用发生在步骤8。因为\(C_{\mathrm{qr}}\)\(C_{\mathrm{svd}}\)\(C_{\mathrm{mul}}\),我们可以清楚地看到\(\mathrm{FC}_{4} \lt\mathrm公司{FC}_{1}\)什么时候\(m\geq n)\(n \gg l),这反映了算法4.

3.2基于PVE界限的精度控制

理论研究表明,具有幂迭代的随机奇异值分解产生了秩-\(k\)近似接近最优。在谱范数(或Frobenius范数)下,计算结果(\(\hat{\textbf{U}}\),\(\hat{\bf{\Sigma}}\),以及\(\hat{\textbf{V}}\))以高概率满足以下乘法保证
\开始{align}\|\textbf{答}-\hat{\textbf{U}}\hat{\boldsymbol{\Sigma}}\hart{\ttextbf{V}}^{mathrm{T}}\|\leq(1+\epsilon)\|\textbf{答}-\文本bf{答}_{k} \ |,\结束{align}
(17)
哪里\(在(0,1)中为ε)是一个畸变参数。年提出的另一项担保[29]在机器学习问题中更有意义的是
\开始所有i\leqk的{align}\,{}{}|\textbf{u}_{i} ^{\mathrm{T}}\textbf{A}\textbf{A}^{\mathrm{T}}\textbf{u}_{我}-\帽子{\textbf{u}}_{i}^{\mathrm{T}}\textbf{A}\textbf{A}^{\tathrm{T}}\hat{\textbf2{u}{i}|\leq\epsilon\sigma{k+1}(\textbf{A})^{2},\end{align}
(18)
哪里\(\textbf{u}_{i} \)\(i)的第个左奇异向量A类,以及\(\hat{\textbf{u}}_{i}\)是计算的\(i)th左奇异向量。这称为奇异向量的PVE界。在[29],证明了\((1+\epsilon)\)错误绑定于方程式(17)可能无法保证计算出的奇异向量的准确性。相反,每矢量保证方程式(18)要求每个计算出的奇异向量捕获与对应的精确奇异向量几乎相同的方差,从而保证主成分在主成分分析中的准确性。请注意,较小的\(\ε\)在里面方程(17)(18)即,随机SVD算法中需要更多的幂迭代才能满足相应的精度保证。
在现有的随机SVD研究中,功率参数\(p\)(或传递参数)假定在前面已知。为了达到一定的准确性,可以进行多次检查,以找到合适且不太大的\(p\)。这会带来大量计算成本。因此,如何自适应有效地确定应该执行多少次幂迭代以确保计算出的奇异值分解具有一定的准确性是一个值得关注的问题。
有不同的标准来评估SVD的准确性,例如方程式(8)以及从PVE结合中导出的。下面我们发现,如果与PVE准则协作,我们可以开发出一种具有精度控制的高效随机SVD算法。PVE绑定方程式(18)可以近似表示为
\开始{align}\表示所有i\leqk,{}{}\frac{|\hat{\sigma_{i}}^{(j)}(\textbf{A})^{2}-\帽子{\sigma{i}}^{(j-1)}(\textbf{A})^{2}|}{\hat{\simma}_{k+1}^{(j)}
(19)
哪里\({\sigma}_{i}(\textbf{A}))表示计算的\(i)th奇异值和上标\((j)\)表示计算值\(p=j)“tol”代表误差容限。这个公式(19)是精度控制的近似PVE标准,“tol”应该由用户指定。适当设置“tol”通常可以确保PVE结合方程式(18)具有\(\ε\)与我们的实验所示的“tol”相当。相反,\(p\)无法深入了解错误,不同情况下差异很大。中的近似标准方程式(19)基于估计的误差\(\hat{\sigma_{i}}^{(j-1)}(\textbf{A})^{2}\)通过考虑\({\sigma_{i}}^{(j)}(\textbf{A})^{2}\)作为准确的结果。此技巧是控制截断EVD计算精度的传统方法[17]并已用于其他具有迭代步骤的数值方法[20]. 请注意,根据方程式(8)(17)这会导致实现上的困难,因为它需要对大型矩阵进行昂贵的计算。
上述PVE准则的思想导出了一种具有精度控制的随机SVD算法。简单的实现移动了矩阵的生成和SVD\(\textbf{B}=\textbf{Q}^{\mathrm{T}}\textbf-{A}\)然后对终止准则进行检查。下面我们开发了一种更有效的方法来实现PVE准则的精度控制。
提案3。
假设矩阵 \({{\bf A}}\!\in\!\mathbb{R}^{m\次n}\),正交矩阵 \({{\bf Q}}\in\mathbb{R}^{{m\次l}}\) 和正值 \(\字母\) 是中执行步骤4之前的数量算法2那么,对于任何 \(i \leq l),
\开始{align}\sigma{i}。\结束{对齐}
(20)
证明。
对于任何\(i \leq l),根据方程式(3)在里面引理1,
\begin{align}\ sigma_{i}(\textbf{Q}^{\mathrm{T}}\textbf{A})^{2}=\ sigma_{i}(\textbf{Q}^{\mathrm{T}}\textbf{A}\textbf{A}^{\mathrm{T})和\ leq\ sigma_{i}(\textbf{Q}^{\mathrm{T}}}\textbf{A}^{\mathrm{T}})\ sigma_{1}(\textbf bf{Q})=\sima_{i}(\textbf{AA}^{\mathrm{T}}}\textbf{Q})。\结束{对齐}
(21)
根据方程式(4)在里面引理1,我们可以推导
\begin{align}\ sigma_{i}(\textbf{A}\textbf{A}^{\mathrm{T}}\textbf{Q})&=\ sigma_{i}(\textbf{A}\textbf{A}^{\mathrm{T}}\textbf{问}-\alpha\textbf{Q}+\alpha\text bf{Q})\leq\sigma_{i}(\textbf{AA}^{mathrm{T}}\textbv{问}-\alpha\textbf{Q})+\alpha,\end{align}
(22)
并且根据方程式(14)我们推导
\开始{align}\sqrt{\sigma_{i}(\textbf{AA}^{mathrm{T}}\textbf{问}-\alpha\mathbf{Q})+\alpha}\!\leq\!\sqrt{\sigma_{i}(\textbf{AA}^{\mathrm{T})}\!=\!\西格玛{i}(\textbf{A})。\结束{对齐}
(23)
因此,结合方程式(21)(23)产生命题3。□
根据提案3,\(\sqrt{\sigma_{i}(\textbf{AA}^{mathrm{T}}\textbf{问}-\alpha\textbf{Q})+\alpha}\)更接近\(\sigma_{i}(\textbf{A})\)\(\sigma_{i}(\textbf{Q}^{\mathrm{T}}\textbf{A})这是用少一步的幂迭代计算出的奇异值。因此,\(\sigma_{i}(\textbf{AA}^{mathrm{T}}\textbf{问}-\alpha\textbf{Q})+\alpha\)可以被视为\(hat{\sigma\{i}}(\textbf{A})^{2}\),因为前者在算法2.将其替换为方程式(19)我们可以导出dashSVD算法,其版本适用于\(m\geq n)描述为算法5这里,精度控制的第5步花费的时间可以忽略不计,\(p_{max}\)是表示幂迭代次数上限的参数(即参数\(p\)),以及带有“\(\素数\)“是最后一个迭代步骤中的数量。算法4也是dashSVD算法的一个版本;它只是不包括精度控制。最后一小节末尾的计算复杂性分析也适用于dashSVD算法(算法5).
算法5带有PVE精度控制的DashSVD
输入:  \(\mathbf{A}\in\mathbb{R}^{m\次n}\)(\(m\geq n)),参数\(k\),\(\),\(p_{max}\),误差容限tol
输出:  \(\mathbf{U}\in\mathbb{R}^{m\次k}\),\(\mathbf{S}\in\mathbb{R}^{k\次k}\),\(\mathbf{V}\in\mathbb{R}^{n\times k}\)
1:   \(l=k+s),  \(\bf{\Omega}=\mathrm{randn}({\it{m,\l}})
2:   \([\mathbf{Q},\sim,\sim]\!=\!\mathrm{eigSVD}(\mathbf{A}^\mathrm{T}\boldsymbol{\Omega})\),\(\alpha\!=\!\alpha^{\prime}\!=\!0\),  \(\hat{\mathbf{S}}^{\prime}\!=\!\mathrm{zeros}(l,1)\)
3:   对于 \(j=1,2,3,\cdots,p{max}) 
4:      \([\mathbf{Q},\mathbf{\hat{S}},\sim]=\mathrm{eigSVD}(\mathbf1{A}^\mathrm{T}(\ mathbf}A}\mathbf2{Q})-\alpha\mathbf2(Q}))
5:      如果 \(对于所有i\lek,~\frac{vert\hat{mathbf{S}}^\prime(i,i)+\alpha^\prime-\hat{mathbf{S}}(i,i)-\alpha\vert}{hat{mathbf{S6}},(k+1,k+1)+\alpha}\le\mathrm{tol}) 然后休息
6:      如果 \(\mathbf{\hat{S}}(l,l)\gt\alpha\) 然后 \(\alpha=\frac{\mathbf{\hat{S}}(l,l)+\alpha}{2}\)
7:      \(\hat{mathbf{S}}^{prime}=\hat}\mathbf}S}},~\alpha^\prime=\alpha\)
8:   结束 对于
9:   \(\mathbf{B}=\mathbf{AQ}\)
10:   \([\mathbf{U},\mathbf{S},\mathbf{V}]=\mathrm{eigSVD}(\mathbf{B})\)
11:   \(\mathbf{U}=\mathbf{U}(:,1:k)\),  \(\mathbf{S}=\mathbf{S}(1:k,1:k)\),  \(\mathbf{V}=\mathbf{Q}\mathbf1{V}(:,1:k)\)

4性能分析

所开发的算法在MATLAB中实现,也可以在C中使用英特尔数学内核库(MKL)[2]和OpenMP[7]多线程并行计算指令。一些代码遵循中的实现[,28]. 通过数值实验将其与现有的截断奇异值分解算法frPCA进行了比较[16]使用MKL以C编写[4],的LanczosBD公司在里面奇异值分解,以及用MKL用C编写的PRIMME_SVDS,MKL也调用PETSc[9]和MPI用于并行计算[5]. 我们首先验证了移位功率迭代的性能。然后,我们比较了基于SVD算法的动态移位(算法4)采用最先进的算法。最后,我们在dashSVD中验证了所提出的精度控制机制。对这些算法的准确性和效率进行了评估。考虑了四种用于评估准确性的误差度量。基于PVE界限方程式(18),第一个错误是\(\epsilon_{\textrm{PVE}}=\max_{i\leqk}\frac{|\textbf{u}_{i} ^{\mathrm{T}}\textbf{A}\textbf{A}^{\mathrm{T}}\textbaf{u}_{我}-\帽子{\textbf{u}}_{i}^{\mathrm{T}}\textbf{A}\textbf{A}^{\tathrm{T}}\hat{\textbf{u}{i}|}{\sigma_{k+1}(\textbv{A})^{2}\)。在中称为“瑞利(最后)”公制[6]. 基于中的相对残差方程式(8),我们定义\(\epsilon_{\textrm{res}}=\max_{i\leqk}\frac{\|\textbf{A}^{\mathrm{T}}\mathbf{\hat{u}}_{我}-\hat{\sigma}_{i}\mathbf{\hat{v}(v)_{i} }\|_{2}}{\sigma_{i}(\textbf{A})}\)其测量奇异三元组的精度。注意,当计算结果是奇异三元组而不是前导的奇异三元组时,\(\epsilon_{\textrm{res}}\)也可以很小。这意味着\(\epsilon_{\textrm{res}}\)这可能不是一个好标准。奇异值分解避免了以下问题\(\epsilon_{\textrm{res}}\)通过执行额外的调用LanczosBD公司对于\(k+1\)单数三胞胎。第三个指标是\(\epsilon_{\textrm{spec}}=\frac{\|\textbf{答}-\mathbf{hat{U}}\bf{hat{Sigma}}\mathbf{hat{V}}^{\mathrm{T}}\|_{2}-\|\文本bf{答}-\文本bf{答}_{k}{2}{\\textbf{答}-\文本bf{答}_{k} {2}}),表示基于的光谱相对误差方程式(17)最后,我们使用\(\epsilon_{\sigma}=\max_{i\leqk}\frac{|\sigma{i}(\textbf{A})-\hat{\sigma}_{i}|}{\sigama{i}{(\text bf{A})}\)测量计算奇异值的准确性。在这些度量中,精确的截断SVD结果用奇异值分解在MATLAB 2020b中。请注意,随机SVD算法的运行与运行之间存在一些差异,但这不是一个严重的问题[26]. 附录B,我们的实验结果表明,这种可变性随着dashSVD(参数\(p\)). 而对于小型\(p\)与计算低精度奇异值分解相对应,误差度量的标准偏差大多不超过\(5\%\)相应平均值。因此,除了那个实验之外,我们在任意运行中呈现dashSVD的结果。
对来自实际应用程序的以下稀疏矩阵进行了测试,如下所示表1。其中三个用于[16]:SNAP的社交网络矩阵[24],来自MovieLens数据集的矩阵[19]以及来自信息检索应用程序“AMiner”的person-keyword矩阵[1]. Rucci1是一个稀疏矩阵,奇异值衰减非常缓慢,从SuiteSparse矩阵集合中获得[13]. 最后两个稀疏矩阵uk-2005和sk-2005来自较大的网络图[11,12],也是从SuiteSparse矩阵集合下载的。每行非零的平均数量从3.9到237不等。
表1。
矩阵尺寸非零元素数量
快照(soc-Slashdot0922)82,168\(\次\) 82,168948,464
电影镜头270,896\(\次\) 45,11526,024,289
Rucci1型1,977,885\(\次\) 109,9007,791,168
阿米纳12,869,521\(\次\) 323,899206,501,139
英国-200539,459,925\(\次\) 39,459,925936,364,282
sk-2005年50,639,401\(\次\) 50,639,4011,949,412,601
表1.测试用例
在我们的实验中,秩参数\(k\)默认设置为100。对于的其他值\(k\),还验证了建议的dashSVD的有效性。相关实验结果如所示附录B,这甚至意味着\(k\)dashSVD的优势将略为突出。过采样参数\(\)固定到\(k/2\)为了公平比较内存开销LanczosBD公司和PRIMME_SVDS固定为\(1.5千\)所有实验都是在一台具有两个8核Intel Xeon E5-2620 v4 CPU(2.10 GHz)和512 GB RAM的计算机上进行的。我们使用GCC版本9.4.0和“–O3”选项编译这些算法。MKL的版本为2019.4.0,而PETSc的版本为3.17.1。

4.1移位功率迭代的验证

为了验证具有动态移位的功率迭代方案,我们设置了不同的功率参数\(p\)并执行基本随机SVD(算法1)和建议的dashSVD(算法2)测试矩阵。根据计算结果,相应的误差度量\(\epsilon_{\textrm{PVE}}\)计算以评估准确性。曲线\(\epsilon_{\textrm{PVE}}\)被吸入图1,其中“Alg.2*”表示具有固定移位值的算法\(\alpha=\sigma_{l}(\textbf{A}\textbf{A}^{mathrm{T}}\textbf{Q})/2\)在迭代的第一步设置。另外两个1000\(\次\)1000个随机矩阵由兰登在MATLAB(“Dense1”)中,使用\(i)th奇异值跟随\(\sigma{i}=1/\sqrt{i}\)(“Dense2”)也进行了测试。发件人图1我们看到,设置移位的动态方案比固定移位的方案产生更准确的结果。以及提议的算法2结果与带幂迭代的基本随机SVD相比,其准确性(以及效率)要高得多。结果误差的减少随着\(p\),最大为100\(\次\).
图1。
图1三种随机SVD算法的PVE误差与功率参数曲线(\(k=100)).
通过比较dashSVD和frPCA,也可以验证移位功率迭代的有效性[16]. 它们之间的主要区别在于dashSVD采用了移位功率迭代。比较结果见附录B.

4.2 dashSVD算法的验证

对于计算截断奇异值分解,大多数现有方法可以在时间和准确性之间进行权衡。在本小节中,我们比较了dashSVD与其他方法在不同精度水平下的效率。为此,我们还实现了dashSVD,但没有精度控制,即。,算法4,其中\(p\)可以进行更改以权衡时间和准确性。请注意,它的运行时与dashSVD相同(算法5)因为精度控制的步骤花费的时间可以忽略不计。
首先,我们比较了dashSVD和奇异值分解都在MATLAB中。为了公平比较,我们通过执行命令“最大CompThreads数(1)“在MATLAB中LanczosBD公司在里面奇异值分解实际上是比较的。我们改变\(p\)在dashSVD中(算法4)以及中重新启动的次数LanczosBD公司绘制运行时与误差的曲线。SNAP和uk-2005在四个误差度量中的结果如所示图2,其他矩阵的结果附录B结果表明,dashSVD的成本与LanczosBD公司用于实现不太高的精度,而对于某些情况(如uk-2005)LanczosBD公司需要大量重新启动才能收敛到准确的结果。对于指标\(\epsilon_{\textrm{PVE}}\),\(\epsilon_{\textrm{spec}}\),以及\(\epsilon_{\sigma}\),dashSVD在计算时间上具有显著优势(3.2\(\次\)和3.4\(\次\)获得误差\(10^{-1}\)在里面\(\epsilon_{\textrm{PVE}}\)\(\epsilon_{\sigma}\)分别用于uk-2005)。
图2。
图2dashSVD的误差与时间曲线LanczosBD公司在里面奇异值分解使用单线程计算(\(k=100)). 时间以秒为单位。
我们比较了dashSVD的C版本和PRIMME_SVDS的八线程并行计算(作为并行奇异值分解效率不高)。为了避免非统一内存访问(NUMA)复杂的是,我们坚持使用一个NUMA域,通过设置环境变量在一个套接字中与八个线程进行比较”OMP_PROC_BIND=关闭“和”OMP_PLACES=核心。“SNAP和uk-2005的误差与运行时间曲线绘制于图3结果表明,对于产生具有相同精度的结果,所提出的dashSVD运行得明显快于PRIMME_SVDS。例如,为了获得结果\(10^{-1}\)相对残差(\(\epsilon_{\textrm{res}}\))dashSVD运行3.2\(\次\)和1.3\(\次\)SNAP和uk-2005分别快于PRIMME_SVDS。使用公制\(\epsilon_{\textrm{PVE}}\),相应的加速比变为4.0\(\次\)和3.9\(\次\)。比较中的结果图2,我们还可以发现,对于八线程计算,dashSVD的并行加速约为5.5。MovieLens、Rucci1、Aminer和sk-2005的更多误差与运行时间曲线如图所示附录BdashSVD的内存成本,LanczosBD公司,和PRIMME_SVDS列在表2.表2显示我们的dashSVD算法与LanczosBD公司和PRIMME_SVDS。
图3。
图3八线程计算的dashSVD和PRIMME_SVDS的错误与运行时曲线(\(k=100)). 时间以秒为单位。
表2。
矩阵仪表SVDLanczosBD公司PRIMME_SVDS公司
SNAP(快照)0.300.290.50
电影镜头0.961.541
Rucci1型4.664.013.62
阿米纳31.527.723.1
英国-2005147135133
sk-2005年200184179
表2dashSVD的存储器成本(以GB为单位),LanczosBD公司,和PRIMME_SVDS
要验证具有多个奇异值的矩阵的dashSVD,请从SuiteSparse矩阵集合中获取一个具有多个奇数值的矩阵,称为LargeRegFile[13]还进行了测试。这是一个尺寸为2111154的矩阵\(\次\)801374,平均每行有2.3个非零元素。首先,我们绘制了LargeRegFile的错误与运行时曲线\(k=100)在里面图4,就像中的那些图2.图4(a)说明了这一点LanczosBD公司需要很长时间才能收敛到LargeRegFile的准确结果,这对应于大量的重新启动,我们的dashSVD在四个指标的计算时间上具有显著优势。发件人图4(b),尽管PRIMME_SVDS达到更低\(\epsilon_{\textrm{res}}\)与我们的dashSVD相比,在相同的运行时间内,其他错误度量非常大,这表明PRIMME_SVDS计算的奇异三元组是错误的。dashSVD的内存成本,LanczosBD公司,PRIMME_SVDS分别为5.78 GB、5.03 GB和5.09 GB。这还表明,我们的dashSVD算法的内存成本与LanczosBD公司和PRIMME_SVDS。
图4。
图4dashSVD的误差与时间曲线与LanczosBD公司在里面奇异值分解和PRIMME_SVDS用于LargeRegFile(\(k=100)). 时间以秒为单位。
然后,我们绘制了误差曲线算法1,算法2 \({}^{*}\)2具有不同的功率参数值\(k=100)在里面图5(a)从中我们可以看出,偏移的幂迭代提高了精度。我们测试dashSVD(算法5),LanczosBD公司、PRIMME_SVDS和lansvd[23]用于计算截断的SVD\(k=100)。它们使用16个线程运行。的子空间维数LanczosBD公司为了进行公平比较,将lansvd和PRIMME_SVDS设置为150。PROPACK中的lansvd是一种加速算法奇异值分解。我们测试了与OpenMP并行的Fortran版本V2.14。请注意,lansvd比奇异值分解在单线程计算中,lansvd的并行性能较差。此外,由lansvd计算得到的奇异向量偶尔包含NaN。这使得比较变得困难。中的收敛容差参数LanczosBD公司,PRIMME_SVDS设置为\(10^{-10}\)lansvd中的收敛容差参数设置为\(10^{-6}\)在dashSVD中的tol设置为\(10^{-3}\)用于产生低PVE的结果。计算出的奇异值以图5(b),中列出了更多结果表3这些结果表明,对于具有多个奇异值的矩阵,lansvd和PRIMME_SVDS都会出现精度问题。结果如下图4(a)总之,我们可以看到PRIMME_SVDS对于具有多个奇异值的矩阵是不可靠的。相反,dashSVD表现很好。它的速度提高到LanczosBD公司6\(\次\),用一个小\(\epsilon_{\textrm{PVE}}\)属于\(1.8\乘以10^{-8}\).
图5。
图5.LargeRegFile的实验结果(\(k=100)).
表3。
方法时间(s)内存(GB)\(\epsilon_{\textrm{PVE}}\)\(\epsilon_{\textrm{res}}\)\(\epsilon_{\textrm{spec}}\)\(\epsilon_{\sigma}\)
LanczosBD公司77.35.02----
lansvd公司5166.42不适用不适用不适用0.36
PRIMME公司\(\_\) SVDS公司16.35.091.423.4电子-90.790.74
仪表SVD12.75.781.8E-8段2.0E-5版1.1E-10段4.0E-9号机组
表3.的计算结果LanczosBD公司、lansvd、PRIMME_SVDS和dashSVD(tol\(=10^{-3}\))在LargeRegFile上(\(k=100))
Mem代表内存。
NA表示由lansvd计算的奇异向量包含NaN,这使得误差准则的某些度量不可用。

4.3基于PVE标准的精度控制方案验证

在本小节中,我们验证了提议的PVE精度控制的有效性,以及代理策略带来的效率,即使用\(\sigma_{i}(\textbf{A}^{\mathrm{T}}\textbf{A}\textbaf{问}-\alpha\textbf{Q})+\alpha\)监控\(hat{\sigma\{i}}(\textbf{A})^{2}\).我们设置\(\mathrm{tol}=10^{-2}\)并比较算法5与那些没有代理策略获得的。后者通过迭代计算矩阵的奇异值分解来实现精度控制\(\textbf{B}=\textbf{AQ}\)并检查终止标准方程式(19)。结果列于表4.\(N_{p}\)表示当算法以满足的准则终止时执行的幂迭代步数。如果没有代理策略\(N_{p}\)值相同或小于1。我们可以看到,具有精度控制的dashSVD在四个指标中获得了良好的精度,并且结果\(\epsilon_{\textrm{PVE}}\)约等于或小于\(10^{-2}\).代理策略可以方便地监视奇异值,如果没有奇异值,运行时将增加4%到94%。
表4。
矩阵算法5算法5没有代理
时间(s)\(N_{p}\)\(\epsilon_{\textrm{PVE}}\)\(\epsilon_{\textrm{res}}\)\(\epsilon_{\textrm{spec}}\)\(\epsilon_{\sigma}\)时间(s)公司(%)\(\epsilon_{\textrm{PVE}}\)
SNAP(快照)1.9375.7E-3级3.1E-2段4.3电子-43.3电子-32.31205.3E-3号机组
电影镜头14.462.6电子-32.8E-2段6.0电子-51.7E-3号机组15.473.0E-3级
Rucci1型13.691.9E-2号机组3.9E-2段9.9E-3号机组1.0E-2号机组26.4942.3电子-3
阿米纳34173.1E-3段2.7E-2段3.6E-4段1.8E-3号机组35346.6E-3号机组
英国-200587762.4电子-32.6E-2段2.8E-4条1.5E-3型986122.2电子-3
sk-2005年1,38558.4E-4号机组2.0E-2型5.2电子-56.3E-4号机组1525101.2E-3段
表4.16线程计算中带PVE精度控制的dashSVD结果
\(k=100) ,托尔\(=10^{-2}\) ,Inc.表示时间增量。

5结论

我们开发了一种名为dashSVD的随机算法,可以在低精度的情况下有效地计算截断SVD。dashSVD基于一个带动态移位的移位功率迭代方案和一个监控基于PVE的精度标准的精度控制机制构建。它继承了随机SVD算法的并行性,与最新的稀疏矩阵SVD算法相比,它的运行时间要短得多。dashSVD有望在允许低精度SVD的应用场景中发挥作用。
未来,可以探索在分布式内存并行体系结构上高效实现随机SVD算法。

定理1的一个证明

我们首先给出以下两个引理[31].引理4等于引理A.1 in[31]以及引理5包含等式(A.18)和(A.40)的等效形式[31].\(\|\cdot\|\)表示光谱范数。
引理4。
假设 \(i,k,l,m,\) \(n\) 是正整数 \(k \leq l \leq n \leq m).进一步假设 \({{\bf A}}\)是真的\(m\次n\)矩阵,\({{\bf Q}}\) 是真的 \(m\乘以k\) 列正交的矩阵,\({{\bf R}}\) 是真的 \(k\次l\) 矩阵,\({{\bf F}}\)是真的\(n次l次) 矩阵,以及 \({\bf G}})是真的\(l次n) 矩阵。然后,
\开始{对齐}\|{{\bf Q}}{{\bf Q}{^{\mathrm{T}}{\bfA}}-{\bf-A}}\| \leq 2 \|{{\bv F}}{\ bf G}}-{{\bf A}}^{\mathrm{T}}\|+2\|{{\bf F}}\ |\|{\bf-QR}}-({{\ff G}}({{A}}^{\mathrm{T}}{\bfA}})。\结束{对齐}
(24)
引理5。
假设 \(i,k,l,m,\) \(n\) 是正整数 \(n \leq m) \(l=k+s \leq n-k).进一步假设 \({{\bf A}}\) 是真的 \(m\次n\) 矩阵,\({\bf G}}) 是真的 \(l次n) 其条目为i.i.d.零均值和单位方差的高斯随机变量的矩阵,正整数 \(j \lt k) 这样 \(j)第个最大奇异值 \(σ{j}) 属于 \({{\bf A}}\) 是积极的。如果是实数 \(测试版),\(伽玛射线1) 令人满意的 \(φ=\) \(压裂{1}{\sqrt{2\pi(l-j+1)}}\左(压裂{e}{(l-j+1)\beta}\右)^{l-j+1}+\frac{1}}{4\伽马(\gamma^{2}-1)}\左(frac{1}{\sqrt{pi(n-k)}})^{2}-1}}\右)^{n-k}+\frac{1}{\sqrt{\pil}}\左(\frac{2\gamma^{2}}{e^{\gamma^{2}-1}}\右)^{l}\右)\leq 1\).然后,存在一个真实的 \({n\times l}\) 矩阵 \({{\bf F}}\) 这样的话
\开始{align}&\|{{\bf F}}{{\bf G}}\frac{\sigma{j+1}}{\sigama{j}}\右)^{4i}+1\右)\sigma{j+1}^{2}+\左(2l(n-k)\beta^{2{6}\gamma^2}\左,\结束{对齐}
(25)
\开始{align}\{{\bf F}}\|\leq\frac{\sqrt{l}\beta}{\sigma{j}^{2i}},结束{align{
(26)
概率不小于 \(1-\phi\).
根据引理45,导出了以下引理,它限定了的近似误差算法1的结果[31]. 请注意,我们假设\(l=k+s \leq n-k)在实际场景中总是如此。
引理6。
假设 \({\bf A}}\in\mathbb{R}^{m\times n}{}(m\geq n)\), \(k\),\(\), \(p\) 中的参数是吗算法1.\(l=k+s \leq n-k), \({{\bf Q}}\) 大小 \(m\乘以l\) 是获得的正交矩阵算法1.如果是正整数 \(j \lt k),和实数 \(测试版),\(伽玛射线1) 令人满意的 \(φ=\) \(压裂{1}{\sqrt{2\pi(l-j+1)}}\左(压裂{e}{(l-j+1)\beta}\右)^{l-j+1}+\frac{1}}{4\伽马(\gamma^{2}-1)}\左(frac{1}{\sqrt{pi(n-k)}})^{2}-1}}\右)^{n-k}+\frac{1}{\sqrt{\pil}}\左(\frac{2\gamma^{2}}{e^{\gamma^{2}-1}}\右)^{l}\右)\leq 1\),然后
\开始{align}\|{{\bf Q}}{{\bf Q}{^{\mathrm{T}{{\bf A}}-{\bfA}}\| \leq&2\sqrt{\left(2l^{2}\beta^{2{\gamma^{2neneneep \left ^{2}+\左(2l(n-k)\beta^{2{2}\gamma^2}\left(\frac{\sigma{k+1}}{\simma{j}}\right)^{4p}+1\右)\sigma{k+1}^{2neneneep},\end{align}
(27)
概率不小于 \(1-\phi\),哪里 \(σ{j}) 表示 \(j)第个最大奇异值 \({{\bf A}}\).
证明。
算法1,结果矩阵由范围的一组正交基构成\((textbf{A}(\textbf{A}^{\mathrm{T}}\textbf{A})^{p}\bf{\Omega})\),其中\(\bf{\Omega}\)大小\(n次l次)是高斯随机矩阵\(p\)是功率参数。因此\(textbf{A}(\textbf{A}^{\mathrm{T}}\textbf{A})^{p}\bf{\Omega}=可以表示为以下各项的线性组合的列。这意味着有一个矩阵在里面\(l次l次)令人满意的\(((\bf{\Omega}^{\mathrm{T}}(\textbf{A}^{\tathrm{T}}\textbf{A})^{p}\textbf{A{^{\mathrm{T}})所以,
\开始{align}\|\textbf{QR}-(粗体符号{\Omega}^{\mathrm{T}}(\textbf{A}^{\tathrm{T}}\textbf{A})^{p}\textbf{A{^{mathrm}T}})
(28)
假设F类是真的\(m\乘以l\)矩阵,\(k=l,p=i),\(\textbf{G}=\bf{\Omega}^{\mathrm{T}}\),以及是里面的那个吗方程式(28).根据引理4,我们有
\开始{align}\|\textbf{Q}\textbf{Q}^{\mathrm{T}}\textbf{答}-\textbf{A}\ |&\leq 2 \ | \textbf{F}\boldsymbol{\Omega}^{\mathrm{T}}{QR}-(\boldsymbol{\Omega}^{\mathrm{T}}(\textbf{A}^{\mathrm{T}}\textbf{A})^{p}\textbf{A}^{\mathrm{T})}\textbf{A})^{p}\textbf{A}^{\mathrm{T}}-\textbf{A}^{\mathrm{T}}\|。\结束{对齐}
(29)
然后,根据引理5,存在F类这样的话公式(25)持有。将其与方程式(29)我们推导方程式(27).
证明之前定理1,我们证明引理7这类似于中引理A.2的证明[31].
引理7。
假设 \(i,k,l,m,\) \(n\) 是正整数 \(n \leq m) \(l=k+s \leq n-k).进一步假设 \({{\bf A}}\) 是真的 \(m\次n\) 矩阵,\({\bf G}}) 是真的 \(l次n) 其条目为i.i.d.零均值和单位方差的高斯随机变量的矩阵,正整数 \(j \lt k) 这样 \(j)第个最大奇异值 \(σ{j}) 属于 \({{\bf A}}\) 是积极的。如果是实数 \(测试版),\(伽玛射线1) 令人满意的 \(φ=\) \(压裂{1}{\sqrt{2\pi(l-j+1)}}\左(压裂{e}{(l-j+1)\beta}\右)^{l-j+1}+\frac{1}}{4\伽马(\gamma^{2}-1)}\左(frac{1}{\sqrt{pi(n-k)}})^{2}-1}}\右)^{n-k}+\frac{1}{\sqrt{\pil}}\左(\frac{2\gamma^{2}}{e^{\gamma^{2}-1}}\右)^{l}\右)\leq 1\).然后,存在一个真实的 \({n\times l}\) 矩阵 \({{\bf F}}\) 这样的话
\begin{align}\left\|{\bf F}}{\bf G}}{\bf A}}^{\mathrm{T}}\prod_{c=1}^{i}i}\left(\frac{\sigma\{j+1}^{2}-\字母{c}}{\西格玛{j}^{2}-\alpha{c}}\右)^{2}+1 \右)\sigma{j+1}^{2{\\&\quad+\左(2l(n-k)\beta^{2}\gamma^{2 \prod_{c=1}^{i}\左(\frac{\sigma{k+1}^{2}-\字母{c}}{\西格玛{j}^{2}-\alpha{c}}\右)^{2}+1 \右)\sigma{k+1}^{2},\end{align}
(30)
\开始{align}\{{\bf F}}\|\leq\frac{\sqrt{l}\beta}{\prod_{c=1}^{i}(\sigma{j}^{2}-\字母{c})},\结束{align}
(31)
概率不小于 \(1-\phi\),哪里 \({{\bf I}}\) 是单位矩阵 \(0\leq\alpha{c}\leq\sigma{l}^{2}/2\) 对于任何 \(c \leq i).
证明。
我们遵循引理A.2的证明[31]建造F类令人满意的方程式(30)(31)SVD的配方A类\(\textbf{A}=\textbf{U}\bf{Sigma}\textbf{V}^{\mathrm{T}}\),其中U型是真的\(m\次n\)列为正交的矩阵,\(\bf{\Sigma}\)是真正的对角线\(n次n次)矩阵,以及V(V)是一个真正的统一体\(n次n次)矩阵,以便\(\bf{\Sigma}(y,y)=\Sigma{y}\)对于\(y=1,2,\cdots,n\),以及\(σ{y})\(年\)第个最大奇异值A类然后,几个辅助矩阵H(H),\(\bf{\Lambda}\),\(\bf{\Gamma}\),\(\textbf{宋体}_{1}\),\(\textbf{宋体}_{2}\),以及\(\textbf{宋体}_{3}\)被定义为有助于证明。假设H(H)是最左边的\(l\次j\)的块\(l次n)矩阵全球价值,\(\bf{\Lambda}\)\(l次(k-j))块,共块全球价值其第一列是\((k+1)\)-第列,共列全球价值,以及\(\bf{\Gamma}\)是最右边的\(l次(n-k))块,共块全球价值,所以
\开始{align}\textbf{GV}=[\textbf{H},\boldsymbol{\Lambda},\ boldsympol{\Gamma}]。\结束{对齐}
(32)
请注意V(V)是真实和统一的,并且是零均值和单位方差的i.i.d.高斯随机变量。然后H(H)也是零均值和单位方差的i.i.d.高斯随机变量\(\bf{\Lambda}\),以及的条目\(\bf{\Gamma}\).假设\(\textbf{H}^{\digger}\)是真的吗\(j\乘以l\)由公式给出的矩阵
\开始{align}\textbf{H}^{\dagger}=
(33)
哪里\(\textbf{H}^{\mathrm{T}}\textbf{H}\)由于引理2.7,具有高概率可逆[31]. 假设\(\textbf{宋体}_{1}\)成为最左边最上面的\(j\乘以j\)块,共块\(\bf{\Sigma}\),\(\textbf{宋体}_{2}\)是最左边最上面的\((k-j)\次(k-j)\)块,共块\(\bf{\Sigma}\)其最左边最上面的条目是\((j+1)\)-第行和\((j+1)\)-第列,共列\(\bf{\Sigma}\),以及\(\textbf{宋体}_{3}\)是最右边最下面的\((n-k)\次(n-k)\)块,共块\(\bf{\Sigma}\),所以
\begin{align}\boldsymbol{\Sigma}=\left(\begin{matrix}\textbf{宋体}_{1} &\textbf{0}&\textbof{0{0}\\textbf{0}&\ttextbf{宋体}_{2} \\textbf{0}\\textbf{0}&\textbf{0}&\ttextbf{宋体}_{3} 结束{矩阵})。\结束{对齐}
(34)
假设P(P)是真的\(n次l次)矩阵由给出
\begin{align}\textbf{P}=\left(\begin{matrix}\prod_{c=1}^{i}(\textbf{宋体}_{1}^{2}-\alpha_{i-c+1}\textbf{i})^{-1}\textbof{H}^{\dagger}\\textbf{0}\\textbof{0{0}\\end{matrix}\\right)。\结束{对齐}
(35)
最后,F类构造为\(n次l次)矩阵由给出
\开始{align}\textbf{F}=\textbf{VP}=\text bf{V}\left(\begin{matrix}\prod_{c=1}^{i}(\textbf{宋体}_{1}^{2}-\alpha_{i-c+1}\textbf{i})^{-1}\textbof{H}^{\dagger}\\textbf{0}\\textbof{0{0}\\end{matrix}\\right)。\结束{对齐}
(36)
根据引理A.2的证明[31],
\开始{align}\|\textbf{H}^{\dagger}\|\leq\sqrt{l}\beta,结束{align{
(37)
概率不小于
\开始{对齐}1-\压裂{1}{\sqrt{2\pi(l-j+1)}}\左(压裂{e}{(l-j+1)\beta}\右)^{l-j+1}。\结束{对齐}
(38)
结合方程式(34),(36),以及(37),事实\(\bf{\Sigma}\)偏离主对角线为零V(V)是单位收益率方程式(31).
我们现在展示一下F类定义于公式(36)满足方程式(30).
假设\(\hat{\textbf{S}}_1}=\prod_{c=1}^{i}(\textbf{宋体}_{1}^{2}-\字母{i-c+1}\textbf{i})^{-1}\).组合方程式(32)(36)产量
\开始{align}&\textbf{F}\textbf2{G}\textbf{A}^{mathrm{T}}\prod_{c=1}^{i}\textbf{S}}_{1}\textbf{H}^{\dagger}\\textbf{0}\\textff{0{\\end{matrix}\right)[\textbf-{H},\boldsymbol{\Lambda},\ boldsympol{\Gamma}]\粗体符号{\Sigma}\prod_{c=1}^{i}(\boldsymbol{\Sigram}^{2}-\alpha_{c}\textbf{I})\textbf{U}^{\mathrm{T}}-\textbf-V}\boldsymbol{\Sigma}\textbf{U}^{\tathrm{T}}\\&\quad=\textbf1{V}\ left(\ begin{matrix}\hat{\textbf2{S}_{1}&\hat}\textbof{S}{{1}\textbf{H}^{dagger}粗体符号{\Lambda}&\hat{\textbf{S}}_{1}\textbf{H}^{\dagger}\boldsymbol{\Gamma}\\textbf}0}&\textbf{0}&\textbf{0}&\textbf{0}&\textbof{0{\\end{matrix}\right)\prod_{c=1}^{i}(\boldsymbol{\Sigma}^{2}-\字母{c}\textbf{I}粗体符号{\Lambda}\prod_{c=1}^{I}(\textbf{宋体}_{2}^{2}-\alpha_{c}\textbf{I})&\hat{\textbf{S}}_{1}\textbf{H}^{\dagger}\boldsymbol{\Gamma}\prod_{c=1}^{I}(\textbv{宋体}_{3}^{2}-\alpha_{c}\textbf{I})\\textbf{0}&\textbf{0}和\textbf1{0}\\textbf{0}&\ttextbf}0}&\T文本bf{0}\\end{matrix}\\right)-\textbf2{I}\right)\boldsymbol{\Sigma}\textbf{U}^{\mathrm{T}\\&\quad=\textbf2{V}\left(\begin{matrix2}\textb{0}&\hat{\textbf{S}}_{1}\textbf{H}^{dagger}\boldsymbol{\Lambda}\prod_{c=1}^{I}(\textbv{宋体}_{2}^{2}-\字母{c}\textbf{I})\textbf{宋体}_{2} &\hat{\textbf{S}}_{1}\textbf{H}^{\dagger}\boldsymbol{\Gamma}\prod_{c=1}^{i}(\textbf{宋体}_{3}^{2}-\字母{c}\textbf{I})\textbf{宋体}_{3} \\textbf{0}&-\textbf{宋体}_{2} \\textbf{0}\\textbf{0}&\textbf{0}&-\textbf{宋体}_{3} 结束{矩阵}\右)\textbf{U}^{mathrm{T}}。\结束{对齐}
(39)
此外,
\开始{align}&\Bigg{\|}\left(\begin{matrix}\textbf{0}&\hat{\textbf{S}}_{1}\textbf{H}^{\dagger}\boldsymbol{\Lambda}\prod_{c=1}^{i}(\textbv{宋体}_{2}^{2}-\字母{c}\textbf{I})\textbf{宋体}_{2} &\hat{\textbf{S}}_{1}\textbf{H}^{\dagger}\boldsymbol{\Gamma}\prod_{c=1}^{i}(\textbf{宋体}_{3}^{2}-\字母{c}\textbf{I})\textbf{宋体}_{3} \\textbf{0}&-\textbf{宋体}_{2} \\textbf{0}\\textbf{0}&\textbf{0}&-\textbf{宋体}_{3} \\end{矩阵}\right)\Bigg{\|}^{2}\\&\quad\leq\Big{|}\hat{\textbf{S}}_{1}\textbf{H}^{\dagger}\boldsymbol{\Lambda}\prod\c=1}^{i}(\textbv{宋体}_{2}^{2}-\字母{c}\textbf{I})\textbf{宋体}_{2} 大{\|}^{2}+\大{\|}\hat{\textbf{S}}_{1}\textbf{H}^{\dagger}\boldsymbol{\Gamma}\prod_{c=1}^{i}(\textbf{宋体}_{3}^{2}-\字母{c}\textbf{I})\textbf{宋体}_{3} \大{\|}^{2}+\|\textbf{宋体}_{2} \|^{2}+\|\textbf{宋体}_{3}\|^{2}.\结束{对齐}
(40)
此外,
\开始{align}\Big{\|}\hat{\textbf{S}}_{1}\textbf{H}^{dagger}\boldsymbol{\Lambda}\prod_{c=1}^{i}(\textbf{宋体}_{2}^{2}-\字母{c}\textbf{I})\textbf{宋体}_{2} 大{\|}\leq\|\hat{\textbf{S}}_{1}\|\|\textbf{H}^{\dagger}\|\ |\boldsymbol{\Lambda}\|left\|\prod_{c=1}^{i}(\textbf{宋体}_{2}^{2}-\alpha_{c}\textbf{I})\right\|\|\textbf{宋体}_{2} \ |,\结束{align}
(41)
\开始{align}\Big{\|}\hat{\textbf{S}}_{1}\textbf{H}^{dagger}\boldsymbol{\Gamma}\prod_{c=1}^{i}(\textbf{宋体}_{3}^{2}-\字母{c}\textbf{I})\textbf{宋体}_{3} 大{\|}\leq\|\hat{\textbf{S}}_{1}\|\|\textbf{H}^{\dagger}\|\ |\boldsymbol{\Gamma}\|left\|\prod_{c=1}^{i}(\textbf{宋体}_{3}^{2}-\alpha_{c}\textbf{I})\right\|\|\textbf{宋体}_{3}\|.\结束{对齐}
(42)
然后,根据提议2和事实\(0\leq\alpha{c}\leq\sigma{l}^{2}/2\)对于任何\(c \leq i)我们可以得到
\开始{align}\|\hat{\textbf{S}}{1}\|leq\prod_{c=1}^{i}\frac{1}{\sigma{j}^{2}-\字母{c}},\结束{align}
(43)
\开始{align}\left\|\prod_{c=1}^{i}(\textbf{宋体}_{2}^{2}-\字母{c}\textbf{I})\right\|\leq\prod_{c=1}^{I}(\sigma{j+1}^{2}-\字母{c}),\结束{align}
(44)
\开始{align}\left\|\prod_{c=1}^{i}(\textbf{宋体}_{3}^{2}-\字母{c}\textbf{I})\right\|\leq\prod_{c=1}^{I}(\sigma{k+1}^{2}-\字母{c}),\结束{align}
(45)
\开始{align}\|\textbf{宋体}_{2} \|\leq\sigma_{j+1},\end{align}
(46)
\开始{align}\|\textbf{宋体}_{3} {k+1}。\结束{对齐}
(47)
然后,结合方程(40)(47)事实上U型V(V)是正交产量
\开始{align}\left\|\textbf{F}\textbf{G}\textbf{A}^{\mathrm{T}}\prod_{c=1}^{i}H}^{\dagger}\|^{2}\|\boldsymbol{\Lambda}\|^}2}\prod_{c=1}^{i}\左(\frac{\sigma{j+1}^{2}-\字母{c}}{\西格玛{j}^{2}-\字母{c}}\右)^{2}+1 \右)\sigma{j+1}^{2{\\&\quad+\左(\|\textbf{H}^{\dagger}\ |^{2neneneep \ |\boldsymbol{\Gamma}\^{2}-\字母{c}}{\西格玛{j}^{2}-\alpha{c}}\右)^{2}+1 \右)\sigma{k+1}^{2neneneep。\结束{对齐}
(48)
组合用引理2.6 in[31]以及以下事实\(\bf{\Lambda}\)是零均值和单位方差的i.i.d.高斯随机变量,以及\(\bf{\Gamma}\),收益率
\开始{align}\|\boldsymbol{\Lambda}\|leq\sqrt{2l}\gamma
(49)
概率不小于
\开始{align}&1-\frac{1}{4(\gamma^{2}-1)\sqrt{\pi(n-k)\gamma^{2}}}\左(\frac{2\gamma^}}{e^{gamma^{2}-1}}\右)^{(n-k)}-\frac{1}{4(\gamma^{2}-1)\sqrt{\pi l\gamma^{2}}\左(\frac{2\gamma^}{e^{gamma^{2}-1}}\右)^{l}。\结束{对齐}
(50)
最后,组合方程式(37),(48),以及(49)产量
\begin{align}\left\|\textbf{F}\textbf{G}\textbf{A}^{\mathrm{T}}\prod_{c=1}^{i}{\sigma\{j+1}^{2}-\字母{c}}{\西格玛{j}^{2}-\alpha{c}}\右)^{2}+1 \右)\sigma{j+1}^{2{\\&\quad+\左(2l(n-k)\beta^{2}\gamma^{2 \prod_{c=1}^{i}\左(\frac{\sigma{k+1}^{2}-\字母{c}}{\西格玛{j}^{2}-\alpha{c}}\右)^{2}+1 \右)\sigma{k+1}^{2},\end{align}
(51)
概率不小于\(1-\phi\).
现在,我们可以证明定理1.
证明。
假设是一个单位矩阵。在算法2,结果矩阵由一组正交基构成\(范围(\prod_{c=1}^{p}(\textbf{A}\textbf{A}^{mathrm{T}}-\alpha_{p-c+1}\textbf{I})\textbf-{A}\bf{\Omega})\),其中\(\bf{\Omega}\)大小\(n次l次)是高斯随机矩阵\(p\)是功率参数。因此\(\prod_{c=1}^{p}(\textbf{A}\textbf{A}^{\mathrm{T}}-\alpha_{p-c+1}\textbf{I})\textbf-{A}\bf{\Omega}=(\bf}\Omega}^{\tathrm{T}}\textbf{A}^{\mathrm{T}}\prod\textit{c}=1}^}(\T bf{A}\textbf{A}^{\mathrm{T}}-\alpha_\textit{c}\textbof{I}))^{\mathrm{T}}\)可以表示为以下各项的线性组合的列。这意味着有一个矩阵在里面\(l次l次)令人满意的\((\bf{\Omega}^{\mathrm{T}}\textbf{A}^{\tathrm{T}}\prod_{\textit{c}=1}^{p}(\textbf{A}\textbf{A}A}^{mathrm}T}}-\alpha_\textit}c}\textbf{I}))所以,
\开始{align}\left\|\textbf{QR}-(\boldsymbol{\Omega}^{\mathrm{T}}\textbf{A}^{\tathrm{T}}\prod_{c=1}^{p}(\textbf{A}\textbf{A}^{mathrm}}-\alpha_{c}\textbf{I})
(52)
假设F类是真的\(m\乘以l\)矩阵,\(k=l),\(p=i),\(\textbf{G}=\bf{\Omega}^{\mathrm{T}}\)是里面的那个吗方程式(52)根据中引理A.1的证明[31],我们有
\开始{align}\|\textbf{Q}\textbf{Q}^{\mathrm{T}}\textbf{答}-\textbf{A}\|&\leq 2\left\|\textbf{F}\boldsymbol{\Omega}^{\mathrm{T}}\textbf{A}^{\tathrm{T}\prod_{c=1}^{p}\右\|+2\|\textbf{F}\|\left\|\text bf{QR}-\左(\boldsymbol{\Omega}^{\mathrm{T}}\textbf{A}^{\tathrm{T}}\prod_{c=1}^{p}(\textbf{A}\textbf{A}^{mathrm}}-\alpha_{c}\textbf{I})\right)^{\mathrm{T}}\textbf{A}^{\mathrm{T}}\prod_{c=1}^{p}。\结束{对齐}
(53)
根据引理7,存在F类这样的话方程式(30)持有。将其与方程式(53)我们推导方程式(15)在里面定理1.
推论1。
如果 \({\bf A}}\in\mathbb{R}^{m\times n}{}(m\geq n)\),高斯随机矩阵 \(\bf{\Omega}\in\mathbb{R}^{n\times l}\) 和参数 \(p\),\(l),\(j),\(k\),\(测试版), \(伽玛射线) 相同,近似误差的界算法2的结果显示在的右侧方程式(15)在里面定理1不大于算法1的结果显示在的右侧方程式(27)在里面引理6此外,只有当 \(\sigma{j}=\sigma{j+1}=\cdots=\sigama{k+1}\).
证明。
因为对于任何人\(c),\(1),我们有正数\(\alpha_{c}\ leq \ sigma_{l}^{2}/2\)根据算法2(\(\alpha_{1}=0\)在里面算法2),我们可以推导
\开始{align}\frac{\sigma{j+1}^{2}-\字母{c}}{\西格玛{j}^{2}-\alpha{c}}\leq\frac{\sigma{j+1}^{2}}{\sigama{j}^{2]},{}{}}\frac}\sigma{k+1}^{2}-\字母{c}}{\西格玛{j}^{2}-\alpha{c}}\leq\frac{\sigma{k+1}^{2}}{\sigama{j}^{2]}。\结束{对齐}
(54)
因此,
\开始{align}\prod_{c=1}^{p}\left(\frac{\sigma{j+1}^{2}-\字母{c}}{\西格玛{j}^{2}-\alpha{c}}\右)^{2}\leq\左(\frac{\sigma{j+1}}{\simma{j}}\左)^{4p},{}{}\prod_{c=1}^{p}\左(\ frac{\sigma{k+1}^{2}-\字母{c}}{\西格玛{j}^{2}-\alpha{c}}\右)^{2}\leq\左(\frac{\sigma{k+1}}{\sigama{j}}\左)^{4p},\end{align}
(55)
这表明近似误差的界算法2的结果显示在的右侧方程式(15)在定理1中不大于算法1的结果显示在的右侧方程式(27)在里面引理6.
因为\(j j+1 k+1),\(σ{j}=σ{k+1})仅在以下情况下发生\(\sigma{j}=\sigma{j+1}=\cdots=\sigama{k+1}\)。否则,\(\sigma{j}\gt\sigma{k+1}\)它派生了
\开始{align}\frac{\sigma{k+1}^{2}-\字母{c}}{\西格玛{j}^{2}-\alpha{c}}<\frac{\sigma{k+1}^{2}}{\sigma{j}^{2]},{}{}}\prod_{c=1}^{p}左(\frac}\sigma}k+1}^{2}-\alpha_{c}}{\sigma\{j}^{2}-\alpha{c}}\右)^{2}<\左(\frac{\sigma{k+1}}{\sigama{j}}\左)^{4p}\end{align}
(56)
以及中给出的近似误差界方程式(15)小于中给出的值方程式(27)。因此,只有当\(\sigma{j}=\sigma{j+1}=\cdots=\sigama{k+1}\). □

B更多比较结果

首先,我们给出了我们的dashSVD程序在C中与frPCA的比较结果[16]以进一步验证稀疏矩阵的移位功率迭代。这两个程序都是用16个线程并行执行的。因为对于frPCA,幂迭代次数(\(p\))应指定,我们使用dashSVD而不进行精度控制,即。,算法4,在这个实验中。它实际上是frPCA的改进版本,因为它们使用相同的加速技巧来处理稀疏矩阵。通过设置不同的功率参数\(p\),我们对运行时与\(\epsilon_{\textrm{PVE}}\)对于这两种算法,当生成具有类似结果时\(\epsilon_{\textrm{PVE}}\).\(p\)随步长增加\(\增量p\)。稀疏矩阵SNAP、MovieLens、Rucci1、Aminer、uk-2005和sk-2005的结果如所示图6中的曲线图6结果表明,对于所有测试的矩阵,与frPCA相比,dashSVD在相同的运行时间内可以获得更准确的结果,加速比为1.45\(\次\)至1.73\(\次\)此外,dashSVD在SNAP、MovieLens、rucci1、Aminer、uk-2005和sk-2005上的内存成本分别为0.30 GB、0.96 GB、4.66 GB、31.5 GB、147 GB和200 GB,小于这些矩阵上的0.35 GB、0.98 GB、4.69 GB、31.5GB、162 GB和220 GB frPCA。
图6。
图6. The\(\epsilon_{\textrm{PVE}}\)与dashSVD的运行时曲线(算法4)和带有幂迭代次数的frPCA\(p\)从0开始逐步增加\(\增量p\)。时间以秒为单位。
的结果LanczosBD公司以及带有MovieLens、Rucci1、Aminer和sk-2005的单线程计算的dashSVD绘制于图7。它们表明我们的算法的运行时间总是比LanczosBD公司在误差度量中产生精度不高的结果时\(\epsilon_{\textrm{PVE}}\),\(\epsilon_{\textrm{spec}}\),以及\(\epsilon_{\sigma}\)对于奇异值衰减趋势较慢的数据集(Rucci1和sk-2005),我们的dashSVD获得了比其他数据集更多的加速。对于奇异值衰减趋势较快的矩阵,例如MovieLens和Aminer,LanczosBD公司\(\epsilon_{\textrm{res}}\)标准。
图7。
图7更多dashSVD和LanczosBD公司在里面奇异值分解使用单线程计算(\(k=100)). 时间以秒为单位。
MovieLens、Rucci1、Aminer和sk-2005的PRIMME_SVDS和dashSVD的八线程计算结果如图所示图8.图8显示了在生成精度不高的结果时,我们的dashSVD比PRIMME_SVDS花费更少的运行时间。因为PRIMME_SVDS首先计算\(\textbf{A}^{\mathrm{T}}\textbf{A}\),当\(m\gg n\),例如MovieLens、Rucci1和Aminer。因此,我们在这三个矩阵上的dashSVD的加速比小于SNAP、uk-2005和sk-2005上的加速比。
图8。
图8。使用八线程计算时,dashSVD和PRIMME_SVDS的运行时曲线出现更多错误(\(k=100)). 时间以秒为单位。
然后,16个线程的LazySVD、lansvd和dashSVD具有类似精度的计算结果如下所示表5为了公平比较,LazySVD也使用MKL在C中实现,并且lansvd的子空间维数固定为\(1.5千\)。我们改变lansvd中的tol,以获得与dashSVD类似精度的结果。发件人表5,我们看到dashSVD3.9\(\次\)11\(\次\)比LazySVD和2.2\(\次\)3.7\(\次\)比lansvd更快,以实现类似的精度。此外,当子空间的维数相同时,LazySVD和lansvd比dashSVD占用的内存更少。请注意,lansvd可能会产生带有NaN的奇异向量,这意味着lansvd对于计算大型数据集的截断SVD不可靠。
表5。
矩阵惰性SVDlansvd公司仪表SVD
时间(s)\(\epsilon_{\textrm{PVE}}\)\(\epsilon_{\sigma}\)时间(s)\(\epsilon_{\textrm{PVE}}\)\(\epsilon_{\sigma}\)时间(s)内存(GB)\(\epsilon_{\textrm{PVE}}\)\(\epsilon_{\sigma}\)SP1型标准普尔2
SNAP(快照)9.586.5电子-33.2E-3段4.31不适用\({}^{1}\)1.9E-2号机组1.930.305.7E-3级3.3电子-352.2
电影镜头55.53.3电子-31.6E-3级41.65.0E-2段2.6E-2段14.40.962.6电子-31.7E-3号机组3.92.9
Rucci1型1522.5E-2型1.2E-2段49.8不适用3.0E-2级13.64.661.9E-2号机组1.0E-2号机组113.7
阿米纳19616.8E-3段3.4电子-3796不适用1.6E-2段34131.53.1E-3段1.8E-3号机组5.82.3
英国-200577073.6电子-31.7E-3号机组不适用b条不适用b条不适用b条8771472.4电子-31.5E-3型8.8不适用b条
sk-2005年136341.5E-3型7.4E-4段不适用b条不适用b条不适用b条13852008.4E-4号机组6.2E-4版9.8不适用b条
表5LazySVD、lansvd和dashSVD的计算结果(tol\(=\)1e-2)带16线程计算(\(k=100))
Mem表示内存成本。SP1和SP2表示从dashSVD到LazySVD和lansvd的加速比。
NA表示由lansvd计算的奇异向量,其中包含NaN,这使得一些误差准则的度量不可用。
b条
NA表示程序因段故障而中断。
此外,我们设置\(k=50,200)在SNAP数据集上验证不同秩参数下dashSVD的效率。误差与运行时间曲线绘制于图9。dashSVD与PRIMME_SVDS的比较结果以及LanczosBD公司表明dashSVD在以下情况下表现优于竞争对手\(k=200),而不是什么时候\(k=50)\(k=100)这意味着当\(k\)增加。此外,dashSVD的内存成本,LanczosBD公司,和PRIMME_SVDS分别为0.16 GB、0.17 GB和0.37 GB\(k=50),分别为0.59 GB、0.59 GB和0.74 GB\(k=200).
图9。
图9dashSVD的误差与时间曲线与LanczosBD公司在里面奇异值分解和PRIMME_SVDS用于SNAP(\(k=50)\(200\)). 时间以秒为单位。
最后,为了显示计算截断SVD时dashSVD的方差,我们在SNAP上使用\(k=100)每次100次\(p=0,4,8,12,16,20\)四个误差指标的晶须图如所示图10它表明,当计算低精度SVD(使用\(p=0,4,8)),dashSVD生成的结果差异很小。对于这些情况,大多数错误度量的标准偏差不超过\(5\%\)平均值。
图10。
图10四个误差度量与。\(p\)用于SNAP的dashSVD(\(k=100)).

工具书类

[1]
AMiner公司。2021.阿米纳。检索自https://www.aminer.cn网站
[3]
德克萨斯大学奥斯汀分校。2021.兰德QR。检索自https://users.oden.utexas.edu/pgm/Codes/randqb_Codes_intel_mkl.zip
[4]
[5]
github。2022.普里姆。检索自https://github.com/primme/primme网站
[6]
《泽源·阿连·朱和李元志》,2016年。LazySVD:更快的SVD分解,但不会带来痛苦。神经信息处理系统进展. 974–982.
[7]
OpenMP ARB。2022.OpenMP API并行编程规范。检索自https://www.openmp.org网站/
[8]
詹姆斯·巴格拉马和洛塔尔·赖切尔。2005.增强隐式重新启动了Lanczos双对角化方法。SIAM科学计算杂志27, 1 (2005), 19–42.
[9]
萨蒂什·巴莱、施里朗·阿比扬卡、马克·亚当斯、史蒂文·本森、杰德·布朗、彼得·布鲁恩、克里斯·布舍尔曼、埃米尔·M·康斯坦丁斯库、利桑德罗·达尔辛、阿尔普·德纳、维克托·艾伊霍特、威廉·格罗普、瓦克拉夫·哈普拉、托宾·艾萨克、皮埃尔·朱利维特、德米特里·卡佩夫、迪内什·考希克、马修·克内普利、范德·孔、斯科特·克鲁格、戴夫·A·梅、洛伊斯·柯夫曼·麦克因斯,Richard T.Mills、Lawrence Mitchell、Todd Munson、Jose E.Roman、Karl Rupp、Patrick Sanan、Jason Sarich、Barry F.Smith、Stefano Zampini、Hong Zhang和Junchao Zhang。2022.PETSc网页。检索自https://petsc.org/
[10]
N.Benjamin Erichson、Steven L.Brunton和J.Nathan Kutz。2017.压缩奇异值分解用于图像和视频处理。IEEE计算机视觉国际会议记录(ICCV’17). 1880–1888.
[11]
保罗·博尔迪、马可·罗萨、马西莫·桑蒂尼和塞巴斯蒂亚诺·维尼亚。2011.分层标签传播:压缩社交网络的多分辨率无坐标排序。第20届国际万维网大会论文集ACM出版社,587–596。
[12]
保罗·博尔迪和塞巴斯蒂安·维格纳。WebGraph框架I:压缩技术。第13届国际万维网大会(WWW’04)会议记录美国曼哈顿ACM出版社,595-601。
[13]
蒂莫西·戴维斯(Timothy A.Davis)和胡一凡(Yifan Hu),2011年。佛罗里达大学稀疏矩阵集合。ACM数学软件交易(TOMS)38, 1 (2011), 1–25.
[14]
丁祥云、余文建、谢玉阳、刘盛华。2020年。采用快速自适应PCA的高效基于模型的协同过滤。IEEE第32届人工智能工具国际会议(ICTAI’20)会议记录IEEE,955–960。
[15]
卡尔·埃卡特和盖尔·扬。1936.低阶矩阵对一个矩阵的逼近。心理测量学1, 3 (1936), 211–218.
[16]
徐峰、谢玉阳、宋明业、余文建、唐杰。2018.稀疏数据的快速随机PCA。第十届亚洲机器学习会议记录(ACML’18). 710–725.
[17]
Gene H.Golub和Charles F.Van Loan。2012矩阵计算.JHU出版社。
[18]
Nathan Halko、Per-Gunnar Martinsson和Joel A.Tropp。2011.寻找具有随机性的结构:构造近似矩阵分解的概率算法。SIAM审查53, 2 (2011), 217–288.
[19]
Franklin M.Harper和Joseph A.Konstan。2016年,Movielens数据集:历史和背景。交互式智能系统(TiiS)ACM交易5, 4 (2016), 19.
[20]
迈克尔·T·希思。2018科学计算:介绍性调查(第二版)。暹罗。
[21]
维森特·埃尔南德斯(Vicente Hernandez)、何塞·罗曼(JoséE.Roman)和安德烈斯·托马斯(Andrés Tomas)。2008.基于重新启动的Lanczos双对角化的健壮高效的并行SVD解算器。数值分析电子交易31 (2008), 68–85.
[22]
罗杰·霍恩和查尔斯·约翰逊。1991矩阵分析主题剑桥大学出版社。内政部:
[23]
拉斯穆斯·拉森。2004年,PROPACK-大型和稀疏SVD计算软件。检索自http://sun.stanford.edu/rmunk/PROPACK
[24]
Jure Leskovec和Andrej Krevl。2014.SNAP数据集:斯坦福大型网络数据集收集。检索自http://snap.stanford.edu/data
[25]
李华民(Huamin Li)、乔治·林德曼(George C.Linderman)、亚瑟·斯拉姆(Arthur Szlam)、凯利·斯坦顿(Kelly P.Stanton)、尤瓦尔·克鲁格(Yuval Kluger)和马克·泰格特(Mark Tygert)。2017.算法971:主成分分析随机算法的实现。ACM数学软件交易(TOMS)43, 3 (2017), 1–14.
[26]
迈克尔·马奥尼(Michael W.Mahoney)。2011.矩阵和数据的随机算法。机器学习的基础和趋势®3, 2 (2011), 123–224.
[27]
Per-Gunnar Martinsson和Joel A.Tropp。2020年。随机数值线性代数:基础和算法。数字学报29 (2020), 403–572.
[28]
佩·古纳·马丁森和谢尔盖·沃罗宁。2016.高效计算矩阵秩揭示因子分解的随机分块算法。SIAM科学计算杂志38(2016),S485–S507。
[29]
卡梅隆·马斯科和克里斯托弗·马斯科。2015。用于更强更快近似奇异值分解的随机块Krylov方法。神经信息处理系统进展. 1396–1404.
[30]
巴拉巴诺夫·奥列格、博佩雷·马提亚斯、格里戈里·劳拉和莱德勒·维克多。2023.分布式体系结构上Nyström近似的块次采样随机Hadamard变换。机器学习国际会议论文集. 1564–1576.
[31]
弗拉基米尔·罗赫林(Vladimir Rokhlin)、亚瑟·斯拉姆(Arthur Szlam)和马克·提格特(Mark Tygert)。2010年,主成分分析的随机算法。SIAM矩阵分析与应用杂志31, 3 (2010), 1100–1124.
[32]
Andreas Stathopoulos和James R.McCombs。2010年,PRIMME:预处理迭代多方法特征解算器:方法和软件描述。ACM数学软件交易(TOMS)37, 2 (2010), 1–30.
[33]
谢尔盖·沃罗宁和佩尔·古纳·马丁森。2015.RSVDPACK:在多核和GPU体系结构上计算矩阵奇异值、插值和CUR分解的随机算法的实现。arXiv:1502.05366。检索自https://arxiv.org/abs/1502.05366
[34]
吴凌飞(Lingfei Wu)、埃洛伊·罗梅罗(Eloy Romero)和安德烈亚斯·斯塔托普洛斯(Andreas Stathopoulos)。2017.PRIMME_SVDS:用于精确大规模计算的高性能预处理SVD求解器。SIAM科学计算杂志39,5(2017),S248–S271。

引用人

查看全部

建议

评论

信息和贡献者

问询处

发布于

封面图片ACM数学软件汇刊
ACM数学软件汇刊 第50卷第2期
2024年6月
178页
EISSN公司:1557-7295
内政部:10.1145/3613551
期刊目录
本作品是根据Creative Commons Attribution-NonCommercial-NoDerivatives International 4.0许可证授权的。

出版商

计算机协会

美国纽约州纽约市

出版历史

出版:2024年6月28日
在线AM:2024年4月23日
认可的:2024年4月11日
修订过的:2024年4月2日
收到:2022年12月2日
在TOMS中发布体积50,问题2

权限

请求对此文章的权限。

检查更新

徽章

作者标记

  1. 截断奇异值分解
  2. 随机嵌入
  3. 移位功率迭代
  4. 稀疏矩阵

限定符

  • 研究文章

资金来源

  • 国家自然科学基金

贡献者

其他指标

文献计量学和引文

文献计量学

文章指标

  • 0
    引文总数
  • 606
    总下载次数
  • 下载次数(过去12个月)606
  • 下载次数(最近6周)235
反映截至2024年9月21日的下载量

其他指标

引文

引用人

查看全部

视图选项

查看选项

PDF格式

以PDF文件的形式查看或下载。

PDF格式

电子阅读器

使用联机查看电子阅读器.

电子阅读器

获取访问权限

登录选项

完全访问权限

媒体

数字

其他

桌子

分享

分享

共享此出版物链接

在社交媒体上分享