Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В интеллектуальном анализе данных и статистических данных , иерархическая кластеризация (также называемый иерархическим кластерного анализом или ГЛКОМ ) представляет собой метод кластерного анализа , который стремится построить иерархию кластеров. Стратегии иерархической кластеризации обычно делятся на два типа: [1]

  • Агломеративный : это восходящий подход: каждое наблюдение начинается в своем собственном кластере, и пары кластеров объединяются по мере продвижения вверх по иерархии.
  • Divisive : это подход « сверху вниз »: все наблюдения начинаются в одном кластере, а разбиения выполняются рекурсивно по мере продвижения вниз по иерархии.

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

Стандартный алгоритм для иерархической кластеризации агломерационной (HAC) имеет временную сложность из и требует памяти, что делает его слишком медленно для наборов данных даже среднего. Однако для некоторых особых случаев известны оптимальные эффективные агломерационные методы (сложности ): SLINK [3] для однократной связи и CLINK [4] для кластеризации с полной связью . С помощью кучи время выполнения общего случая может быть сокращено до улучшения вышеупомянутой границы, за счет дальнейшего увеличения требований к памяти. Во многих случаях накладные расходы на память при таком подходе слишком велики, чтобы сделать его практически применимым.

За исключением особого случая одинарного связывания, ни один из алгоритмов (кроме полного перебора в ) не может гарантировать нахождение оптимального решения.

Разделяющая кластеризация с исчерпывающим поиском есть , но для выбора разбиений обычно используются более быстрые эвристики, такие как k-среднее.

Кластерное несходство [ править ]

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

Метрика [ править ]

Выбор подходящей метрики будет влиять на форму кластеров, поскольку некоторые элементы могут быть относительно ближе друг к другу по одной метрике, чем по другой. Например, в двух измерениях в метрике манхэттенского расстояния расстояние между исходной точкой (0,0) и (0,5, 0,5) совпадает с расстоянием между исходной точкой и (0, 1), а в рамках евклидова расстояния метрика у последнего строго больше.

Некоторые часто используемые метрики для иерархической кластеризации: [5]

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

Обзор кластерного анализа в исследованиях психологии здоровья показал, что наиболее распространенной мерой расстояния в опубликованных исследованиях в этой области исследований является евклидово расстояние или квадрат евклидова расстояния. [ необходима цитата ]

Критерии связи [ править ]

Критерий связи определяет расстояние между наборами наблюдений как функцию попарных расстояний между наблюдениями.

Вот некоторые часто используемые критерии связи между двумя наборами наблюдений A и B : [6] [7]

где d - выбранная метрика. Другие критерии привязки включают:

  • Сумма всей внутрикластерной дисперсии.
  • Увеличение дисперсии для объединяемого кластера ( критерий Уорда ). [8]
  • Вероятность появления кластеров-кандидатов из одной и той же функции распределения (V-связь).
  • Произведение внутренней и исходящей степени на графе k ближайших соседей (связь степени графа). [9]
  • Приращение некоторого дескриптора кластера (т. Е. Количества, определенного для измерения качества кластера) после слияния двух кластеров. [10] [11] [12]

Обсуждение [ править ]

Иерархическая кластеризация имеет явное преимущество в том, что можно использовать любую допустимую меру расстояния. Фактически, сами наблюдения не требуются: все, что используется, - это матрица расстояний.

Пример агломеративной кластеризации [ править ]

Необработанные данные

Например, предположим, что эти данные должны быть сгруппированы, а евклидово расстояние является метрикой расстояния .

Дендрограмма иерархической кластеризации будет выглядеть так:

Традиционное представление

Обрезка дерева на заданной высоте даст разбиение на кластеры с выбранной точностью. В этом примере вырезание после второй строки (сверху) дендрограммы даст кластеры {a} {bc} {de} {f}. Вырезание после третьей строки даст кластеры {a} {bc} {def}, что является более грубой кластеризацией, с меньшим числом, но большими кластерами.

Этот метод строит иерархию из отдельных элементов путем постепенного объединения кластеров. В нашем примере у нас есть шесть элементов {a} {b} {c} {d} {e} и {f}. Первый шаг - определить, какие элементы объединить в кластер. Обычно мы хотим взять два самых близких элемента в соответствии с выбранным расстоянием.

