Есть ли способ найти n самых удаленных векторов в массиве? - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть массив из тысяч векторов doc2vec с 90 измерениями.Для моих текущих целей я хотел бы найти способ «сэмплировать» различные области этого векторного пространства, чтобы получить представление о разнообразии корпуса.Например, я хотел бы разделить мое пространство на n областей и получить наиболее релевантные векторы слов для каждой из этих областей.

Я пробовал кластеризовать с помощью hdbscan (после уменьшения размерности с помощью UMAP), чтобы вырезатьвекторное пространство в его естественных соединениях, но оно действительно не работает хорошо.

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

  1. Это будет хорошая стратегия?
  2. Как я могу это сделать?

Большое спасибо заранее!

1 Ответ

0 голосов
/ 07 февраля 2019

Разве случайная выборка из всех векторов не обязательно встретит какую-либо из различных «областей» в наборе?

Если в документах есть «естественные соединения» и кластеры, некоторый алгоритм кластеризации должен быть в состоянии найти N кластеров, тогда меньшее количество NxN-расстояний между центроидом каждого кластера и центроидом каждого другого кластера может идентифицировать те"самые дальние" кластеры.

Примечание: для любого вектора вы можете использовать Doc2Vec doc-векторы most_similar() со значением topn 0 / false-ish, чтобы получить (несортированные) сходства со all другие модельные док-векторы.Затем вы можете найти наименее похожие векторы в этом наборе.Если ваш набор данных достаточно мал для практического использования этого для «всех» (или некоторой большой выборки) векторов документов, то, возможно, другие документы, которые отображаются в «нижней N» наименее похожими, для наибольшего числадругие векторы, были бы наиболее "далеко".

Неясно, действительно ли эта идея "далеко" показана в данных или полезна.(В многомерных пространствах все может быть довольно «далеко» от всего остального, что не соответствует нашей 2/3-й интуиции, и небольшие различия в некоторых векторах, которые немного «дальше», могут не соответствовать полезным различиям.)

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