# Cleve's Cubicle

### From Wikimization

(Difference between revisions)

(New page: Singular Value Decomposition <i>versus</i> Principal Component Analysis SVD meets PCA MATLAB News & Notes, 2006, Cleve’s Corner <pre>“The Wikipedia pages on SVD and PCA are quite ...) |
|||

Line 1: | Line 1: | ||

Singular Value Decomposition <i>versus</i> Principal Component Analysis | Singular Value Decomposition <i>versus</i> Principal Component Analysis | ||

- | SVD meets PCA | + | <i>SVD meets PCA</i>, by Cleve Moler |

- | MATLAB News & Notes, | + | [https://www.mathworks.com/company/newsletters/articles/professor-svd.html MATLAB News & Notes, 2006, Cleve’s Corner] |

- | 2006, | + | |

- | Cleve’s Corner | + | |

<pre>“The Wikipedia pages on SVD and PCA are | <pre>“The Wikipedia pages on SVD and PCA are | ||

quite good and contain a number of useful links, | quite good and contain a number of useful links, | ||

although not to each other.”</pre> | although not to each other.”</pre> | ||

- | |||

- | <math>-</math>https://www.mathworks.com/company/newsletters/articles/professor-svd.html | ||

<pre> | <pre> |

## Revision as of 17:04, 17 October 2017

Singular Value Decomposition *versus* Principal Component Analysis

*SVD meets PCA*, by Cleve Moler

MATLAB News & Notes, 2006, Cleve’s Corner

“The Wikipedia pages on SVD and PCA are quite good and contain a number of useful links, although not to each other.”

%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)))