У меня есть массив 75x60 в Matlab. Я пытаюсь сделать PCA. Я пытаюсь проверить свою работу, убедившись, что наибольшее собственное значение, возвращаемое eig (matrix), возвращает то же самое, что и d (1) * d (1) в [u d v] = svd (matrix). Они безумно ушли. Единственное, что я вижу, что может пойти не так, - это унижение.Как унизить данные для PCA
Вот как я обработки унизительно:
%v is a 75x60 array
%rowS is 75
avgVector= mean(v,1);
muMatrix = repmat(avgVector,rowS,1);
v = v-muMatrix;
Если бы я называть СВД (v) он будет возвращать очень разные значения, чем EiG (СОУ (v)), то ли претерпело v выше унижения или нет.