Чтобы выполнить анализ главных компонентов (PCA), вы должны вычесть средние значения каждого столбца из данных, вычислить матрицу коэффициентов корреляции и затем найти собственные векторы и собственные значения. Ну, скорее, это то, что я сделал, чтобы реализовать его в Python, за исключением того, что он работает только с небольшими матрицами, потому что метод поиска матрицы коэффициентов корреляции (corrcoef) не позволяет мне использовать массив с высокой размерностью. Поскольку я должен использовать его для изображений, моя текущая реализация мне не очень помогает.
Я читал, что можно просто взять матрицу данных и вычислить D D ⊤ / n вместо D ⊤ D / n , но это не работает для меня. Ну, я не совсем уверен, что понимаю, что это означает, кроме того факта, что это должна быть матрица n × n вместо p × p (в моем случае p ≫ n ). Я читал об этом в уроках eigenfaces, но ни один из них, казалось, не объяснял это таким образом, что я мог действительно получить это.
Короче говоря, есть ли простое алгоритмическое описание этого метода, чтобы я мог следовать ему?