distributed incremental SVD - MathOverflow most recent 30 from http://mathoverflow.net2013-05-24T18:09:14Zhttp://mathoverflow.net/feeds/question/32158http://www.creativecommons.org/licenses/by-nc/2.5/rdfhttp://mathoverflow.net/questions/32158/distributed-incremental-svddistributed incremental SVDRedSnow2010-07-16T12:02:16Z2010-08-06T16:58:59Z
<p>Hello all,</p>
<p>I need some theoretical pointers (formulas, articles, online links) on how to merge Singular Value Decompositions (SVD) of two matrices (two different sets of observations over the same set of features).</p>
<p>That is, I have two SVDs: $A=U_A*S_A*V^T_A$ and $B=U_B*S_B*V^T_B$ and want to know SVD $A|B=U_{A|B}*S_{A|B}*V_{A|B}$. The original matrices $A$ and $B$ are unavailable, the solution must make use of the $U_A, S_A, V_A, U_B, S_B, V_B$ matrices only.</p>
<p>I need this because I want to implement a distributed version of incremental SVD: have several computation nodes work on different sets of observations independently, and then merge their results into one.</p>
<p>Cheers!</p>
http://mathoverflow.net/questions/32158/distributed-incremental-svd/32177#32177Answer by SandeepJ for distributed incremental SVDSandeepJ2010-07-16T14:20:23Z2010-07-16T21:35:42Z<p>The people aspiring for the <a href="http://en.wikipedia.org/wiki/Netflix_Prize" rel="nofollow">Netflix prize</a> like incremental SVDs. See </p>
<ol>
<li><a href="https://issues.apache.org/jira/browse/MAHOUT-371" rel="nofollow">https://issues.apache.org/jira/browse/MAHOUT-371</a></li>
<li>B.M. Sarwar, G.Karypis, J.A. Konstan, and J. Reidl. Incremental singular value deocmposition algorithms for highly scalable recommender systems. In Proceedings of the Fifth International Conference on Computer and Information Technology (ICCIT), 2002. (<a href="http://www.grouplens.org/papers/pdf/sarwar_SVD.pdf" rel="nofollow">ONLINE</a>)</li>
<li>M. Brand. Fast online svd revisions
for lightweight recommender systems.
In Proceedings of the 3rd SIAM
International Conference on Data
Mining, 2003. and <a href="http://www.merl.com/publications/TR2002-024/" rel="nofollow">his tech report</a></li>
</ol>
<p>Have you tried searching the <a href="http://portal.acm.org/portal.cfm" rel="nofollow">ACM digital library</a> for parallel SVD or singular value decomposition? </p>
<p><strong>EDIT1 based on new input</strong> : See the following two papers by Hall, Marshall and Martin </p>
<ol>
<li><a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.804" rel="nofollow">Merging and Splitting Eigenspace
Models</a> (Section 3)</li>
<li><a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.9.1496" rel="nofollow">On Adding and Subtracting
Eigenspaces with EVD and SVD</a></li>
</ol>
http://mathoverflow.net/questions/32158/distributed-incremental-svd/34787#34787Answer by Jed for distributed incremental SVDJed2010-08-06T16:58:59Z2010-08-06T16:58:59Z<p>You may also be interested in <a href="http://www.grycap.upv.es/slepc/" rel="nofollow">SLEPc</a> which is a widely used package offering parallel algorithms for computing a few singular values and vectors (and eigensystems). It scales to very large problems and hundreds of thousands of cores.</p>