Cleve's Cubicle

From Wikimization

(Difference between revisions)
Jump to: navigation, search
(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 18: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)))
Personal tools