По желанию, на этом этапе можно также построить матрицу расстояний , где число в j -м столбце i-й строки - это расстояние между i-м и j-м элементами. Затем, по мере выполнения кластеризации, строки и столбцы объединяются по мере объединения кластеров и обновления расстояний. Это распространенный способ реализации такого типа кластеризации, который имеет преимущество кэширования расстояний между кластерами. Простой алгоритм агломеративной кластеризации описан на странице однократной кластеризации ; его можно легко адаптировать к различным типам связи (см. ниже).

Предположим, мы объединили два ближайших элемента b и c , теперь у нас есть следующие кластеры { a }, { b , c }, { d }, { e } и { f }, и мы хотим объединить их дальше. Для этого нам нужно взять расстояние между {a} и {bc} и, следовательно, определить расстояние между двумя кластерами. Обычно расстояние между двумя кластерами и бывает одним из следующих:

  • Максимальное расстояние между элементами каждого кластера (также называемое кластеризацией с полной связью ):
  • Минимальное расстояние между элементами каждого кластера (также называемое одинарной кластеризацией ):
  • Среднее расстояние между элементами каждого кластера (также называемое средней кластеризацией связей, используемое, например, в UPGMA ):
  • Сумма всей внутрикластерной дисперсии.
  • Увеличение дисперсии для объединяемого кластера ( метод Уорда [8] )
  • Вероятность появления кластеров-кандидатов из одной и той же функции распределения (V-связь).

В случае связанных минимальных расстояний пара выбирается случайным образом, что позволяет сгенерировать несколько структурно различных дендрограмм. В качестве альтернативы все связанные пары могут быть объединены одновременно, создавая уникальную дендрограмму. [13]

Всегда можно решить прекратить кластеризацию, когда количество кластеров достаточно мало (числовой критерий). Некоторые связи могут также гарантировать, что агломерация происходит на большем расстоянии между кластерами, чем предыдущая агломерация, а затем можно прекратить кластеризацию, когда кластеры слишком далеко друг от друга для объединения (критерий расстояния). Однако это не относится, например, к центроидному соединению, где могут происходить так называемые инверсии [14] (инверсии, отклонения от ультраметричности).

Разделительная кластеризация [ править ]

Основной принцип разделяющей кластеризации был опубликован как алгоритм DIANA (DIvisive ANAlysis Clustering). [15] Изначально все данные находятся в одном кластере, и самый большой кластер разделяется до тех пор, пока каждый объект не станет отдельным. Поскольку существуют способы разделения каждого кластера, необходима эвристика. ДИАНА выбирает объект с максимальной средней несхожестью, а затем перемещает в этот кластер все объекты, которые больше похожи на новый кластер, чем на остальные.

Программное обеспечение [ править ]

Реализации с открытым исходным кодом [ править ]

Иерархическая кластеризация дендрограмма из набора данных Iris ( с использованием R ). Источник
Иерархическая кластеризация и интерактивная визуализация дендрограмм в пакете интеллектуального анализа данных Orange .
  • ALGLIB реализует несколько алгоритмов иерархической кластеризации (single-link, full-link, Ward) на C ++ и C # с памятью O (n²) и временем выполнения O (n³).
  • ELKI включает несколько алгоритмов иерархической кластеризации, различные стратегии связывания, а также эффективные алгоритмы SLINK, [3] CLINK [4] и Андерберга, гибкое извлечение кластеров из дендрограмм и различные другие алгоритмы кластерного анализа .
  • Octave , аналог MATLAB в GNU, реализует иерархическую кластеризацию в функции «связывание».
  • Orange , программный пакет для интеллектуального анализа данных, включает иерархическую кластеризацию с интерактивной визуализацией дендрограмм.
  • R имеет множество пакетов, которые предоставляют функции для иерархической кластеризации.
  • SciPy реализует иерархическую кластеризацию в Python, включая эффективный алгоритм SLINK.
  • scikit-learn также реализует иерархическую кластеризацию в Python.
  • Weka включает иерархический кластерный анализ.

Коммерческие реализации [ править ]

  • MATLAB включает иерархический кластерный анализ.
  • SAS включает иерархический кластерный анализ в PROC CLUSTER.
  • Mathematica включает пакет иерархической кластеризации.
  • NCSS включает иерархический кластерный анализ.
  • SPSS включает иерархический кластерный анализ.
  • Qlucore Omics Explorer включает иерархический кластерный анализ.
  • Stata включает иерархический кластерный анализ.
  • CrimeStat включает алгоритм иерархического кластера ближайшего соседа с графическим выводом для Географической информационной системы.

