Чому ми використовуємо PCA для прискорення алгоритмів навчання, коли ми могли просто зменшити кількість функцій?


12

Під час курсу машинного навчання я дізнався, що одне поширене використання PCA ( Principal Component Analysis ) - це прискорити інші алгоритми машинного навчання. Наприклад, уявіть, що ви тренуєте логістичну модель регресії. Якщо у вас є навчальний набір для i від 1 до n, і виявляється, що розмір вашого вектора x дуже великий (скажімо, розміри), ви можете використовувати PCA, щоб отримати менший розмір (скажімо k розміри) має вектор z. Потім ви можете тренувати вашу логістичну регресійну модель на навчальному наборі ( z ( i ) , y ( i )(x(i),y(i)) для i від 1 до n. Навчання цієї моделі буде швидше, оскільки ваш вектор функцій має менші розміри.(z(i),y(i))

Однак я не розумію, чому ви не можете просто зменшити розмірність вашого функціонального вектора до k розмірів, просто вибравши k своїх функцій навмання та усунувши решту.

Z вектори - це лінійні комбінації ваших функціональних векторів. Оскільки вектори z приурочені до k-мірної поверхні, ви можете записати значення усунених ak як лінійну функцію k решти значень функції, і, таким чином, всі z можуть бути сформовані за допомогою лінійних комбінацій ваших k ознак. Тож чи не повинні модель, що навчається на тренувальному наборі з усуненими функціями, має таку ж потужність, як модель, що навчається на тренувальному наборі, розмір якого був зменшений PCA? Це просто залежить від типу моделі та чи покладається вона на якусь лінійну комбінацію?


1
стовпці, що випадають, призведуть до втрати більше інформації порівняно з використанням PCA
Haitao Du

2
З чим пов’язана ланцюгова реакція полімерази? :-) --- Якщо говорити серйозно, завжди слід прописати термін, перш ніж використовувати абревіатуру.
Карл Віттофт

Ви можете розглядати власні вектори, отримані PCA, як нові функції, тому PCA дозволяє зменшити функції - рекомбінуючи ті, що у нас, в ті, що захоплюють більше дисперсії, ніж ті, з яких ми почали.
mathreadler

Відповіді:


26

pd<pdXXDD{0,1}p×dXXVVRp×dVXVXXdpp

XX


2
+1. Але все ж є сенс запитати, чому варіація X (яку PCA намагається зберегти) має бути актуальною для прогнозування Y ... Це пов'язаний потік: stats.stackexchange.com/questions/141864 .
Амеба каже: Відновити Моніку

4

PCA зменшує функції, зберігаючи дисперсію / інформацію в початкових даних. Це допомагає увімкнути обчислення, не втрачаючи подібності даних щодо реальності.


2

Рішення PCA

По-перше, будьте обережні, використовуючи PCA для цієї мети. Як я писав у відповідь на відповідне запитання, PCA не обов'язково призводить до вибору особливостей, які є інформативними для регресії, яку ви маєте зробити (див. Також Jolliffe 1982 ).

Пропоноване ОП рішення

reduce the dimension of your feature vector to k dimensions by just choosing k of your features at random and eliminating the rest.dimension of your vector x is very largep

pCkkpp=1000k=58.25×1012k=5k=6p

Пропоноване рішення

p

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