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