Существуют ли какие-либо «непараметрические» методы кластеризации, для которых нам не нужно указывать количество кластеров? И другие параметры, такие как количество точек на кластер и т. Д.
Существуют ли какие-либо «непараметрические» методы кластеризации, для которых нам не нужно указывать количество кластеров? И другие параметры, такие как количество точек на кластер и т. Д.
Ответы:
Алгоритмы кластеризации, которые требуют предварительного указания количества кластеров, составляют небольшое меньшинство. Существует огромное количество алгоритмов, которые этого не делают. Их сложно обобщить; это все равно что просить описание любых организмов, которые не являются кошками.
Алгоритмы кластеризации часто подразделяются на широкие царства:
Могут быть дополнительные категории, и люди могут не соглашаться с этими категориями и какие алгоритмы идут в какую категорию, потому что это эвристический. Тем не менее, что-то вроде этой схемы является распространенным явлением. Исходя из этого, это в первую очередь только методы разделения (1), которые требуют предварительной спецификации количества кластеров для поиска. Какая другая информация должна быть предварительно указана (например, количество точек на кластер) и является ли разумным называть различные алгоритмы «непараметрическими», также очень изменчиво и трудно обобщить.
Иерархическая кластеризация не требует предварительного указания количества кластеров, как это делает k-означает, но вы выбираете количество кластеров из своего вывода. С другой стороны, DBSCAN не требует ни того, ни другого (но он требует указания минимального количества точек для «соседства» - хотя существуют значения по умолчанию, так что в некотором смысле вы можете пропустить указание этого - что ставит точку на количество шаблонов в кластере). GMM даже не требует ни одного из этих трех, но требует параметрических предположений о процессе генерации данных. Насколько я знаю, не существует алгоритма кластеризации, в котором никогда не требуется указывать количество кластеров, минимальное количество данных на кластер или какой-либо шаблон / расположение данных в кластерах. Я не понимаю, как это могло быть.
Это может помочь вам прочитать обзор различных типов алгоритмов кластеризации. Следующее может быть местом для начала:
Mclust
них предназначен для оптимизации BIC, но можно использовать AIC или последовательность тестов отношения правдоподобия. Я думаю, вы могли бы назвать его мета-алгоритмом, потому что он имеет составляющие шаги (например, EM), но это алгоритм, который вы используете, и, во всяком случае, он не требует предварительного указания k. В моем связанном примере вы можете ясно видеть, что я не указывал там k.
Самый простой пример - иерархическая кластеризация , где вы сравниваете каждую точку с каждой другой точкой, используя некоторую меру расстояния , а затем объединяете пару, у которой наименьшее расстояние, для создания объединенной псевдочки (например, b и c делают bc как на изображении). ниже). Затем вы повторяете процедуру, соединяя точки и псевдоточки, основываясь на их попарных расстояниях, пока каждая точка не соединится с графиком.
(источник: https://en.wikipedia.org/wiki/Hierarchical_clustering )
Процедура непараметрическая, и единственное, что вам нужно для этого, - это мера расстояния. В конце вам нужно решить, как удалить древовидный граф, созданный с помощью этой процедуры, поэтому необходимо принять решение об ожидаемом количестве кластеров.
Метод «без параметров» означает, что вы получаете только один выстрел (за исключением, может быть, случайности), без возможности настройки .
В настоящее время кластеризация является исследовательской техникой. Вы не должны предполагать, что существует единственная «истинная» кластеризация . Вы должны быть заинтересованы в изучении различных кластеров одних и тех же данных, чтобы узнать о них больше. Рассматривать кластеризацию как черный ящик никогда не работает хорошо.
Например, вы хотите иметь возможность настраивать используемую функцию расстояния в зависимости от ваших данных (это тоже параметр!). Если результат слишком грубый, вы хотите получить более точный результат или если он слишком хорош. Получите более грубую версию этого.
Лучшими методами часто являются те, которые позволяют хорошо ориентироваться в результате, например, дендрограмма в иерархической кластеризации. Вы можете легко исследовать подструктуры.
Проверьте модели смеси Дирихле . Они предоставляют хороший способ разобраться в данных, если вы заранее не знаете количество кластеров. Тем не менее, они делают предположения о формах кластеров, которые могут нарушать ваши данные.