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