Какой алгоритм классификации следует использовать, увидев, что t-SNE хорошо разделяет классы?


12

Давайте предположим, что у нас есть проблема с классификацией, и сначала мы хотим получить представление о данных, и мы делаем t-SNE. Результат t-SNE очень хорошо разделяет классы. Это подразумевает, что можно построить классификационную модель, которая также будет очень хорошо разделять классы (если t-SNE не разделяет хорошо, это не подразумевает много).

Зная, что t-SNE фокусируется на локальной структуре и может хорошо разделять классы: какие алгоритмы классификации должны хорошо работать для решения этой проблемы? Scikit предлагает SVM с гауссовым ядром RBF, но каковы другие?


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, можно получить очень разные выглядящие двумерные графики для одинакового количества тренировочных шагов и с использованием одних и тех же данных.

Это отогнать бумаги Как использовать т-СНЭ Эффективно дает большую сводку распространенных ошибок анализа т-SNE. Резюме:

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

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

  3. Расстояния между кластерами ничего не могут значить

  4. Случайный шум не всегда выглядит случайным.

  5. Вы можете увидеть некоторые формы, иногда

  6. Для топологии вам может понадобиться более одного графика

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


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

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

2
(+1): Спасибо за ответ, я искал именно это. Я приму ответ в течение двух дней.
Томек Тарчински
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.