Я не уверен, правильно ли применяю PCA или нет! У меня есть функции p и n наблюдений (экземпляры). Я помещаю их в nxp-матрицу X. Я выполняю среднюю нормировку и получаю нормированную матрицу B. Я вычисляю собственные значения и собственные векторы матрицы ковариации pxp C = (1/(n-1)) B * .B, где * означает сопряженная транспозиция.Как использовать анализ основных компонентов (PCA) для ускорения обнаружения?
Собственные векторы, соответствующие нисходящим упорядоченным собственным значениям, находятся в матрице pxp E. Предположим, я хочу уменьшить количество атрибутов от p до k. Я использую уравнение X_new = B.E_reduced, где E_reduced создается, выбирая первые k столбцов E. Вот мои вопросы:
1) Должен ли он быть X_new = B.E_reduced или X_new = X.E_reduced?
2) Должен ли я повторять приведенные выше расчеты на этапе тестирования? Если фаза тестирования похожа на фазу обучения, то ускорение не достигается, потому что я должен рассчитать все функции p для каждого экземпляра на этапе тестирования, а PCA делает алгоритм более медленным из-за собственных расходов на вычисление собственных векторов.
3) После применения PCA я заметил, что точность уменьшилась. Связано ли это с числом k (I set k = p/2) или тем фактом, что я использую линейный PCA вместо ядра PCA? Каков наилучший способ выбрать число k? Я читал, что я могу найти отношение суммирования k собственных значений по суммированию всех собственных значений и принять решение на основе этого отношения.
Проекционная матрица - матрица B, я прав? Что такое вектор сдвига? Итак, я получаю вектор 1xp y для тестового экземпляра. Как проецировать вектор y? Я не использовал масштабирование по корням собственных значений, не могли бы вы рассказать об этом? По способу, вы имеете в виду метод классификации? – user5388874
Обычно можно построить матрицу проекции по-разному, включая коэффициенты масштабирования. Смещение сдвига - это вектор, используемый для центрирования, поэтому вы выполняете операцию B (x-mu). –