У меня есть матрица X размером , содержащая мои N = 20 выборок в D = 100- мерном пространстве. Теперь я хочу написать свой собственный анализ основных компонентов (PCA) в Matlab. Сначала я унижаю X до X 0 .
Я читал из чьего-то кода, что в таких сценариях, где у нас больше измерений, чем наблюдений, мы больше не разлагаем собственные ковариационные матрицы . Вместо этого мы разлагаем собственные 1 . Почему это правильно?
Нормальная ковариационная матрица имеет размер , каждый элемент которой сообщает нам ковариацию между двумя измерениями. Мне 1 даже не правильных размеров! ЭтоматрицаN×N, что бы она нам сказала? Ковариация между двумя наблюдениями ?!
X'X
иXX'
(а также SVDX
иX'
). То, что называется «нагрузками» в одном случае, будет называться «показателями ПК» в другом и наоборот. Поскольку оба являются просто координатами ( см., Например ) и осями, «основные размеры» одинаковы.n<p
требуется меньше ОЗУ и меньше времени для разложения,XX'
поскольку он имеет меньший размер.XX'
компьютера к компьютеру. Не могли бы вы очень кратко показать мне, как? Учитывая, что ПК являются просто собственными векторами ковариационной матрицы, я попытался перейти от собственногоXX'
к собственному ковариационной матрицыX'X
, но потерпел неудачу.Ответы:
Ковариационная матрица имеет размер и задается как C = 1D × D
Матрица, о которой вы говорите, - это, конечно, не ковариационная матрица; она называется матрицей Грама и имеет размер : G = 1N× N
Анализ главных компонентов (PCA) может быть реализован посредством собственного разложения любой из этих матриц. Это просто два разных способа вычислить одно и то же.
Самый простой и полезный способ убедиться в этом - использовать разложение по сингулярным числам матрицы данных . Подставив это в выражения для C и G , мы получим: CX = U S V⊤ С г
Собственные векторы ковариационной матрицы являются главными направлениями. Проекции данных на эти собственные векторы являются основными компонентами; эти проекции задаются U S . Основные компоненты, масштабированные до длины единицы, определяются какВ U S . Как видите, собственные векторы матрицы Грама являются именно этими масштабированными главными компонентами. И собственные значения C и G совпадают.U С г
источник