Чому існують лише основних компонентів для даних, якщо кількість вимірів ?


22

У PCA, коли кількість розмірів більша (або навіть дорівнює) кількості зразків , чому саме у вас буде не більше власних векторів ? Іншими словами, ранг коваріаційної матриці серед розмірів - .dNN1dNN1

Приклад: ваші зразки - це векторизовані зображення розміром , але у вас лише зображень.d=640×480=307200N=10


5
Уявіть бали в 2D або в 3D. Яка розмірність колектора, яку займають ці точки? Відповідь N - 1 = 1 : дві точки завжди лежать на прямій (а лінія є одновимірною). Точна розмірність простору не має значення (доки вона більша за N ), ваші точки займають лише одновимірний підпростір. Таким чином, дисперсія лише "поширюється" в цьому підпросторі, тобто вздовж 1 виміру. Це вірно для будь-якого N . N=2N1=1NN
амеба каже: Відновити Моніку

1
Я додав би лише додаткову точність до коментаря @ amoeba. Точка походження також має значення. Отже, якщо у вас походження N = 2 +, кількість розмірів становить максимально 2 (а не 1). Однак у PCA ми зазвичай центрируємо дані, а це означає, що ми поміщаємо джерело всередині простору хмари даних - тоді один вимір споживається, і відповідь буде "N-1", як показує амеба.
ttnphns

Це те, що мене бентежить. Це не саме центрування руйнує вимір, так? Якщо у вас рівно N зразків і N розмірів, то навіть після центрування ви все ще маєте N власних векторів ..?
GrokingPCA

2
Чому? Саме центрування руйнує один вимір. Центрування (за середнім арифметичним) "переміщує" початок "ззовні" у простір, "охоплений" даними. На прикладі N = 2. 2 бали + деяке походження, як правило, охоплює площину. Коли ви центрируєте ці дані, ви покладете початок на пряму лінію на півдорозі між двома точками. Отже, тепер дані охоплюють лише рядок.
ttnphns

3
Евклід уже знав це 2300 років тому: дві точки визначають лінію, три точки визначають площину. Узагальнюючи, точок визначають N - 1 мірний евклідовий простір . NN1
whuber

Відповіді:


20

Поміркуйте, що робить PCA. Простіше кажучи, PCA (як це зазвичай працює) створює нову систему координат:

  1. перенесення походження на центр ваших даних,
  2. стискає та / або розтягує осі, щоб зробити їх рівними по довжині, і
  3. повертає осі в нову орієнтацію.

(Детальніше дивіться у цій чудовій темі резюме: Визначення аналізу основних компонентів, власних векторів та власних значень .) Однак він не просто обертає осі будь-яким старим способом. Ваш новий (перший основний компонент) орієнтований у напрямку ваших даних щодо максимальної зміни. Другий головний компонент орієнтований у напрямку наступної найбільшої кількості варіацій, що є ортогональною до першого головного компонента . Решта основних компонентів формуються аналогічно. X1

Зважаючи на це, давайте розглянемо приклад @ amoeba . Ось матриця даних з двома точками в тривимірному просторі:
Давайте розглянемо ці точки в (псевдо) тривимірному розсіянні:

X=[111222]

введіть тут опис зображення

(1.5,1.5,1.5)(0,0,0)(3,3,3)(0,0,3)(3,3,0)(0,3,0)(3,0,3)

N=2N1=1

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