Чи слід вважати зменшення розмірності для візуалізації «закритою» проблемою, вирішеною t-SNE?


23

Я багато читав про алгоритм -snet для зменшення розмірності. Я дуже вражений роботою на "класичних" наборах даних, як-от MNIST, де вона чітко розмежовує цифри ( див. Оригінальну статтю ):

t-SNE MNIST

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

Отже, наскільки я це розумію:

tO(nlogn)

Я знаю, що це досить сміливе твердження. Мені цікаво зрозуміти, які потенційні «підводні камені» цього методу. Тобто чи є випадки, коли ми знаємо, що це не корисно? Більше того, які «відкриті» проблеми в цій галузі?

Відповіді:


16

Точно ні.

Я погоджуюся, що t-SNE - це дивовижний алгоритм, який працює надзвичайно добре, і це був справжній прорив у той час. Однак:

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

Хтось пов’язав із цим дуже популярним описом деякі недоліки t-SNE: https://distill.pub/2016/misread-tsne/ (+1), але він обговорює лише дуже прості набори даних про іграшки, і я вважаю, що це не відповідає дуже добре з проблемами, з якими стикається на практиці під час роботи з t-SNE та пов'язаними з ними алгоритмами реальних даних. Наприклад:

  1. t-SNE часто не може зберегти глобальну структуру набору даних;
  2. N
  3. N

Я коротко обговорю всі три нижче.


  1. t-SNE часто не може зберегти глобальну структуру набору даних.

    Розглянемо цей набір даних про одноклітинні РНК-послідовності з інституту Аллена (коркові клітини миші): http://celltypes.brain-map.org/rnaseq/mouse . Він має ~ 23k комірок. Ми апріорі знаємо, що цей набір даних має багато значущої ієрархічної структури, і це підтверджується ієрархічною кластеризацією. Існують нейрони та нейронні клітини (глія, астроцити тощо). Серед нейронів є збудливі та гальмуючі нейрони - дві дуже різні групи. Серед, наприклад, інгібіторних нейронів, є кілька основних груп: Pvalb-експресуючі, SSt-експресуючі, VIP-експресуючі. У будь-якій з цих груп, здається, є ще кілька кластерів. Це відображено в ієрархічному дереві кластеризації. Але ось t-SNE, взятий за посиланням вище:

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

    Нейронні клітини мають сірий / коричневий / чорний кольори. Збудливі нейрони мають синій / чирок / зелений колір. Інгібіторні нейрони розташовані в помаранчевому / червоному / фіолетовому кольорах. Хотілося б, щоб ці основні групи злилися, але цього не відбувається: раз t-SNE розділяє групу на декілька кластерів, вони можуть в остаточному порядку розміщуватися. Ієрархічна структура набору даних втрачається.

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

  2. N

    t-SNE дуже добре працює над даними MNIST. Але врахуйте це (взято з цієї статті ):

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

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

    Можна, мабуть, це побачити і з самим MNIST (N = 70k). Поглянь:

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

    Праворуч - t-SNE. Ліворуч - UMAP - новий захоплюючий метод в активному розвитку, який дуже схожий на більш старий великий Vis . UMAP / largeVis витягують кластери набагато далі. Точна причина цього - ІМХО неясна; Я б сказав, що тут є ще багато чого для розуміння, а можливо, і для покращення.

  3. N

    NN

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

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


7

Ось чудовий аналіз того, як зміна параметрів при запуску t-SNE впливає на деякі дуже прості набори даних: http://distill.pub/2016/misread-tsne/ . Загалом, схоже, t-SNE добре справляється з розпізнаванням високомірних структур (включаючи відносини, складніші, ніж кластери), хоча це підлягає налаштуванню параметрів, особливо значень збитку.


7

Я б все одно хотів почути інші коментарі, але поки що опублікую власну відповідь, як я це бачу. Поки я шукав більш "практичну" відповідь, є два теоретичні "недоліки" t-sne, які варто згадати; перший є менш проблематичним, а другий обов'язково слід враховувати:

  1. Функція вартості t-sne не є опуклою, тому ми не гарантуємося досягти глобального оптимуму : Інші методики зменшення розмірності (Isomap, LLE) мають функцію опуклої вартості. У t-sne це не так, отже, є деякі параметри оптимізації, які потрібно ефективно налаштувати, щоб досягти «хорошого» рішення. Однак, хоча це потенційний теоретичний підхід, варто зазначити, що на практиці це навряд чи є падінням, оскільки, здається, навіть "локальний мінімум" алгоритму t-sne перевершує (створює кращі візуалізації), ніж глобальний мінімум інших методів .

  2. Прокляття внутрішньої розмірності : Одне важливе, що потрібно пам’ятати, використовуючи t-sne, - це, по суті, багатозначне навчанняалгоритм. По суті, це означає, що t-sne (та інші подібні методи) розроблені для роботи в ситуаціях, коли початковий високий розмір лише штучно високий: для даних існує внутрішня нижча розмірність. тобто дані «сидять» на нижньому розмірному колекторі. Хороший приклад, який потрібно мати на увазі, - це послідовні фотографії однієї і тієї ж людини: Хоча я можу представляти кожне зображення у кількості пікселів (високого розміру), внутрішньовимірна розмірність даних фактично обмежена фізичним перетворенням точок (у у цьому випадку 3D обертання голови). У таких випадках t-sne працює добре. Але у випадках, коли внутрішня розмірність велика, або точки даних сидять на сильно різному колекторі, очікується, що t-sne погано працює, оскільки це основне припущення - локальна лінійність на колекторі - порушено.

Для практичного користувача я думаю, що це має на увазі дві корисні пропозиції:

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

  2. Якщо ви не впевнені в 1 (а також загалом), може бути корисним, як підказує оригінальна стаття, "виконати t-sne на представленні даних, отриманому з моделі, яка представляє сильно варіюючі множини даних ефективно в кількості нелінійних шарів, таких як автокодер ". Тож комбінація автоматичного кодера + t-sne може бути хорошим рішенням у таких випадках.


Привіт @ galoosh33! Мені цікаво, чи ви вже мали можливість поглянути на мою відповідь. Це було корисно? Я не маю уявлення, якщо вас все ще цікавить це 1,5 роки після того, як ви задали це питання, тому я буду вдячний за відгук ... У власній прийнятій відповіді ви говорите, що ви все ще хотіли б почути подальші думки, але це також було кілька час тому :)
amee каже Відновити Моніку

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