Чи бувають випадки, коли PCA більше підходить, ніж t-SNE?


39

Хочу побачити, як 7 заходів поведінки на коригування тексту (час, витрачений на коригування тексту, кількість натискань клавіш тощо) стосуються один одного. Заходи співвідносні. Я провів PCA, щоб побачити, як заходи проектуються на PC1 та PC2, що дозволяє уникнути перекриття виконання окремих двосторонніх кореляційних тестів між заходами.

Мене запитали, чому б не використовувати t-SNE, оскільки зв'язок між деякими заходами може бути нелінійним.

Я можу побачити, як би дозволило нелінійність покращити це, але мені цікаво, чи є якась вагома причина використовувати PCA в цьому випадку, а не t-SNE? Мені не цікаво класифікувати тексти відповідно до їхнього відношення до заходів, а, скоріше, у співвідношенні між самими заходами.

(Я думаю, що EFA також може бути кращим / іншим підходом, але це інша дискусія.) У порівнянні з іншими методами тут мало повідомлень про t-SNE, тому питання, здається, варто задати.


3
t-SNE недостатньо масштабує розмір набору даних, тоді як PCA. Це випливає з досвіду роботи обох із великими наборами даних із застосуванням scikit-learn.
травень

@Mai, мабуть, це стосується переважно великих наборів даних? Мій набір даних знаходиться з невеликої сторони (кілька сотень точок даних).
користувач3744206

Відповіді:


65

