108
21

Dimension Independent Matrix Square using MapReduce

Abstract

We compute the singular values of an m×nm \times n sparse matrix AA in a distributed setting, without communication dependence on mm, which is useful for very large mm. In particular, we give a simple nonadaptive sampling scheme where the singular values of AA are estimated within relative error with constant probability. Our proven bounds focus on the MapReduce framework, which has become the de facto tool for handling such large matrices that cannot be stored or even streamed through a single machine. On the way, we give a general method to compute ATAA^TA. We preserve singular values of ATAA^TA with ϵ\epsilon relative error with shuffle size O(n2/ϵ2)O(n^2/\epsilon^2) and reduce-key complexity O(n/ϵ2)O(n/\epsilon^2). We further show that if only specific entries of ATAA^TA are required and AA has nonnegative entries, then we can reduce the shuffle size to O(nlog(n)/s)O(n \log(n) / s) and reduce-key complexity to O(log(n)/s)O(\log(n)/s), where ss is the minimum cosine similarity for the entries being estimated. All of our bounds are independent of mm, the larger dimension. We provide open-source implementations in Spark and Scalding, along with experiments in an industrial setting.

View on arXiv
Comments on this paper