Иерархическая кластеризация


Иерархическая кластеризация (также графовые алгоритмы кластеризации и иерархический кластерный анализ) — совокупность алгоритмов упорядочивания данных, направленных на создание иерархии (дерева) вложенных кластеров. Выделяют два класса методов иерархической кластеризации:

  • Агломеративные методы (англ. agglomerative): новые кластеры создаются путем объединения более мелких кластеров и, таким образом, дерево создается от листьев к стволу;
  • Дивизивные или дивизионные методы (англ. divisive): новые кластеры создаются путем деления более крупных кластеров на более мелкие и, таким образом, дерево создается от ствола к листьям.

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

Дендрограмма

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

Для построения матрицы сходства (различия) необходимо задать меру расстояния между двумя кластерами. Наиболее часто используются следующие методы определения расстояния (англ. sorting strategies):

  • Метод одиночной связи (англ. single linkage), также известен, как «метод ближайшего соседа». Расстояние между двумя кластерами полагается равным минимальному расстоянию между двумя элементами из разных кластеров: min { d ( a , b ) : a ∈ A , b ∈ B } {displaystyle min ,{,d(a,b):ain A,,bin B,}} , где d ( a , b ) {displaystyle d(a,b)} — расстояние между элементами a {displaystyle a} и b {displaystyle b} , принадлежащими кластерам A {displaystyle A} и B {displaystyle B}
  • Метод полной связи (англ. complete linkage), также известен, как «метод дальнего соседа». Расстояние между двумя кластерами полагается равным максимальному расстоянию между двумя элементами из разных кластеров: max { d ( a , b ) : a ∈ A , b ∈ B } {displaystyle max ,{,d(a,b):ain A,,bin B,}} ;
  • Метод средней связи (англ. pair-group method using arithmetic mean):
    • Невзвешенный (англ. UPGMA). Расстояние между двумя кластерами полагается равным среднему расстоянию между элементами этих кластеров: 1 | A | ⋅ | B | ∑ a ∈ A ∑ b ∈ B d ( a , b ) {displaystyle {1 over {|A|cdot |B|}}sum _{ain A}sum _{bin B}d(a,b)} , где d ( a , b ) {displaystyle d(a,b)} — расстояние между элементами a {displaystyle a} и b {displaystyle b} , принадлежащими кластерам A {displaystyle A} и B {displaystyle B} , а | A | {displaystyle |A|} и | B | {displaystyle |B|} — мощности кластеров.
    • Взвешенный (англ. WPGMA).
  • Центроидный метод (англ. pair-group method using the centroid average):
    • Невзвешенный (англ. UPGMC). Расстояние между кластерами полагается равным расстоянию между их центроидами (центрами массы): ‖ c A − c B ‖ {displaystyle |c_{A}-c_{B}|} , где c A {displaystyle c_{A}} и c B {displaystyle c_{B}} — центройды A {displaystyle A} и B {displaystyle B} .
    • Взвешенный (англ. WPGMC).
  • Метод Уорда (англ. Ward’s method). В отличие от других методов кластерного анализа, для оценки расстояний между кластерами здесь используются методы дисперсионного анализа. В качестве расстояния между кластерами берётся прирост суммы квадратов расстояний объектов до центра кластера, получаемого в результате их объединения: Δ = ∑ i ( x i − x ¯ ) 2 − ∑ x i ∈ A ( x i − a ¯ ) 2 − ∑ x i ∈ B ( x i − b ¯ ) 2 {displaystyle Delta =sum _{i}{(x_{i}-{ar {x}})^{2}}-sum _{x_{i}in A}(x_{i}-{ar {a}})^{2}-sum _{x_{i}in B}(x_{i}-{ar {b}})^{2}} . На каждом шаге алгоритма объединяются такие два кластера, которые приводят к минимальному увеличению дисперсии. Этот метод применяется для задач с близко расположенными кластерами.
  • Для первых трёх методов существует общая формула, предложенная А. Н. Колмогоровым для мер сходства:

    K η ( [ i , j ] , k ) = [ ( n i K ( i , k ) η + ( n j K ( j , k ) η ) n i + n j ] 1 η , − 1 ⩽ η ⩽ + 1 {displaystyle K_{eta }([i,j],k)=left[{frac {(n_{i}K(i,k)^{eta }+(n_{j}K(j,k)^{eta })}{n_{i}+n_{j}}} ight]^{frac {1}{eta }},-{mathcal {1}}leqslant eta leqslant +{mathcal {1}}}

    где [ i , j ] {displaystyle [i,j]} — группа из двух объектов (кластеров) i {displaystyle i} и j {displaystyle j} ; k {displaystyle k} — объект (кластер), с которым ищется сходство указанной группы; n i {displaystyle n_{i}} — число элементов в кластере i {displaystyle i} ; n j {displaystyle n_{j}} — число элементов в кластере j {displaystyle j} . Для расстояний имеется аналогичная формула Ланса — Вильямса.

    Корреляционные плеяды

    Широко применяются в геоботанике и флористике. Их часто называют корреляционными плеядами.

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

    Диаграмма Чекановского

    Метод «диагонализации» матрицы различия и графическое изображение кластеров вдоль главной диагонали матрицы различия (диаграмма Чекановского) впервые предложен Яном Чекановским в 1909 году. Приведём описание методики:

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

    Приведём гипотетический пример получения вышеуказанной диаграммы. Основой метода является построение матрицы транзитивного замыкания.

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

    K ( 2 ) ( i , j ) = m a x ( m i n ( K ( i , 1 ) , K ( 1 , j ) ) , . . . , m i n ( K ( i , q ) , K ( q , j ) ) ) {displaystyle K^{(2)}(i,j)=max(min(K(i,1),K(1,j)),...,min(K(i,q),K(q,j)))} ,

    где K ( i , j ) {displaystyle K(i,j)} — элемент, стоящий на пересечении i {displaystyle i} -ой строки и j {displaystyle j} -го столбца в новой (второй) матрице, полученной после первой итерации; q {displaystyle q} — общее количество строк (столбцов) матрицы сходства. Данную процедуру необходимо продолжать, пока матрица не станет идемпотентной (то есть самоподобной): K ( n ) ( i , j ) = K ( n − 1 ) ( i , j ) {displaystyle K^{(n)}(i,j)=K^{(n-1)}(i,j)} , где n — число итераций.

    Далее преобразовываем матрицу таким образом, чтобы близкие числовые значения находились рядом. Если каждому числовому значению присвоить какой-либо цвет или оттенок цвета (как в нашем случае), то получим классическую диаграмму Чекановского. Традиционно более тёмный цвет соответствует большему сходству, а более светлый — меньшему. В этом она схожа с теплокартой для матрицы расстояний.