У меня есть набор изображений (N около 200), где каждое изображение формируется матрицей 148x149, поэтому я изменяю каждое изображение в 1-D векторный размер 148 * 149.Итак, у меня есть матрица X = [148 * 149 200], где каждый столбец содержит одно изображение.И значит (X) уже 0.
При попытке реализовать уменьшение размеров с помощью PCA я запутываюсь в том, что это за функции.
, если я делаю:
[~, pca_scores, ~, ~, var_explained] = pca(set, 'NumComponents', 2);
pca_scores имеет размер [148 * 149 2]
Если я теперь преобразую в новое пространство:
Z = pca_scores'*X;
В результате Z [2x250].Это означает, что теперь каждое изображение просто представлено первыми двумя основными компонентами.
И если мне нужно преобразовать обратно:
X_estimate = pca_scores*Z;
Где теперь X_estimate - это размер [148 * 149 250],в качестве исходного пространства.
Что я не понимаю, так это то, что при чтении изображений я использую не пиксели, а число выборок (N).
Является ли понятие собственных граней иСобственные векторы в изображениях одинаковы?Или в этом случае PCA неправильно применяется?