Mathematics > Numerical Analysis
[Submitted on 19 May 2017 (this version), latest version 7 Oct 2018 (v3)]
Title:Low-Rank Approximation via Sparse Frequent Directions
View PDFAbstract:In this paper, we describe a new randomized algorithm for low-rank approximation -- Sparse Frequent Directions (SpFD). It combines techniques of frequent directions (FD) and sparse subspace embedding (SpEmb). Given a matrix $A\in\mathbb{R}^{n\times d}$, this new algorithm is able to find a sketch $B\in\mathbb{R}^{\ell\times d}$ and a matrix $V\in\mathbb{R}^{d\times \ell}$ whose columns form an orthonormal basis for the row space of $B$, such that with probability at least $1-\delta$, \[ \norm{A- \Pi_{B}^k(A)}_F^2 \left( = \norm{A-[AV]_kV^T}_F^2\right) \leq \norm{A-A_k}_F^2 + \left(\dfrac{k}{(\ell-k)\delta}+\varepsilon\right)\norm{A}_F^2 \] in only $O(nnz(A)+d\ell k^2/(\varepsilon^2\delta))$ time. By taking $\ell = O(k/(\varepsilon\delta))$, the error bound becomes \[ \norm{A- \Pi_{B}^k(A)}_F^2 \leq \norm{A-A_k}_F^2 + \varepsilon\norm{A}_F^2 \] with running time $O(nnz(A)+dk^3/(\varepsilon^3\delta^2))$. In comparison with FD that runs in $O(nd\ell) = O(ndk/\varepsilon)$ time and SpEmb that runs in $O(nnz(A)+d\ell^2) = O(nnz(A)+dk^4/(\varepsilon^4\delta^2))$ time to reach `relative-error' bound, SpFD is rather efficient and respects the possible sparsity of the input matrix. In terms of accuracy, SpFD requires sketch size $\ell = O(k/(\varepsilon\delta))$ which is linear on $k$, on the same order of FD, while SpEmb requires $\ell = O((k^2+k)/(\varepsilon^2\delta))$. SpFD is able to reach high accuracy with relatively small sketch size. SpFD is a combination of FD and SpEmb in favor of FD's accuracy and SpEmb's efficiency which is supported by theory and experimental results.
Submission history
From: Dan Teng [view email][v1] Fri, 19 May 2017 18:41:03 UTC (538 KB)
[v2] Sun, 18 Jun 2017 15:55:50 UTC (866 KB)
[v3] Sun, 7 Oct 2018 10:54:10 UTC (5,528 KB)
References & Citations
export BibTeX citation
Loading...
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Connected Papers (What is Connected Papers?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
alphaXiv (What is alphaXiv?)
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Hugging Face (What is Huggingface?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.