Как уменьшить изменение положения после уменьшения размерности? - PullRequest
2 голосов
/ 22 мая 2019

Отказ от ответственности: я новичок в машинном обучении.

Я работаю над визуализацией многомерных данных (текста в виде векторов tdidf) в 2D-пространство.Моя цель - пометить / изменить эти точки данных и пересчитать их позиции после изменения и обновления 2D-графика.Логика уже работает, но каждая итеративная визуализация сильно отличается от предыдущей, хотя изменилась только 1 из 28 000 функций в 1 точке данных.

Некоторые сведения о проекте:

  • ~ 1000 текстовых документов / точек данных
  • ~ 28.000 векторных объектов tfidf каждая
  • должна вычисляться довольно быстро (скажем, <3 с) благодаря своей интерактивной природе </li>

Вот 2 изображения для иллюстрации проблемы:

Шаг 1 : Step 1

Шаг 2 : Step2

Я пробовал несколько алгоритмов уменьшения размерности, включая MDS, PCA, TSNE, UMAP, LSI и Autoencoder.Наилучшие результаты в отношении вычислений времени и визуального представления, которые я получил с помощью UMAP, поэтому я придерживался его по большей части.

Просматривая некоторые исследовательские работы, я нашел эту с похожей проблемой (небольшое изменение в высоком измерении, приводящее кбольшое изменение в 2D): https://ieeexplore.ieee.org/document/7539329 Таким образом, они используют t-sne для инициализации каждого итеративного шага с результатом первого шага.

Первое: как бы я пошел для достижения этого на самом делекод?Связано ли это с tsne random_state?

Второе: возможно ли применить эту стратегию к другим алгоритмам, таким как UMAP?tsne занимает намного больше времени и не подходит для интерактивного использования.

Или есть какое-то лучшее решение, о котором я не задумывался для этой проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...