Каковы мои варианты, если я хочу кластеризовать свои данные, представленные огромной двоичной матрицей? - PullRequest
0 голосов
/ 20 апреля 2020

Итак, как упоминалось в заголовке, я пытаюсь найти способ эффективно кластеризовать мои двоичные векторы. Вот некоторая информация о моей матрице: она может достигать 5 миллионов наблюдений и 10000 объектов. Причем матрица очень скудная.

Для уменьшения размера была проделана некоторая предварительная работа: некоторые элементы сделаны только с нулями, поэтому они были исключены из исходной матрицы. Более того, есть некоторые дублированные наблюдения, поэтому они были удалены.

Используя алгоритм кластеризации, такой как FuzzyArt (или любой другой алгоритм со сложностью O (n ^ 2), насколько я знаю ) может потребоваться до 9000 дней для решения проблемы с использованием необработанной формы этой матрицы. Излишне говорить, что я не очень доволен этим. Я наткнулся на несколько очень интересных методов уменьшения размера матрицы ( NMF ), но как я могу уменьшить размер моей матрицы с минимальным искажением расстояний между моими векторами? Для меня очень важно не потерять взаимную информацию. Интересным решением было бы использование леммы Johnson-Lindenstrauss при таком сокращении. Более того, UMAP , кажется, делает большую работу, когда дело доходит до визуализации моих кластеров.

Я пришел сюда, чтобы получить несколько новых идей о том, как ускорить Процесс кластеризации, и, прежде всего, убедитесь, что я ничего не пропустил. Я был бы очень признателен, если бы вы поделились со мной своими идеями о том, как справиться с такой проблемой. Не стесняйтесь, если у вас есть какие-либо вопросы.

...