Вопрос или проблема
Проблема: Рассмотрите двумерные образы (2, 1), (3, 5), (4, 3), (5, 6), (6, 7), (7, 8). Вычислите главную компоненту, используя алгоритм PCA. Используйте алгоритм PCA для преобразования образа (2, 1) на собственный вектор.
Вот как я это решил:
Вот с чем я сравниваю:
https://www.gatevidyalay.com/principal-component-analysis-dimension-reduction/
У него другой собственный вектор, чем у меня:
У него также другое преобразование, чем у меня:
Что происходит? Я прав? Как мне проверить, прав ли я? Где я ошибаюсь? Пожалуйста, помогите мне…
Ваш ответ правильный. У меня тоже такой же ответ, как у вас.
Ответ или решение
При выполнении анализа главных компонент (PCA) для снижения размерности данных могут возникать расхождения в ответах по нескольким причинам. Давайте рассмотрим ваши результаты и возможные причины несоответствий с результатами другого источника.
1. Методика расчета собственных векторов и значений
Первое, что стоит уточнить, это метод расчета собственных векторов и собственных значений. PCA включает в себя следующие ключевые этапы:
-
Центрирование данных: Прежде чем продолжить, необходимо вычесть среднее значение из каждого измерения, чтобы данные были центрированы вокруг нуля.
-
Ковариационная матрица: Считается ковариационная матрица центрированных данных.
-
Собственные значения и собственные векторы: Из ковариационной матрицы извлекаются собственные значения и соответствующие собственные векторы. Здесь важно использовать правильный метод, так как разное программное обеспечение может использовать разные алгоритмы для вычисления этих величин.
Если в вашем решении использовалась другая формула или метод для получения собственных значений и векторов, это может привести к различиям. Убедитесь, что вы используете стандартный метод, например, метод характеристического полинома.
2. Выбор компонентов и их порядок
Порядок собственных векторов также имеет значение. Обычно компоненты сортируются по убыванию собственных значений. Если вы или другой источник упустили этап сортировки, это также может привести к различиям в конечных трансформациях.
3. Программные инструменты и программный код
Разное программное обеспечение может по-разному обрабатывать данные. Например, использование библиотек в Python (как NumPy или scikit-learn) может отличаться по умолчанию в настройках. Многие библиотеки могут предлагать разные параметры, такие как нормализация данных перед расчетом или разные методы вычисления собственных векторов. Убедитесь, что используете одинаковые настройки и параметры с тем ресурсом, с которым вы сравниваете свои результаты.
4. Проверка результатов
Чтобы проверить ваши результаты, выполните следующие шаги:
-
Сравните матрицы: Проверьте вашу ковариационную матрицу и убедитесь, что она совпадает с матрицей из другого ресурса.
-
Используйте несколько инструментов: Проверьте ваши результаты с помощью других программных решений (например, Python, R, MATLAB). Сравнение результатов из разных источников может помочь подтвердить правильность вашего ответа.
-
Визуализация данных: Постройте график оригинальной выборки и проекции на главные компоненты для наглядного сравнения.
Заключение
Если вы следовали стандартным методам и получили результат, который совпадает с тем, что вы привели, то, скорее всего, вы правы. Расхождения могут возникнуть из-за различных методик, инструментов или этапов в процессе расчетов. Убедитесь, что все этапы корректны и пересмотрите используемые вами алгоритмы для достижения точных результатов.