Ist dies der richtige Weg, um das Trainingsset in den Eigespace zu projizieren? MATLAB
Ich habe PCA folgendermaßen berechnet:
function [signals,V] = pca2(data)
[M,N] = size(data);
data = reshape(data, M*N,1);
% subtract off the mean for each dimension
mn = mean(data,2);
data = bsxfun(@minus, data, mean(data,1));
% construct the matrix Y
Y = data'*data / (M*N-1);
[V D] = eigs(Y, 10); % reduce to 10 dimension
% project the original data
signals = data * V;
Meine Frage ist:
Ist "Signale" die Projektion der Trainingsmenge in den Eigenraum?
Ich habe in "Amir Hossein" -Code gesehen, dass "zentrierte Bildvektoren", dh "Daten" in dem obigen Code, durch Multiplikation in den Eigenraum der Basis in den "Gesichtsraum" projiziert werden müssen. Ich verstehe nicht wirklich, warum die Projektion mit zentrierten Bildvektoren durchgeführt wird? Reichen "Signale" nicht zur Klassifizierung aus?