Processing math: 37%

Fast and Memory Optimal Low-Rank Matrix Approximation

Part of Advances in Neural Information Processing Systems 28 (NIPS 2015)

Bibtex Metadata Paper Reviews Supplemental

Authors

Se-Young Yun, marc lelarge, Alexandre Proutiere

Abstract

In this paper, we revisit the problem of constructing a near-optimal rank k approximation of a matrix M[0,1]m×n under the streaming data model where the columns of M are revealed sequentially. We present SLA (Streaming Low-rank Approximation), an algorithm that is asymptotically accurate, when ksk+1(M)=o(mn) where sk+1(M) is the (k+1)-th largest singular value of M. This means that its average mean-square error converges to 0 as m and n grow large (i.e., with high probability, where \hat{M}^{(k)} and M^{(k)} denote the output of SLA and the optimal rank k approximation of M, respectively). Our algorithm makes one pass on the data if the columns of M are revealed in a random order, and two passes if the columns of M arrive in an arbitrary order. To reduce its memory footprint and complexity, SLA uses random sparsification, and samples each entry of M with a small probability \delta. In turn, SLA is memory optimal as its required memory space scales as k(m+n), the dimension of its output. Furthermore, SLA is computationally efficient as it runs in O(\delta kmn) time (a constant number of operations is made for each observed entry of M), which can be as small as O(k\log(m)^4 n) for an appropriate choice of \delta and if n\ge m.