In applications such as natural language processing or computer vision, one is given a large matrix and would like to compute a matrix decomposition, e.g., a low rank approximation, of a function $f(A) = (f(a_{i,j}))A$. A very important special case is the likelihood function $f\left( A \right ) = \log{\left( \left| a_{ij}\right| +1\right)}f$ to each entry of , and then compute the matrix decomposition, but this requires storing all of as well as multiple passes over its entries. Recent work of Liang et al.\ shows how to find a rank- factorization to for an $n \times nAn \cdot \operatorname{poly}(\epsilon^{-1}k\log n)10|f(A)-[f(A)]_k|F^2 + \operatorname{poly}(\epsilon/k) |f(A)|{1,2}^2[f(A)]_k$ is the best rank- approximation to and is the square of the sum of Euclidean lengths of rows of . Their algorithm uses three passes over the entries of . The authors pose the open question of obtaining an algorithm with words of memory using only a single pass over the entries of . In this paper we resolve this open question, obtaining the first single-pass algorithm for this problem and for the same class of functions studied by Liang et al. Moreover, our error is $|f(A)-[f(A)]_k|_F^2 + \operatorname{poly}(\epsilon/k) |f(A)|_F^2|f(A)|_F^2$ is the sum of squares of Euclidean lengths of rows of . Thus our error is significantly smaller, as it removes the factor of and also . We also give an algorithm for regression, pointing out an error in previous work, and empirically validate our results.

生成讲解博客的中文版本

生成AI智能校验的中文版本