Методы кластеризации, которые не требуют предварительного указания количества кластеров


17

Существуют ли какие-либо «непараметрические» методы кластеризации, для которых нам не нужно указывать количество кластеров? И другие параметры, такие как количество точек на кластер и т. Д.

Ответы:


22

Алгоритмы кластеризации, которые требуют предварительного указания количества кластеров, составляют небольшое меньшинство. Существует огромное количество алгоритмов, которые этого не делают. Их сложно обобщить; это все равно что просить описание любых организмов, которые не являются кошками.

Алгоритмы кластеризации часто подразделяются на широкие царства:

  1. Алгоритмы разбиения (например, k-means и его потомство)
  2. Иерархическая кластеризация (как описывает @Tim )
  3. Плотность на основе кластеризации (например, DBSCAN )
  4. Кластеризация на основе моделей (например, модели конечной гауссовой смеси или анализ латентного класса )

Могут быть дополнительные категории, и люди могут не соглашаться с этими категориями и какие алгоритмы идут в какую категорию, потому что это эвристический. Тем не менее, что-то вроде этой схемы является распространенным явлением. Исходя из этого, это в первую очередь только методы разделения (1), которые требуют предварительной спецификации количества кластеров для поиска. Какая другая информация должна быть предварительно указана (например, количество точек на кластер) и является ли разумным называть различные алгоритмы «непараметрическими», также очень изменчиво и трудно обобщить.

Иерархическая кластеризация не требует предварительного указания количества кластеров, как это делает k-означает, но вы выбираете количество кластеров из своего вывода. С другой стороны, DBSCAN не требует ни того, ни другого (но он требует указания минимального количества точек для «соседства» - хотя существуют значения по умолчанию, так что в некотором смысле вы можете пропустить указание этого - что ставит точку на количество шаблонов в кластере). GMM даже не требует ни одного из этих трех, но требует параметрических предположений о процессе генерации данных. Насколько я знаю, не существует алгоритма кластеризации, в котором никогда не требуется указывать количество кластеров, минимальное количество данных на кластер или какой-либо шаблон / расположение данных в кластерах. Я не понимаю, как это могло быть.

Это может помочь вам прочитать обзор различных типов алгоритмов кластеризации. Следующее может быть местом для начала:

  • Берхин П. "Обзор методов кластеризации данных" ( pdf )

Я сбит с толку вашим № 4: Я подумал, что если кто-то подгоняет модель гауссовой смеси к данным, тогда нужно выбрать число гауссов, которое будет соответствовать, то есть количество кластеров должно быть указано заранее. Если так, то почему вы говорите, что «в первую очередь только» № 1 требует этого?
говорит амеба, восстанови Монику

@amoeba, это зависит от метода, основанного на модели, и от того, как он реализован. GMM часто подходят для минимизации какого-либо критерия (как, например, регрессия OLS, см. Здесь ). Если это так, вы не будете предварительно указывать количество кластеров. Даже если вы делаете это в соответствии с какой-то другой реализацией, это не типичная функция для методов на основе моделей.
gung - Восстановить Монику

Кзнак равно3К

Я не очень понимаю твои аргументы здесь, @amoeba. Когда вы подходите к простой регрессионной модели с алгоритмом OLS, вы бы сказали, что предварительно задаете наклон и точку пересечения или что алгоритм определяет их, оптимизируя критерий? Если последнее, я не вижу, что здесь отличается. Несомненно, вы могли бы создать новый мета-алгоритм, который использует k-средних в качестве одного из шагов для поиска раздела без предварительного указания k, но этот мета-алгоритм не будет k-средним.
gung - Восстановить Монику

1
@amoeba, кажется, это семантическая проблема, но стандартные алгоритмы, используемые для соответствия GMM, обычно оптимизируют критерий. Например, один из Mclustних предназначен для оптимизации BIC, но можно использовать AIC или последовательность тестов отношения правдоподобия. Я думаю, вы могли бы назвать его мета-алгоритмом, потому что он имеет составляющие шаги (например, EM), но это алгоритм, который вы используете, и, во всяком случае, он не требует предварительного указания k. В моем связанном примере вы можете ясно видеть, что я не указывал там k.
gung - Восстановить Монику

13

Самый простой пример - иерархическая кластеризация , где вы сравниваете каждую точку с каждой другой точкой, используя некоторую меру расстояния , а затем объединяете пару, у которой наименьшее расстояние, для создания объединенной псевдочки (например, b и c делают bc как на изображении). ниже). Затем вы повторяете процедуру, соединяя точки и псевдоточки, основываясь на их попарных расстояниях, пока каждая точка не соединится с графиком.

Иллюстрация из Википедии

(источник: https://en.wikipedia.org/wiki/Hierarchical_clustering )

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


Разве сокращение не означает, что вы выбираете номер кластера?
Learn_and_Share

1
@MedNait это то, что я сказал. В кластерном анализе вы всегда должны принимать такое решение, единственный вопрос в том, как оно принимается - например, оно может быть произвольным или может основываться на каком-то разумном критерии, таком как подбор модели на основе вероятности и т. Д.
Тим

1
Это зависит от того, что именно вы ищете, @MedNait. Иерархическая кластеризация не требует предварительного указания количества кластеров, как это делает k-означает, но вы выбираете количество кластеров из своего вывода. С другой стороны, DBSCAN не требует ни того, ни другого (но он требует указания минимального количества точек для «соседства» - хотя существуют значения по умолчанию - что дает определенное количество шаблонов в кластере) , GMM даже не требует этого, но требует параметрических предположений о процессе генерации данных. И т.д.
Ган - Восстановить Монику

10

Параметры хорошие!

Метод «без параметров» означает, что вы получаете только один выстрел (за исключением, может быть, случайности), без возможности настройки .

В настоящее время кластеризация является исследовательской техникой. Вы не должны предполагать, что существует единственная «истинная» кластеризация . Вы должны быть заинтересованы в изучении различных кластеров одних и тех же данных, чтобы узнать о них больше. Рассматривать кластеризацию как черный ящик никогда не работает хорошо.

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

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


0

Проверьте модели смеси Дирихле . Они предоставляют хороший способ разобраться в данных, если вы заранее не знаете количество кластеров. Тем не менее, они делают предположения о формах кластеров, которые могут нарушать ваши данные.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.