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


12

Припустимо, у нас є проблема класифікації, і спочатку ми хочемо отримати деяке розуміння даних і ми робимо t-SNE. Результат t-SNE дуже добре розділяє класи. Це означає, що можна побудувати класифікаційну модель, яка також буде дуже добре розділяти класи (якщо t-SNE не відокремлюється добре, то це не означає багато).

Знаючи, що t-SNE зосереджена на локальній структурі і що вона може добре розділити класи: Які алгоритми класифікації повинні добре працювати над цією проблемою? Scikit пропонує SVM з ядром RBF Gaussian, але які інші?


3
(+1) K-найближчі сусіди можуть бути одним дуже простим і простим у виконанні природним вибором.
амеба

Відповіді:


7

Спочатку коротка відповідь, а потім більш тривалий коментар:

Відповідь

Методи SNE обчислюють матрицю подібності N × N як у вихідному просторі даних, так і в низькомірному просторі вбудовування таким чином, що подібність утворює розподіл ймовірності по парам об'єктів. Зокрема, ймовірності, як правило, задаються нормалізованим ядром Гаусса, обчисленим з вхідних даних або з вбудовування. З точки зору класифікації, це відразу ж враховує методи навчання на основі екземплярів . Ви перерахували одну з них: SVM з RBF, а @amoeba вказав kNN. Є також радіальні базові функціональні мережі , в яких я не є експертом.

Прокоментуйте

Сказавши це, я би вдвічі обережніше робив висновки на наборі даних, просто дивлячись на графіки t-SNE. t-SNE не обов'язково зосереджується на локальній структурі. Однак ви можете налаштувати це, налаштувавши perplexityпараметр, який регулює (слабко), як збалансувати увагу між локальними та глобальними аспектами ваших даних.

У цьому контексті perplexityсама по собі є ударом у темряві про те, скільки близьких сусідів може мати кожне спостереження та надається користувачем. У первинному документі зазначено: "Продуктивність t-SNE є досить сильною щодо змін у здивуванні, а типові значення - від 5 до 50". Однак мій досвід полягає в тому, що отримати максимум від t-SNE може означати аналіз декількох сюжетів з різними неприємностями.

Іншими словами, налаштування learning rateі perplexity, можна отримати дуже різні виглядаючі 2-д графіки для однакової кількості навчальних кроків та використання одних і тих же даних.

У цьому документі " Дистиля" Як ефективно використовувати t-SNE, ви знайдете великий підсумок загальних підступних проблем t-SNE-аналізу. Підсумкові бали:

  1. Ці гіперпараметри (наприклад, рівень навчання, здивування) дійсно мають значення

  2. Розміри кластерів у графіку t-SNE нічого не означають

  3. Відстань між кластерами може нічого не означати

  4. Випадковий шум не завжди виглядає випадковим.

  5. Іноді можна побачити деякі фігури

  6. Для топології вам може знадобитися кілька сюжетів

Зокрема, з пунктів 2, 3 та 6 вище, я б подумав двічі, щоб зробити висновки про відокремленість даних, переглядаючи окремі графіки t-SNE. Є багато випадків, коли ви можете «виготовити» сюжети, які показують чіткі кластери, використовуючи правильні параметри.


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

2
Перегляньте редагування, методи навчання на основі екземплярів були б сумісні з будь-якими підказками, які ви можете отримати із сюжетів t-SNE.
Жубарб

2
(+1): Дякую за відповідь, я шукав саме це. Я прийму відповідь протягом двох днів.
Томек Тарчинський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.