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

svn commit: r1781625 - /mahout/site/mahout_cms/trunk/content/users/algorithms/d-spca.mdtext

Author: akm
Date: Fri Feb  3 23:42:54 2017
New Revision: 1781625

URL: http://svn.apache.org/viewvc?rev=1781625&view=rev
Log:
Formatting

Modified:
    mahout/site/mahout_cms/trunk/content/users/algorithms/d-spca.mdtext

Modified: mahout/site/mahout_cms/trunk/content/users/algorithms/d-spca.mdtext
URL: http://svn.apache.org/viewvc/mahout/site/mahout_cms/trunk/content/users/algorithms/d-spca.mdtext?rev=1781625&r1=1781624&r2=1781625&view=diff
==============================================================================
--- mahout/site/mahout_cms/trunk/content/users/algorithms/d-spca.mdtext (original)
+++ mahout/site/mahout_cms/trunk/content/users/algorithms/d-spca.mdtext Fri Feb  3 23:42:54 2017
@@ -10,7 +10,7 @@ Mahout has a distributed implementation
 Given an *m* `\(\times\)` *n* matrix `\(\mathbf{A}\)`, a target rank *k*, and an oversampling parameter *p*, this procedure computes a *k*-rank PCA by finding the unknowns in `\(\mathbf{A−1\mu^\top \ge U\Sigma V}\)`:
 
 1. Create seed for random *n* `\(\times\)` *(k+p)* matrix `\(\Omega\)`.
-2. `\(s_\Omega \leftarrow \Omega^\top \mu\)`.
+2. `\(\mathbf{s_\Omega \leftarrow \Omega^\top \mu}\)`.
 3. `\(\mathbf{Y_0 \leftarrow A\Omega − 1 {s_\Omega}^\top, Y \in \mathbb{R}^{m\times(k+p)}}\)`.
 4. Column-orthonormalize `\(\mathbf{Y_0} \rightarrow \mathbf{Q}\)` by computing thin decomposition `\(\mathbf{Y_0} = \mathbf{QR}\)`. Also, `\(\mathbf{Q}\in\mathbb{R}^{m\times(k+p)}, \mathbf{R}\in\mathbb{R}^{(k+p)\times(k+p)}\)`.
 5. `\(\mathbf{s_Q \leftarrow Q^\top 1}\)`.
@@ -18,7 +18,7 @@ Given an *m* `\(\times\)` *n* matrix `\(
 7. `\(\mathbf{s_B \leftarrow {B_0}^\top \mu}\)`.
 8. For *i* in 1..*q* repeat (power iterations):
     - For *j* in 1..*n* apply `\(\mathbf{(B_{i−1})_{∗j} \leftarrow (B_{i−1})_{∗j}−\mu_j s_Q}\)`.
-    - `\(\mathbf{Y_i \leftarrow (A{B_{i−1}}^\top)−1(s_B−\mu^\top \mu s_Q)^\top)}\)`.
+    - `\(\mathbf{Y_i \leftarrow A{B_{i−1}}^\top−1(s_B−\mu^\top \mu s_Q)^\top}\)`.
     - Column-orthonormalize `\(\mathbf{Y_i} \rightarrow \mathbf{Q}\)` by computing thin decomposition `\(\mathbf{Y_i = QR}\)`.
     - `\(\mathbf{s_Q \leftarrow Q^\top 1}\)`.
     - `\(\mathbf{B_i \leftarrow Q^\top A}\)`.
@@ -27,7 +27,7 @@ Given an *m* `\(\times\)` *n* matrix `\(
 10. Compute an eigensolution of the small symmetric `\(\mathbf{M = \hat{U} \Lambda \hat{U}^\top: M \in \mathbb{R}^{(k+p)\times(k+p)}}\)`.
 11. The singular values `\(\Sigma = \Lambda^{\circ 0.5}\)`, or, in other words, `\(\mathbf{\sigma_i= \sqrt{\lambda_i}}\)`.
 12. If needed, compute `\(\mathbf{U = Q\hat{U}}\)`.
-13. If needed, compute `\(\mathbf{V = B^\top \hat{U} \Sigma^{−1}}\)`. Another way is `\(\mathbf{V = A^\top U\Sigma^{−1}}\).
+13. If needed, compute `\(\mathbf{V = B^\top \hat{U} \Sigma^{−1}}\)`. Another way is `\(\mathbf{V = A^\top U\Sigma^{−1}}\)`.
 14. If needed, items converted to the PCA space can be computed as `\(\mathbf{U\Sigma}\)`.
 
 ## Implementation