Fast monte-carlo algorithms for finding low-rank approximations
We consider the problem of approximating a given m × n matrix A by another matrix of specified rank k , which is smaller than m and n . The Singular Value Decomposition (SVD) can be used to find the "best" such approximation. However, it takes time polynomial in m, n which is prohibitive f...
Gespeichert in:
Veröffentlicht in: | Journal of the ACM 2004-11, Vol.51 (6), p.1025-1041 |
---|---|
Hauptverfasser: | , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | We consider the problem of approximating a given
m
×
n
matrix
A
by another matrix of specified rank
k
, which is smaller than
m
and
n
. The Singular Value Decomposition (SVD) can be used to find the "best" such approximation. However, it takes time polynomial in
m, n
which is prohibitive for some modern applications. In this article, we develop an algorithm that is qualitatively faster, provided we may sample the entries of the matrix in accordance with a natural probability distribution. In many applications, such sampling can be done efficiently. Our main result is a randomized algorithm to find
the description of
a matrix
D
*
of rank at most
k
so that holds with probability at least 1 − δ (where |·|
F
is the Frobenius norm). The algorithm takes time polynomial in
k
,1/ϵ, log(1/δ) only and is
independent of m and n
. In particular, this implies that in constant time, it can be determined if a given matrix of arbitrary size has a good low-rank approximation. |
---|---|
ISSN: | 0004-5411 1557-735X |
DOI: | 10.1145/1039488.1039494 |