I am trying to do sparse PCA/dictionary learning, that is decompose a matrix $X\approx UV$ where the loading matrix $V$ is sparse, usually enforced with an $\ell_1$ penalty (the difference between sparse PCA and dictionary learning being whether the inner dimension of $U$ and $V$ is greater than the smaller dimension of $X$). In my data the columns of $X$ are extremely large (order $10^8$) but extremely sparse (order $10^2$). Are there specialized algorithms for the case of sparse data? Online is a plus.
$\begingroup$
$\endgroup$
2
-
1$\begingroup$ The R package irlba is fantastic for SVD on sparse data, which will get you most of the way to PCA. $\endgroup$– ZachCommented Jan 24, 2014 at 19:28
-
$\begingroup$ I believe that this answer of mine is relevant to your question. $\endgroup$– Aleksandr BlekhCommented Feb 1, 2015 at 3:48
Add a comment
|
1 Answer
$\begingroup$
$\endgroup$
If I were to have a similar problem, I would directly perform random projections on X and do the dictionary learning/sparse PCA on the projected X.