Может кто-нибудь объяснить плюсы и минусы иерархической кластеризации?
- Имеет ли иерархическая кластеризация те же недостатки, что и K?
- Каковы преимущества иерархической кластеризации по сравнению с K средствами?
- Когда мы должны использовать средства K вместо иерархической кластеризации и наоборот?
Ответы на этот пост очень хорошо объясняют недостатки k средств. Как понять недостатки К-средних
clustering
k-means
unsupervised-learning
hierarchical-clustering
GeorgeOfTheRF
источник
источник
Ответы:
Принимая во внимание, что -means пытается оптимизировать глобальную цель (дисперсию кластеров) и достигает локального оптимума, агломерационная иерархическая кластеризация стремится найти лучший шаг в каждом объединении кластеров (жадный алгоритм), который выполняется точно, но приводит к потенциально неоптимальному решению. ,k
Следует использовать иерархическую кластеризацию, когда базовые данные имеют иерархическую структуру (например, корреляции на финансовых рынках), и вы хотите восстановить иерархию. Вы все еще можете применить -means для этого, но вы можете получить разделы (от самого грубого (все точки данных в кластере) до самого лучшего (каждая точка данных - кластер)), которые не являются вложенными и, таким образом, не правильная иерархия.k
Если вы хотите углубиться в более тонкие свойства кластеризации, вы, возможно, не захотите противопоставлять плоскую кластеризацию, такую как иерархической кластеризации, такой как одиночные, средние, полные связи. Например, все эти кластеры сохраняют пространство, то есть, когда вы строите кластеры, вы не искажаете пространство, в то время как иерархическая кластеризация, такая как Ward, не сохраняет пространство, то есть на каждом этапе объединения это будет искажать метрическое пространство.k
В заключение следует отметить, что недостатки алгоритмов иерархической кластеризации могут сильно отличаться друг от друга. Некоторые могут иметь свойства, аналогичные -means: Ward стремится оптимизировать дисперсию, но Single Linkage нет. Но они также могут иметь разные свойства: Ward расширяет пространство, тогда как Single Linkage сохраняет пространство, как k- образные.k k
- редактировать для уточнения свойств сохранения пространства и расширения пространства
Сохранение пространства: где D i j - расстояние между кластерами C i и C j, которые вы хотите объединить, и d
Расширение пространства: т. Е. Путем объединения C i и C j алгоритм будет отталкивать кластер C k дальше.
источник
should use hierarchical clustering when underlying data has a hierarchical structure... and you want to recover the hierarchy
не обязательно. В большинстве случаев скорее наоборот. Иерархия HC - это скорее история алгоритма, чем структура данных . Тем не менее, этот вопрос в конечном итоге философский / логический, а не статистический.Ward is not space-conserving, i.e. at each merging step it will distort the metric space
, Вы можете написать больше об этом? Это не очень понятно.Ward is space-dilating, whereas Single Linkage is space-conserving like k-means
, Вы хотели сказать, что космический контракт для единственной связи?Масштабируемость
значит, явный победитель здесь. O ( n ⋅ k ⋅ d ⋅ i ) намного лучше, чеммасштабируемость O ( n 3 d ) (в некоторых случаях O ( n 2 d ) ) иерархической кластеризации, потому что обычно k и i и d малы (к сожалению, я стремлюсь расти вместе сk O(n⋅k⋅d⋅i) O(n3d) O(n2d) k i d i , поэтому O ( п ) делаетнеn O(n) обычно держат). Кроме того, потребление памяти является линейным, а не квадратичным (обычно существуют линейные особые случаи).
гибкость
-средство крайне ограничено в применении. Он по существу ограничен евклидовыми расстояниями (включая евклидовы в пространствах ядра и расхождения Брегмана, но они довольно экзотичны, и никто не использует их с k- средними). Хуже того, k -means работает только с числовыми данными (которые должны быть непрерывными и плотными, чтобы подходить для k- средних).k k k k
Иерархическая кластеризация - явный победитель здесь. Он даже не требует расстояния - можно использовать любую меру, включая функции подобия, просто предпочитая высокие значения низким значениям. Категориальные данные? обязательно просто используйте, например, Jaccard. Строки? Попробуйте расстояние Левенштейна. Временная последовательность? конечно. Данные смешанного типа? Gower расстояние. Существуют миллионы наборов данных, в которых вы можете использовать иерархическую кластеризацию, но где вы не можете использовать -means.k
модель
Здесь нет победителя. -means получает высокие баллы, потому что это приводит к значительному сокращению данных. Центроиды легко понять и использовать. Иерархическая кластеризация, с другой стороны, производит дендрограмму. Дендрограмма также может быть очень полезна для понимания вашего набора данных.k
источник
Я просто хотел добавить к другим ответам немного о том, что в некотором смысле есть веская теоретическая причина отдавать предпочтение определенным методам иерархической кластеризации.
Распространенным предположением в кластерном анализе является то, что данные отбираются из некоторой базовой плотности вероятности которой у нас нет доступа. Но предположим, что у нас был доступ к нему. Как мы определяем кластеры из е ?f f
Очень естественный и интуитивный подход состоит в том, чтобы сказать, что кластеры являются областями высокой плотности. Например, рассмотрим двухпиковую плотность ниже:f
Рисуя линию на графике, мы создаем набор кластеров. Например, если мы рисуем линию на , мы получаем два показанных кластера. Но если мы проведем линию на λ 3 , мы получим один кластер.λ1 λ3
Чтобы сделать это более точным, предположим, что мы имеем произвольное . Каковы кластеры f на уровне λ ? Они являются связной компонентой множества суперуровня { x : f ( x ) ≥ λ } .λ>0 f λ {x:f(x)≥λ}
Теперь вместо выбора произвольного мы могли бы рассмотреть все λ , так что множество «истинных» кластеров f - это все связные компоненты любого суперуровневого множества f . Ключ в том, что эта коллекция кластеров имеет иерархическую структуру.λ λ f f
Итак, теперь у меня есть некоторые данные, взятые из плотности. Могу ли я кластеризовать эти данные таким образом, чтобы восстановить дерево кластеров? В частности, мы бы хотели, чтобы метод был последовательным в том смысле, что по мере того, как мы собираем все больше и больше данных, наша эмпирическая оценка дерева кластеров становится все ближе и ближе к истинному дереву кластеров.
По сути, согласованность Хартигана говорит о том, что наш метод кластеризации должен адекватно разделять области высокой плотности. Хартиган исследовал, может ли единообразная кластеризация быть последовательной, и обнаружил, что это не так соответствует по размерам> 1. Задача нахождения общего, последовательный метод оценки дерева кластера был открыт до всего лишь несколько лет назад, когда Чоудхури и Дасгупта введены надежная единственная связь , которая доказуемо последовательна. Я бы посоветовал почитать об их методе, поскольку, на мой взгляд, он довольно элегантный.
Итак, чтобы ответить на ваши вопросы, есть смысл, в котором иерархическая группа является «правильной» вещью, которую нужно сделать, пытаясь восстановить структуру плотности. Однако обратите внимание на пугающие кавычки вокруг «правильных» ... В конечном итоге методы кластеризации на основе плотности имеют тенденцию работать плохо в больших измерениях из-за проклятия размерности, и поэтому даже при том, что определение кластеризации, основанное на кластерах, является областями высокой вероятности является достаточно чистым и интуитивно понятным, его часто игнорируют в пользу методов, которые работают лучше на практике. Нельзя сказать, что надежная одиночная связь не практична - на самом деле она очень хорошо работает для задач меньших размеров.
Наконец, я скажу, что последовательность Хартигана в некотором смысле не соответствует нашей интуиции конвергенции. Проблема состоит в том, что согласованность Хартигана позволяет методу кластеризации сильно разбивать кластеры на сегменты , так что алгоритм может быть согласованным по Хартигану, но создавать кластеризации, которые сильно отличаются от истинного дерева кластеров. В этом году мы подготовили работу по альтернативному понятию конвергенции, которое решает эти проблемы. Работа появилась в статье «За пределами согласованности Хартигана: метрика искажения слияния для иерархической кластеризации» в COLT 2015.
источник
R
в пакете pdfCluster . (Я обсуждаю это здесь .)Дополнительным практическим преимуществом иерархической кластеризации является возможность визуализации результатов с использованием дендрограммы. Если вы не знаете заранее, какое количество кластеров вы ищете (как это часто бывает ...), вы можете использовать график дендрограммы, который поможет вам выбратьК без необходимости создавать отдельные кластеры. Дедрограмма также может дать хорошее представление о структуре данных, помочь идентифицировать выбросы и т. Д. Иерархическая кластеризация также является детерминированной, тогда как k-среднее со случайной инициализацией может дать вам разные результаты при запуске несколько раз на одних и тех же данных. В k-средних вы также можете выбрать разные методы для обновления кластерных средств (хотя подход Хартиган-Вонга является наиболее распространенным), что не является проблемой для иерархического метода.
EDIT thanks to ttnphns: One feature that hierarchical clustering shares with many other algorithms is the need to choose a distance measure. This is often highly dependent on the particular application and goals. This might be seen as an additional complication (another parameter to select...), but also as an asset - more possibilities. On the contrary, classical K-means algorithm specifically uses Euclidean distance.
источник