тt -SNE - чудова частина машинного навчання, але можна знайти багато причин використовувати PCA замість нього. З верхньої частини голови я згадаю п'ять. Як і більшість інших використовуваних обчислювальних методологій, -SNE не є кулею срібла, і існує досить багато причин, які роблять його неоптимальним вибором у деяких випадках. Дозвольте коротко зазначити деякі моменти:t

  1. Стохастичність кінцевого рішення . PCA є детермінованим; -SNE не є. Один отримує гарну візуалізацію, а потім її колега отримує іншу візуалізацію, і тоді вони отримують художній вигляд, який виглядає краще, і якщо різниця в у розбіжності має сенс ... У PCA правильна відповідь на поставлене питання гарантоване. -SNE може мати кілька мінімумів, що може призвести до різних рішень. Це потребує декількох циклів, а також викликає питання щодо відтворюваності результатів.0,03 % K L ( P | | Q ) tt0.03%KL(P||Q)t

  2. Інтерпретабельність відображення . Це стосується вищезазначеного пункту, але припустимо, що команда погодилась у конкретному випадковому наборі / пробігу. Тепер стає питанням, що це показує ... -SNE намагається правильно відобразити лише локальні / сусіди, тому наші уявлення про це вбудовування повинні бути дуже обережними; глобальні тенденції не представлені точно (і це може бути великою справою для візуалізації). З іншого боку, PCA - це лише діагональне обертання нашої початкової матриці коваріації, а власні вектори являють собою нову осьову систему в просторі, що охоплюється нашими вихідними даними. Ми можемо безпосередньо пояснити, що робить конкретна PCA.t

  3. Застосування нових / небачених даних . -SNE не вивчає функції від вихідного простору до нового (нижнього) розмірного, і це проблема. З цього приводу -SNE є непараметричним алгоритмом навчання, тому наближення до параметричного алгоритму є невдалою проблемою. Вбудовування засвоюється шляхом прямого переміщення даних через низькомірний простір. Це означає, що людина не отримує власного вектора або подібної конструкції для використання в нових даних. На противагу цьому, використовуючи PCA, власні вектори пропонують нову систему осей, яку можна безпосередньо використовувати для проектування нових даних. [Мабуть, можна спробувати навчити глибоку мережу, щоб вивчитиt tttt-SNE-картографування (ви можете почути доктора Ван дер-дер-Маатана на ~ 46 'цього відео, що пропонує щось в цьому напрямку), але, очевидно, не існує простого рішення.]

  4. Неповні дані . Вроджена -SNE НЕ мати справу з неповними даними. Справедливо кажучи, PCA не займається ними, але численні розширення PCA для неповних даних (наприклад, ймовірнісні PCA ) є там і є майже стандартними моделями. -SNE в даний час не може обробити неповні дані (окрім того, очевидно, що тренінг імовірнісного PCA спочатку і передача результатів на ПК -SNE як вхід).t tttt

  5. ні (занадто) маленький корпус. k -SNE вирішує проблему, відому як проблема переповнення, ефективно, що дещо подібні точки у вищому вимірі руйнуються один над одним у нижчих розмірах (докладніше тут ). Тепер у міру збільшення розмірів, що використовуються, проблема скупчення стає менш серйозною, тобто. проблема, яку ви намагаєтеся вирішити через використання -SNE, ослаблюється. Ви можете обійти цю проблему, але це не банально. Отже, якщо вам потрібен розмірний вектор, оскільки зменшений набір і не зовсім малий, питання про оптимальність виробленого рішення викликає сумніви. З іншого боку, PCA пропонують завждиt k k kttkkkнайкраща лінійна комбінація з точки зору дисперсії. (Завдяки @amoeba за те, що я помітив, я зробив безлад, коли вперше намагався окреслити цю точку.)

Я не згадую питань щодо обчислювальних вимог (наприклад, швидкості чи розміру пам’яті), а також питань щодо вибору відповідних гіперпараметрів (наприклад, здивування). Я думаю, що це внутрішні питання методології -SNE і не мають значення при порівнянні її з іншим алгоритмом.t

Підводячи підсумок, -SNE є чудовим, але оскільки всі алгоритми мають свої обмеження, коли мова йде про його застосовність. Я використовую -SNE майже на будь-якому новому наборі даних, який я отримую в якості інструменту роз'яснювального аналізу даних. Я думаю, що хоча він має певні обмеження, які не роблять його майже таким же застосовним, як PCA. Дозвольте наголосити, що PCA також не є ідеальним; наприклад, візуалізації на основі PCA часто поступаються тим, які мають -SNE.t tttt


@amoeba: Я усунув цю точку, оскільки вона ставала надто трудомісткою; Мене в основному мотивувала ідея -SNE мати проблеми з проблемою скупчення менш серйозними при використанні більш високих розмірів (замість ) і, таким чином, пропонував заплутані уявлення, але я змішав точку, яку я намагаються зробити. Крім того, оскільки можлива реконструкція в LLE (Roweis & Saul, 2000), чому б це не було можливим через t-SNE? k = 2 , 3 , 4tk=2,3,4
usεr11852 повідомляє Відновити Моніку

@amoeba: Дякую, що ви згадали про це. Я відповідно оновив свою відповідь.
usεr11852 повідомляє Відновити Моніку

3
Щодо вашого пункту №3: ось документ про параметричний t-sne lvdmaaten.github.io/publications/papers/AISTATS_2009.pdf у 2009 році . Здається, він насправді не зняв (він має в 25 разів менше цитат, ніж оригінальний папір t-sne), але насправді це досить просто реалізувати з сьогоднішніми технологіями / бібліотеками. У мене це працює і працює в Керасі; Я працював над розслідуванням (і, можливо, продовженням) його в останні тижні.
амеба каже, що повернеться Моніка

Класно! (+1) Якщо ви отримаєте плаваючий архівний попередній друк, будь ласка, повідомте мене (тут або в 10 разів), я буду дуже цікавий про результати. Так, я бачив цей документ під час написання цієї відповіді (я б сказав, що це фактично добре відомий документ), але, як ви сказали, його, здається, не брали. Крім того, пункт №3 залишається цілком дійсним: вам потрібно створити DNN, щоб отримати щось, що пропонує PCA через єдиний матричний крос-продукт.
usεr11852 повідомляє Відновити Моніку

12

https://stats.stackexchange.com/a/249520/7828

- відмінна загальна відповідь.

Я хотів би трохи більше зупинитися на вашій проблемі. Ви, мабуть, хочете побачити, як ваші зразки співвідносяться з вашими 7 вхідними змінними. Це те, що T-SNE не робить. Ідея SNE і t-SNE полягає в тому, щоб розмістити сусідів близько один до одного, (майже) повністю ігноруючи глобальну структуру.

Це відмінно підходить для візуалізації, оскільки подібні предмети можуть бути нанесені один на одного (а не один на одного, cf скупчення).

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

PCA зовсім навпаки. Він намагається зберегти глобальні властивості (власні вектори з великою дисперсією), хоча може втратити низькі дисперсійні відхилення між сусідами.


Ага, саме це я припустив. Мене не цікавить, як розташовані точки даних у просторі, а скоріше, як самі заходи пов'язані між собою. Ці дві речі пов'язані, звичайно, але з точки зору візуалізації та інтерпретації цих відносин, я підозрюю, що лише PCA робить те, що я хочу. Наприклад, між заходами є як позитивні, так і негативні взаємозв'язки, і те, що мене насправді цікавить, - це абсолютна цінність асоціацій, що, знову ж таки, я думаю, що простіше інтерпретувати / бачити, якщо я використовую PCA.
користувач3744206

1
Для цього випадку використання може бути краще переглянути саму кореляційну матрицю, тобто зробити лише парні порівняння. Тоді ви також можете впоратися з нелінійністю, наприклад, використовуючи кореляцію спермана.
Аноні-Мус

Чи можемо ми використовувати T-SNE для кластерних проблем? наскільки я розумію, ми можемо спроектувати нову точку приходу та спробувати скупчитись на нижчих вимірах? Це можливо ?
Catbuilts

Ні. Оскільки tSNE не є лінійним, ви не можете просто обчислити його для нових даних (див. Вище). І відбулася невміла дискусія про те, що також можна ввести в оману кластеризувати прогнозовані дані.
Аноні-Мус

1

Щоб задати один застосований кут, PCA і t-SNE не є взаємовиключними. У деяких галузях біології ми маємо справу з високовимірними даними (наприклад, scRNA-seq - це тисячі вимірів), де t-SNE просто не масштабується. Тому ми спочатку використовуємо PCA для зменшення розмірності даних, а потім, беручи до уваги основні компоненти принципу, обчислюємо сусідній графік, а потім вбудовуємо графік у 2-х вимірах, використовуючи t-SNE (або подібний нелінійний підхід до зменшення розмірності як UMAP) для візуалізації даних.

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