Single-Pass PCA of Large High-Dimensional Data

Single-Pass PCA of Large High-Dimensional Data

Wenjian Yu, Yu Gu, Jian Li, Shenghua Liu, Yaohang Li

Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence
Main track. Pages 3350-3356. https://doi.org/10.24963/ijcai.2017/468

Principal component analysis (PCA) is a fundamental dimension reduction tool in statistics and machine learning. For large and high-dimensional data, computing the PCA (i.e., the top singular vectors of the data matrix) becomes a challenging task. In this work, a single-pass randomized algorithm is proposed to compute PCA with only one pass over the data. It is suitable for processing extremely large and high-dimensional data stored in slow memory (hard disk) or the data generated in a streaming fashion. Experiments with synthetic and real data validate the algorithm's accuracy, which has orders of magnitude smaller error than an existing single-pass algorithm. For a set of high-dimensional data stored as a 150 GB file, the algorithm is able to compute the first 50 principal components in just 24 minutes on a typical 24-core computer, with less than 1 GB memory cost.
Keywords:
Machine Learning: Data Mining
Machine Learning: Feature Selection/Construction
Machine Learning: Time-series/Data Streams