у меня есть набор данных из тысяч точек и средство измерения расстояния между любыми двумя точками, но точки данных не имеют размерности. я хочу алгоритм, чтобы найти кластерные центры в этом наборе данных. Я полагаю, что поскольку данные не имеют измерений, центр кластера может состоять из нескольких точек данных и допуска, а членство в кластере может определяться средним расстоянием точки данных до каждой точки данных в центре кластера.
пожалуйста, прости меня, если у этого вопроса есть хорошо известное решение, я очень мало знаю об этой проблеме! мое (очень ограниченное) исследование выявило только алгоритмы кластеризации для размерных данных, но я заранее извиняюсь, если упустил что-то очевидное.
Спасибо!
machine-learning
lg.learning
clustering
банка краски
источник
источник
Ответы:
Обе эти проблемы являются NP-сложными в целом, и их трудно приблизить с точностью до произвольного фактора. Обратите внимание, что если вы отбросите условие метрики, все станет намного хуже с точки зрения приближенности.
В конечном итоге, как и в случае большинства проблем с кластеризацией, окончательный выбор зависит от приложения, размера данных и т. Д.
источник
Существует также корреляционная кластеризация , которая имеет в качестве входной информации для каждой пары элементов, указывающих, принадлежат ли они к одному и тому же кластеру или к разным кластерам.
источник
Если вы просто ищете хорошую эмпирическую производительность, алгоритм распространения сродства обычно работает лучше, чем k-медианы. Существует код, доступный на нескольких языках, и публикации, описывающие алгоритм более подробно, находятся здесь: http://www.psi.toronto.edu/index.php?q=affinity%20propagation
источник
Ваш вопрос, кажется, подразумевает, что вы ищете алгоритм с приличным вычислительным временем. Учитывая размер ваших вершин (или точек), можно создать представление ваших данных с помощью взвешенного графа и использовать кластерный алгоритм Маркова (MCL) для кластеризации графа.
http://www.micans.org/mcl/
MCL основан на случайных обходах взвешенных и невзвешенных графов для поиска плотных подграфов. Он способен обрабатывать большие графики и использовался во многих известных, широко используемых биоинформационных программах (таких как BLAST). -Boucher
источник
Рассмотрим алгоритм k-ближайшего соседа .
источник