From Wikimization
(Difference between revisions)
|
|
(4 intermediate revisions not shown.) |
Line 1: |
Line 1: |
- | Singular Value Decomposition <i>versus</i> Principal Component Analysis | + | #REDIRECT [[Singular Value Decomposition versus Principal Component Analysis]] |
- | | + | |
- | <i>SVD meets PCA</i>, by Cleve Moler
| + | |
- | | + | |
- | [https://www.mathworks.com/company/newsletters/articles/professor-svd.html MATLAB News & Notes, 2006, Cleve’s Corner]
| + | |
- | | + | |
- | <pre>“The Wikipedia pages on SVD and PCA are
| + | |
- | quite good and contain a number of useful links,
| + | |
- | although not to each other.”</pre>
| + | |
- | | + | |
- | <pre>
| + | |
- | %relationship of pca to svd
| + | |
- | m=3; n=7;
| + | |
- | A = randn(m,n);
| + | |
- | | + | |
- | [coef,score,latent] = pca(A);
| + | |
- | | + | |
- | X = A - mean(A);
| + | |
- | [U,S,V] = svd(X,'econ');
| + | |
- | | + | |
- | % U vs. score
| + | |
- | rho = rank(X);
| + | |
- | sense = sign(score).*sign(U*S(:,1:rho)); %account for negated left singular vector
| + | |
- | sum(sum(abs(score - U*S(:,1:rho).*sense)))
| + | |
- | % S vs. latent
| + | |
- | sum(abs(latent - diag(S(:,1:rho)).^2/(m-1)))
| + | |
- | % V vs. coef
| + | |
- | sense2 = sign(coef).*sign(V(:,1:rho)); %account for corresponding negated right singular vector
| + | |
- | sum(sum(abs(coef - V(:,1:rho).*sense2)))
| + | |
- | </pre>
| + | |
Current revision
- REDIRECT Singular Value Decomposition versus Principal Component Analysis