См. Также [ править ]

  • Разделение двоичного пространства
  • Иерархия ограничивающего объема
  • Коричневая кластеризация
  • Кладистика
  • Кластерный анализ
  • Вычислительная филогенетика
  • Алгоритм кластеризации данных CURE
  • Цель Дасгупты
  • Дендрограмма
  • Определение количества кластеров в наборе данных
  • Иерархическая кластеризация сетей
  • Хеширование с учетом местоположения
  • Поиск ближайшего соседа
  • Алгоритм цепочки ближайшего соседа
  • Числовая таксономия
  • Алгоритм ОПТИКИ
  • Статистическое расстояние
  • Стойкая гомология

Ссылки [ править ]

  1. ^ Рокач, Лиор и Одед Маймон. «Методы кластеризации». Справочник по интеллектуальному анализу данных и открытию знаний. Springer US, 2005. 321-352.
  2. ^ Франк Нильсен (2016). «Глава 8: Иерархическая кластеризация» . Введение в HPC с MPI для науки о данных . Springer.
  3. ^ "Процедура DISTANCE: меры близости" . Руководство пользователя SAS / STAT 9.2 . Институт САС . Проверено 26 апреля 2009 .
  4. ^ «Процедура КЛАСТЕРА: Методы кластеризации» . Руководство пользователя SAS / STAT 9.2 . Институт САС . Проверено 26 апреля 2009 .
  5. ^ Székely, GJ; Риццо, ML (2005). «Иерархическая кластеризация через совместное расстояние между внутренними расстояниями: расширение метода минимальной дисперсии Уорда». Журнал классификации . 22 (2): 151–183. DOI : 10.1007 / s00357-005-0012-9 .
  6. ^ a b Уорд, Джо Х. (1963). «Иерархическая группировка для оптимизации целевой функции». Журнал Американской статистической ассоциации . 58 (301): 236–244. DOI : 10.2307 / 2282967 . JSTOR 2282967 . Руководство по ремонту 0148188 .  
  7. ^ Чжан, Вэй; Ван, Сяоган; Чжао, Дели; Тан, Сяоу (2012). Фитцгиббон, Эндрю; Лазебник, Светлана; Перона, Пьетро; Сато, Йоичи; Шмид, Корделия (ред.). «График Степени Связи: Агломеративная кластеризация на ориентированном графе». Компьютерное зрение - ECCV 2012 . Конспект лекций по информатике. Springer Berlin Heidelberg. 7572 : 428–441. arXiv : 1208,5092 . Bibcode : 2012arXiv1208.5092Z . DOI : 10.1007 / 978-3-642-33718-5_31 . ISBN 9783642337185.См. Также: https://github.com/waynezhanghk/gacluster
  8. ^ Чжан и др. «Агломеративная кластеризация с помощью максимального интеграла пути». Распознавание образов (2013).
  9. ^ Чжао и Тан. «Циклизация кластеров с помощью дзета-функции графика». Достижения в системах обработки нейронной информации. 2008 г.
  10. ^ Ма и др. «Сегментация многомерных смешанных данных с помощью кодирования и сжатия данных с потерями». IEEE Transactions on Pattern Analysis and Machine Intelligence, 29 (9) (2007): 1546-1562.
  11. ^ Фернандес, Альберто; Гомес, Серхио (2008). «Решение проблемы неединственности в агломеративной иерархической кластеризации с использованием мультидендрограмм». Журнал классификации . 25 (1): 43–65. arXiv : cs / 0608049 . DOI : 10.1007 / s00357-008-9004-х .
  12. ^ Legendre, P .; Лежандр, Л. (2003). Числовая экология . Elsevier Science BV.
  13. ^ Кауфман, Л., & Roussew, PJ (1990). Поиск групп в данных - Введение в кластерный анализ. Публикация Wiley-Science John Wiley & Sons.

Дальнейшее чтение [ править ]

  • Кауфман, Л .; Rousseeuw, PJ (1990). Поиск групп в данных: Введение в кластерный анализ (1-е изд.). Нью-Йорк: Джон Вили. ISBN 0-471-87876-6.
  • Хасти, Тревор ; Тибширани, Роберт ; Фридман, Джером (2009). «14.3.12 Иерархическая кластеризация» . Элементы статистического обучения (2-е изд.). Нью-Йорк: Спрингер. С. 520–528. ISBN 978-0-387-84857-0. Архивировано из оригинального (PDF) 10 ноября 2009 года . Проверено 20 октября 2009 .