Stochastic Subsampling for Factorizing Huge Matrices
This provides a scalable solution for applications like dictionary learning and non-negative matrix factorization on massive datasets, though it is incremental in improving efficiency.
The authors tackled the problem of scaling matrix factorization to huge matrices with both many rows and columns, achieving significant speed-ups on massive datasets like 2 TB fMRI and 103 GB hyperspectral images compared to state-of-the-art algorithms.
We present a matrix-factorization algorithm that scales to input matrices with both huge number of rows and columns. Learned factors may be sparse or dense and/or non-negative, which makes our algorithm suitable for dictionary learning, sparse component analysis, and non-negative matrix factorization. Our algorithm streams matrix columns while subsampling them to iteratively learn the matrix factors. At each iteration, the row dimension of a new sample is reduced by subsampling, resulting in lower time complexity compared to a simple streaming algorithm. Our method comes with convergence guarantees to reach a stationary point of the matrix-factorization problem. We demonstrate its efficiency on massive functional Magnetic Resonance Imaging data (2 TB), and on patches extracted from hyperspectral images (103 GB). For both problems, which involve different penalties on rows and columns, we obtain significant speed-ups compared to state-of-the-art algorithms.