You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by bu...@apache.org on 2017/02/03 23:42:59 UTC

svn commit: r1006169 - in /websites/staging/mahout/trunk/content: ./ users/algorithms/d-spca.html

Author: buildbot
Date: Fri Feb  3 23:42:59 2017
New Revision: 1006169

Log:
Staging update by buildbot for mahout

Modified:
    websites/staging/mahout/trunk/content/   (props changed)
    websites/staging/mahout/trunk/content/users/algorithms/d-spca.html

Propchange: websites/staging/mahout/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Feb  3 23:42:59 2017
@@ -1 +1 @@
-1781623
+1781625

Modified: websites/staging/mahout/trunk/content/users/algorithms/d-spca.html
==============================================================================
--- websites/staging/mahout/trunk/content/users/algorithms/d-spca.html (original)
+++ websites/staging/mahout/trunk/content/users/algorithms/d-spca.html Fri Feb  3 23:42:59 2017
@@ -286,7 +286,7 @@ h2:hover > .headerlink, h3:hover > .head
 <p>Given an <em>m</em> <code>\(\times\)</code> <em>n</em> matrix <code>\(\mathbf{A}\)</code>, a target rank <em>k</em>, and an oversampling parameter <em>p</em>, this procedure computes a <em>k</em>-rank PCA by finding the unknowns in <code>\(\mathbf{A−1\mu^\top \ge U\Sigma V}\)</code>:</p>
 <ol>
 <li>Create seed for random <em>n</em> <code>\(\times\)</code> <em>(k+p)</em> matrix <code>\(\Omega\)</code>.</li>
-<li><code>\(s_\Omega \leftarrow \Omega^\top \mu\)</code>.</li>
+<li><code>\(\mathbf{s_\Omega \leftarrow \Omega^\top \mu}\)</code>.</li>
 <li><code>\(\mathbf{Y_0 \leftarrow A\Omega − 1 {s_\Omega}^\top, Y \in \mathbb{R}^{m\times(k+p)}}\)</code>.</li>
 <li>Column-orthonormalize <code>\(\mathbf{Y_0} \rightarrow \mathbf{Q}\)</code> by computing thin decomposition <code>\(\mathbf{Y_0} = \mathbf{QR}\)</code>. Also, <code>\(\mathbf{Q}\in\mathbb{R}^{m\times(k+p)}, \mathbf{R}\in\mathbb{R}^{(k+p)\times(k+p)}\)</code>.</li>
 <li><code>\(\mathbf{s_Q \leftarrow Q^\top 1}\)</code>.</li>
@@ -294,7 +294,7 @@ h2:hover > .headerlink, h3:hover > .head
 <li><code>\(\mathbf{s_B \leftarrow {B_0}^\top \mu}\)</code>.</li>
 <li>For <em>i</em> in 1..<em>q</em> repeat (power iterations):<ul>
 <li>For <em>j</em> in 1..<em>n</em> apply <code>\(\mathbf{(B_{i−1})_{∗j} \leftarrow (B_{i−1})_{∗j}−\mu_j s_Q}\)</code>.</li>
-<li><code>\(\mathbf{Y_i \leftarrow (A{B_{i−1}}^\top)−1(s_B−\mu^\top \mu s_Q)^\top)}\)</code>.</li>
+<li><code>\(\mathbf{Y_i \leftarrow A{B_{i−1}}^\top−1(s_B−\mu^\top \mu s_Q)^\top}\)</code>.</li>
 <li>Column-orthonormalize <code>\(\mathbf{Y_i} \rightarrow \mathbf{Q}\)</code> by computing thin decomposition <code>\(\mathbf{Y_i = QR}\)</code>.</li>
 <li><code>\(\mathbf{s_Q \leftarrow Q^\top 1}\)</code>.</li>
 <li><code>\(\mathbf{B_i \leftarrow Q^\top A}\)</code>.</li>
@@ -305,7 +305,7 @@ h2:hover > .headerlink, h3:hover > .head
 <li>Compute an eigensolution of the small symmetric <code>\(\mathbf{M = \hat{U} \Lambda \hat{U}^\top: M \in \mathbb{R}^{(k+p)\times(k+p)}}\)</code>.</li>
 <li>The singular values <code>\(\Sigma = \Lambda^{\circ 0.5}\)</code>, or, in other words, <code>\(\mathbf{\sigma_i= \sqrt{\lambda_i}}\)</code>.</li>
 <li>If needed, compute <code>\(\mathbf{U = Q\hat{U}}\)</code>.</li>
-<li>If needed, compute <code>\(\mathbf{V = B^\top \hat{U} \Sigma^{−1}}\)</code>. Another way is `(\mathbf{V = A^\top U\Sigma^{−1}}).</li>
+<li>If needed, compute <code>\(\mathbf{V = B^\top \hat{U} \Sigma^{−1}}\)</code>. Another way is <code>\(\mathbf{V = A^\top U\Sigma^{−1}}\)</code>.</li>
 <li>If needed, items converted to the PCA space can be computed as <code>\(\mathbf{U\Sigma}\)</code>.</li>
 </ol>
 <h2 id="implementation">Implementation<a class="headerlink" href="#implementation" title="Permanent link">&para;</a></h2>