Skip to main content
QUICK REVIEW

[论文解读] Single Pass PCA of Matrix Products

Shanshan Wu, Srinadh Bhojanapalli|arXiv (Cornell University)|Oct 21, 2016
Sparse and Compressive Sensing Techniques被引用 8
一句话总结

本文提出SMP-PCA,一种新颖的一轮算法,通过结合矩阵压缩与引入行和列范数的重缩放Johnson-Lindenstrauss(JL)嵌入,计算矩阵积$A^T B$的低秩逼近。该方法实现了与两轮方法相当的谱范数误差保证,优于朴素的压缩-压缩方法,并在基于Spark的真实和合成数据实验中展现出更优的计算与统计性能。

ABSTRACT

In this paper we present a new algorithm for computing a low rank approximation of the product $A^TB$ by taking only a single pass of the two matrices $A$ and $B$. The straightforward way to do this is to (a) first sketch $A$ and $B$ individually, and then (b) find the top components using PCA on the sketch. Our algorithm in contrast retains additional summary information about $A,B$ (e.g. row and column norms etc.) and uses this additional information to obtain an improved approximation from the sketches. Our main analytical result establishes a comparable spectral norm guarantee to existing two-pass methods; in addition we also provide results from an Apache Spark implementation that shows better computational and statistical performance on real-world and synthetic evaluation datasets.

研究动机与目标

  • 开发一种单轮算法,用于在$A$和$B$大到无法装入内存时,对$A^T B$进行低秩逼近。
  • 改进朴素的两步法(即分别对$A$和$B$进行压缩,再对压缩结果的乘积计算SVD)的性能。
  • 在保持单轮效率的同时,提供与两轮方法相当的谱范数误差理论保证。
  • 设计一种方法,利用压缩与向量范数信息,以提升高维空间中点积估计的准确性。
  • 在Apache Spark中实现并评估该算法,以支持分布式大规模数据工作负载。

提出的方法

  • 提出一种重缩放JL嵌入,结合压缩与每行每列的范数信息,以提升点积估计的准确性。
  • 采用混合采样策略:基于对行贡献的估计,进行基于多项分布的行内采样,以平衡准确性和效率。
  • 使用累积分布函数(CDF)结合二分查找,高效地从非均匀分布的矩阵元素中采样。
  • 对最终的压缩结果应用截断SVD,以计算$A^T B$的秩-$r$逼近。
  • 提出一种新颖的压缩框架,通过范数感知的重缩放实现稳定性和误差控制。
  • 在Apache Spark中实现该算法,并针对分布式内存与I/O效率进行优化。

实验结果

研究问题

  • RQ1能否设计一种单轮算法,使其在$A^T B$的低秩逼近中实现与两轮方法相当的谱范数误差界?
  • RQ2在压缩过程中引入行和列范数是否能提升估计精度,优于仅使用标准压缩的方法?
  • RQ3SMP-PCA与先分别对$A$和$B$进行压缩,再对压缩乘积计算SVD的朴素方法相比,性能如何?
  • RQ4在实际应用中,该算法能否实现优于现有两轮方法的统计与计算性能?
  • RQ5压缩大小与采样策略对低秩逼近的准确性与可扩展性有何影响?

主要发现

  • SMP-PCA实现了与两轮方法相当的谱范数误差界,误差依赖于$\|A^T B - (A^T B)_r\|$和$\|A^T B\|$,并随压缩大小和采样数量的增加而减小。
  • 该算法在准确性和误差率上均优于朴素的压缩-压缩方法,当$A$和$B$的列向量位于同一锥体内时,其性能甚至可任意优于基线方法。
  • 在Apache Spark实验中,SMP-PCA在合成数据和真实世界数据集上均展现出优于基线方法的计算与统计性能。
  • 采用基于CDF的二分查找的多项式行内采样策略,将时间复杂度降低至$O(m \log n)$($m$为采样数),从而支持高效的分布式处理。
  • 重缩放JL嵌入相比标准JL嵌入,能更准确地估计点积,尤其在范数分布不均的高维场景下表现更优。
  • 该算法的运行时间为$O((\text{nnz}(A)+\text{nnz}(B))\frac{\rho^{2}r^{3}\tilde{r}}{\eta^{2}} + \frac{nr^{6}\rho^{4}\tilde{r}^{3}}{\eta^{4}})$,与两轮方法相比具有竞争力,且随输入规模呈次平方级增长。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。