]> AND Private Git Repository - these_gilles.git/blob - SFF/Training/pca.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
final
[these_gilles.git] / SFF / Training / pca.m
1 % =================================================================
2 %  Sparse Feature Fidelity (SFF) Version 2.0
3 %  Copyright(c) 2013  Hua-wen Chang
4 %  All Rights Reserved.
5 % ----------------------------------------------------------------
6 % WHITENING AND DIMENSIONALITY REDUCTION BY PCA
7 %
8 % INPUT variables:
9 % X                  matrix with image patches as columns
10 % OUTPUT variables:
11 % V                  whitening matrix
12 % E                  principal component transformation (orthogonal)
13 % D                  variances of the principal components
14 % =================================================================
15
16 function [V,E,D] = pca(X)
17
18
19 covarianceMatrix = X*X'/size(X,2);
20 [E, D] = eig(covarianceMatrix);
21 [dummy,order] = sort(diag(-D));
22 E = E(:,order);
23 d = diag(D); 
24 dsqrtinv = real(d.^(-0.5));
25 Dsqrtinv = diag(dsqrtinv(order));
26 D = diag(d(order));
27 V = Dsqrtinv*E';