Чому t-SNE не використовується як метод зменшення розмірності для кластеризації чи класифікації?


34

У недавньому призначенні нам сказали використовувати PCA на цифрах MNIST, щоб зменшити розміри з 64 (8 x 8 зображень) до 2. Потім нам довелося кластеризувати цифри за допомогою Гауссової моделі суміші. PCA, що використовує лише 2 основних компоненти, не дає чітких кластерів, і в результаті модель не в змозі створити корисні угруповання.

Однак, використовуючи t-SNE з 2 компонентами, кластери значно краще відокремлюються. Гауссова модель суміші створює більш чіткі кластери при застосуванні до компонентів t-SNE.

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

PCA на MNIST

t-SNE в MNIST

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


2
Ви маєте на увазі класифікацію чи кластеризацію? Заголовок говорить про кластеризацію, але в публікації йдеться про класифікацію.
usεr11852 повідомляє Відновити Моніку

Вибач за це. Хочу знати, чому він не використовується як метод кластеризації або як техніка зменшення розмірності для класифікації. Я відредагував це, щоб відобразити це.
вілк

Досить випадково, нещодавно випущений документ використовує t-SNE та алгоритм кластеризації без нагляду, щоб позначити процеси горіння.
tpg2114

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

1
Я знайшов цю статтю корисною для пояснення t-SNE та її недоліків. У ньому багато інтерактивних візуалізацій, які допомагають підкреслити основні моменти.
вілк

Відповіді:


33

Основна причина, що -SNE не використовується в класифікаційних моделях, полягає в тому, що він не вивчає функції від вихідного простору до нового (нижнього) розмірного. Таким чином, коли ми намагатимемося використовувати наш класифікатор для нових / невидимих ​​даних, ми не зможемо зіставити / попередньо обробити ці нові дані відповідно до попередніх результатів -SNE.тtt

Існує робота з підготовки глибокої нейронної мережі для апроксимації -SNE результатів (наприклад, "параметрична" -SNE папір), але ця робота частково витісняється існуванням (глибоких) автокодер . Autoencoders починають використовувати як вхід / попередній процесор для класифікаторів (особливо DNN) саме тому, що вони отримують дуже хороші показники в навчанні, а також природним чином узагальнюють нові дані.тtt

тt -SNE може бути потенційно використаний, якщо ми використовуємо методи кластеризації на відстані на відстані, такі як FMM ( Моделі кінцевих сумішей ) або DBSCAN ( Моделі на основі щільності ). Як ви правильно зазначаєте, у таких випадках вихід -SNE може бути дуже корисним. Проблема цих випадків використання полягає в тому, що деякі люди можуть спробувати прочитати розміщення кластерів, а не лише членство в кластері. Коли глобальні відстані втрачаються, виведення висновків із розміщення кластерів може призвести до хибних уявлень. Зауважте, що просто кажучи: " Ей, ми знайшли всі кластери s разом ", не надає великої цінності, якщо не можна сказати, до чого вони далекі. Якби ми просто хотіли знайтиt11Ми можемо також використати класифікацію для початку (яка повертає нас до використання автокодерів).


1
Здається, Q запитує більше про кластеризацію, ніж про класифікацію. Принаймні кластеризація є в заголовку.
амеба каже: Відновити Моніку

@amoeba: Я думав про те саме і писав про потенційне використання через кластеризацію, що базується на відстані (наприклад, FMM, DBSCAN), але потім я прочитав питання: " чому це не використовується як техніка зменшення розмірності, яка потім використовується для класифікації моделі? "
usεr11852 повідомляє Відновити Моніку

Так, але назва Q інша. Я думаю, що ОП може заплутатися в різниці, тому може бути доцільним звернутися до обох у вашому "А"
амеба каже, що відбудеться Моніка

4
Гаразд ... Гаразд ... Еукаріот водіння рабами ...: P
usεr11852 повідомляє Відновити Моніку

1
(+1) Мені було б дуже цікаво почути ваші думки щодо цієї відповіді на групування / t-SNE stats.stackexchange.com/questions/263539, яку я щойно опублікував. CC також до @caseWestern - це може зацікавити і вас.
Амеба каже, що повернеться до Моніки

3

t-SNE не зберігає відстані, але в основному оцінює ймовірні розподіли. Теоретично алгоритми t-SNE відображають вхід у простір карт з 2 або 3 вимірами. Вхідний простір вважається розподілом Гаусса, а простір карт - t-розподілом. Використовувана функція втрат - це дивергенція KL між двома розподілами, яка мінімізована за допомогою градієнтного спуску.

За словами Лоренс ван дер Маатен, який є співавтором t-SNE

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

Довідка:

https://lvdmaaten.github.io/tsne/

https://www.oreilly.com/learning/an-illustrated-introduction-to-the-t-sne-algorithm


2

Як загальне твердження: при досить потужний (/ підходить) класифікатор, або кластер-ер, один ніколи не буде застосовувати будь- зниження розмірності.

Зменшення розмірності втрачає інформацію.

Оскільки такий кластер-ер або класифікатор (класифікатори esp, рідше кластери), внутрішньо вже містить певну форму проекції на значущий простір. І зменшення розмірності - це також проекція на (надіюсь) значимий простір.

Але зменшення розмірності має робити це неінформовано - воно не знає, для якого завдання ви скорочуєте. Особливо це стосується класифікації, де ви маєте відверту контрольовану інформацію. Але це стосується також і кластеризації, де простір, на який хотіли б запроектувати кластеризацію, краще визначений (для цього алгоритму), ніж просто "мати менші розміри". Відповідь @ usεr11852 говорить про це. Як я вже сказав, зменшення розмірності не знає, що завдання, для якого ви скорочуєте - ви повідомляєте його у виборі, яким алгоритмом зменшення розмірності ви користуєтесь.

Тому часто, а не додавати крок зменшення розмірності як попередню обробку перед кластеризацією / класифікацією, краще використовувати інший класифікатор / кластер-ер, який містить корисну проекцію.

Одна з речей, зменшення розмірності все-таки сприймає це в цьому, хоча це її непідконтрольний характер у створенні проекції на (сподіваємось) значимий простір. Що корисно, якщо у вас мало даних про етикетки. Але часто існують інші методи, тісно пов’язані з вашим класифікатором (наприклад, для нейронних мереж, використовуючи autoencoder, наприклад, глибоке переконання мережі пошуку), які працюватимуть краще, оскільки вони розроблені з урахуванням цього останнього завдання. Не більш загальне завдання зменшення розмірності.

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