Algorithm 971 An Implementation of a Randomized Algorithm for Principal Component Analysis

Recent years have witnessed intense development of randomized methods for low-rank approximation. These methods target principal component analysis and the calculation of truncated singular value decompositions. The present article presents an essentially black-box, foolproof implementation for Math...

Full description

Saved in:
Bibliographic Details
Published inACM transactions on mathematical software Vol. 43; no. 3; pp. 1 - 14
Main Authors Li, Huamin, Linderman, George C., Szlam, Arthur, Stanton, Kelly P., Kluger, Yuval, Tygert, Mark
Format Journal Article
LanguageEnglish
Published United States 01.01.2017
Subjects
Online AccessGet full text
ISSN0098-3500
1557-7295
DOI10.1145/3004053

Cover

More Information
Summary:Recent years have witnessed intense development of randomized methods for low-rank approximation. These methods target principal component analysis and the calculation of truncated singular value decompositions. The present article presents an essentially black-box, foolproof implementation for Mathworks’ MATLAB, a popular software platform for numerical computation. As illustrated via several tests, the randomized algorithms for low-rank approximation outperform or at least match the classical deterministic techniques (such as Lanczos iterations run to convergence) in basically all respects: accuracy, computational efficiency (both speed and memory usage), ease-of-use, parallelizability, and reliability. However, the classical procedures remain the methods of choice for estimating spectral norms and are far superior for calculating the least singular values and corresponding singular vectors (or singular subspaces).
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 23
Huamin Li and George C. Linderman contributed equally to this work.
ISSN:0098-3500
1557-7295
DOI:10.1145/3004053