Чи все ж PCA проводиться за допомогою ейгендекомпозиції матриці коваріації, коли розмірність більша за кількість спостережень?


10

У мене є матриця , що містить мій зразків у -вимірному просторі. Тепер я хочу зашифрувати власний аналіз основних компонентів (PCA) в Matlab. Я спочатку применшую до .20×100XN=20D=100XX0

Я читав з чийогось коду, що в таких сценаріях, де у нас більше вимірів, ніж спостережень, ми більше не розкладаємо власне матрицю коваріації . Замість цього ми Ейген-розкладатися . Чому це правильно?X01N1X0X0T

Нормальна матриця коваріації має розмір , кожен елемент якої повідомляє нам про коваріацію між двома вимірами. Для мене навіть не має правильних розмірів! Це матриця , і що б вона нам сказала? Коваріація між двома спостереженнями ?!D×D1N1X0X0TN×N


Відповідь на ваше запитання полягає в тому, що - як випливає з постановки завдання - вам не потрібна матриця коваріації стовпців для себе. Ви хотіли це лише як шлях до отримання ПК. Правильно? Але ті ж самі результати РСА можуть бути отримані з допомогою Ейгеном з X'Xі XX'(а також СВД від Xі X'). Те, що в одному випадку називається "завантаженням", в іншому називатиметься "балами ПК", і навпаки. Оскільки обидві - це лише координати ( див., Наприклад, ) і осі, "головні розміри" однакові.
ttnphns

1
(продовження.) Якщо так, і ви вільні вибирати, що розкласти - розумно розкласти те, що робити швидше / ефективніше. Коли n<pпотрібно менше оперативної пам’яті та менше часу для її розкладання, XX'оскільки вона менших розмірів.
ttnphns

@ttnphns Відмінне пояснення. Я бачу сенс зараз. Однак у мене все ще виникають проблеми, переходячи від власного XX'ПК до ПК. Не могли б ви мені коротко показати, як? З огляду на те, що ПК - це лише власні вектори матриці коваріації, я спробував перейти від власного елемента XX'до власного матриці коваріації X'X, але не вдався.
Сіббс азартні ігри

1
Я повинен іти. Можливо, @amoeba (який набагато спритніший в алгебрі, ніж я), або інший читач незабаром загляне сюди і допоможе тобі. Ура.
ttnphns

1
@ttnphns: Готово :)
амеба

Відповіді:


22

Матриця коваріації має розмір і задаєтьсяD×D

C=1N1X0X0.

Матриця, про яку ви говорите, звичайно, не є матрицею коваріації; вона називається матрицею Грама і має розмір:N×N

G=1N1X0X0.

Аналіз основних компонентів (PCA) можна здійснити за допомогою ейдженкомпозиції будь-якої з цих матриць. Це лише два різні способи обчислити одне і те ж.

Найпростіший і найкорисніший спосіб бачити це - використання розкладання сингулярного значення матриці даних . Підключивши це до виразів для та , отримаємо:X=USVCG

C=VS2N1VG=US2N1U.

Власні вектори матриці коваріації є основними напрямками. Прогнози даних про ці власні вектори є головними компонентами; ці прогнози задаються . Основні компоненти масштабируются на одиницю довжини задаються . Як бачите, власні вектори матриці Грама - це саме ці масштабовані головні компоненти. І власні значення і збігаються.VUSUCG

Причина, чому ви можете побачити, рекомендується використовувати матрицю Грама, якщо , тому що вона буде меншим розміром, порівняно з коваріаційною матрицею, а значить, буде швидше обчислити і швидше вирівняти її. Насправді, якщо ваша розмірність занадто велика, ви не можете навіть зберігати коваріаційну матрицю в пам'яті, тому операція на матриці Грама - єдиний спосіб зробити PCA. Але для керованого ви все ще можете використовувати eigendecomposition матриці коваріації, якщо ви хочете, навіть якщо .N<DDDN<D



1
Чудова відповідь! Я не знав, що це ім'я! Дуже дякую! Зараз я впевнено використовую його для прискорення моїх обчислень.
Сіббс азартні ігри

3
Моя відповідь передбачає, що те, що ви хочете отримати, - це , а можливо, також . Якщо ви хочете отримати , то ви можете вирахувати його з допомогою після ви отримали . Насправді, якщо ваша розмірність занадто велика, ви не можете навіть зберегти коваріаційну матрицю в пам'яті, тому операція на матриці Грама - єдиний спосіб зробити PCA. S / ( n - 1 ) V U X UUS/(n1)VUXU
амеба

Ця відповідь ясніша, що багато експозицій я бачив у книгах. Дякую.
usεr11852

Для чисто довідкових цілей: я вважаю, що документ про технікометрію 1969 р. IJ Good " Деякі програми сингулярного розкладання матриці " є одним із перших, хто вперше повністю посилається на це.
usεr11852

1
@MattWenham точно.
амеба
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.