У статистиці '''однозв'язна кластеризація''' є одним із методів ієрархічної кластеризації. Цей метод заснований на групуванні кластерів за принципом «» (агломеративна кластеризація), на кожному кроці об'єднуючи два кластери, які містять найближчу пару елементів, які ще не належать до одного кластера.

Недоліком цього методу є те, що він має тенденцію створювати довгі тонкі кластери, в яких сусідні елементи одного кластера мають малу відстань, але елементи на протилежних кінцях кластера можуть бути набагато далі один від одного, ніж два елементи інших кластерів. Це може призвести до труднощів у визначенні класів, які могли б ефективно розділити дані.

Огляд методів агломераційної кластеризації
На початку процесу агломераційної кластеризації кожен елемент знаходиться у власному кластері. Потім кластери послідовно об'єднуються у більші кластери, поки всі елементи не опиняться в одному кластері. На кожному кроці об'єднуються два кластери, розділені найменшою відстанню. Функція, яка використовується для визначення відстані між двома кластерами, відома як ''функція зв'язності'', є тим, що вирізняє методи агломеративного кластеризування.

У однозв'язній кластеризації відстань між двома кластерами визначається однією парою елементів: тими двома елементами (по одному в кожному кластері), які найближче один до одного. Найкоротша з усіх попарних відстаней, що залишається на будь-якому кроці, призводить до злиття двох кластерів, на елементах яких досягається ця мінімальна відстань. Метод також відомий як кластеризація найближчих сусідів. Результат кластеризації можна візуалізувати як , яка показує послідовність об'єднання кластерів і відстані, на яких відбувалося кожне злиття.

Математично функція зв'язності — відстань D(X, Y) між кластерами X і Y — описується виразом

: 

де X і Y — будь-які дві множини елементів, які розглядаються як кластери, а d(x, y) позначає відстань між двома елементами x і y.

Наївний алгоритм
Наступний алгоритм — це агломеративна схема, яка вилучає рядки та стовпці в матриці близькості, коли старі кластери об'єднуються в нові. Матриця розміру  є матрицею близькості  та містить усі відстані . Кластеризаціям присвоюються порядкові номери  і  — це рівень -ї кластеризації. Кластер з порядковим номером m позначається (m), а близькість між кластерами  і  позначається як .

Алгоритм однозв'язної кластеризації складається з наступних кроків:

# Почніть з кластеризації, у якій кожен елемент належить окремому кластеру. Вона має рівень  і порядковий номер .
# Знайдіть найбільш схожу пару кластерів у поточній кластеризації, скажімо пару , відповідно до функції відстані , де мінімум береться по всім парам кластерів у поточній кластеризації.
# Збільшити порядковий номер: . Об'єднати кластери  і  в один кластер для формування наступної кластеризації . Встановіть рівень цієї кластеризації на .
# Оновити матрицю близкості , шляхом видалення рядків і стовпців, що відповідають кластерам  і  і додавання рядка та стовпця, що відповідають новосформованому кластеру. Близькість між новим кластером позначена  і старим кластером  визначається як .
# Якщо всі об'єкти знаходяться в одному кластері, зупиніться. Інакше перейдіть до кроку 2.

Приклад
Цей реальний приклад базується на матриці генетичної відстані , обчислений на основі порівняння послідовності 5S рибосомної РНК п'яти бактерій: Bacillus subtilis (), Bacillus stearothermophilus (),  (),  (), і Micrococcus luteus ().

Перший крок

* Перша кластеризація

Припустимо, що у нас п'ять елементів  і наступна матриця  попарних відстаней між ними:





a

 b

 c

 d

 e


 a

 0

 17

 21

 31

 23


 b

 17

 0

 30

 34

 21


 c

 21

 30

 0

 28

 39


 d

 31

 34

 28

 0

 43


 e

 23

 21

 39

 43

 0

У цьому прикладі  є найменшим значенням , тому ми групуємо елементи  і .

* Оцінка довжини першої гілки
Нехай  позначає вузол, до якого тепер підєднані  і . Встановлення значень  гарантує, що елементи  і  рівновіддалені від . Це відповідає очікуванням гіпотези ультраметричності. Тоді гілки, що сполучають  і  з , мають довжини  (див. кінцеву дендрограму)

* Перше оновлення матриці відстаней
Потім ми переходимо до оновлення початкової матриці близькості  у нову матрицю близькості  (див. нижче), ми зменшуємо розмір матриці на один рядок і один стовпець через кластеризацію  з . Значення в  виділені жирним шрифтом відповідають новим відстаням, розрахованим шляхом збереження мінімальної відстані між кожним елементом першого кластера  і кожним з елементів, що залишилися:

: 

Значення виділені курсивом в  залишаються без змін при оновленні матриці, оскільки вони відповідають відстаням між елементами, які не беруть участь у першому кластері.

Другий крок

* Друга кластеризація
Тепер ми повторюємо три попередні дії, починаючи з нової матриці відстані :




(a, b)

 c

 d

 e


 (a, b)

 0

 21

 31

 21


 c

 21

 0

 28

 39


 d

 31

 28

 0

 43


 e

 21

 39

 43

 0

Тут  і  є найменшими значеннями , тому ми приєднуємося до кластеру  елемент  і елемент .

* Оцінка довжини другої гілки
Нехай  позначає вузол, до якого ,  і  тепер приєднані. Через накладення умови ультраметричності, гілки, що з'єднують  або  з , і  з , а також  з , рівні та мають таку загальну довжину:

: 

Виводимо відсутню довжину гілки:

:  (див. кінцеву дендрограму)

* Друге оновлення матриці відстані
Потім ми переходимо до оновлення матриці  у нову матрицю відстаней  (див. нижче), спочатку зменшуємо розмір матриці на два рядки та два стовпці через кластеризацію  з  і з :

: 

Заключний крок
Підсумкова матриця  це:




 ((a, b), c,e)

 d


 ((a, b), c,e)

 0

 28


 d

 28

 0

Тож об'єднуємо кластери  і .

Нехай  позначає (кореневий) вузол, до якого приєднані і . З'єднання гілок  і  до  мають такі довжини:



Виводимо довжину гілки, що залишилася:



Однозв'язна дендрограма

 Дані однозв'язної дендрограми 5S
Дендрограма готова. Вона ультраметрична, тому що всі елементи (, , , , і ) знаходяться на однаковій відстані від :



Таким чином, дендрограма має корінь , як найглибший вузол.

Інші зв'язності
Наївний алгоритм для однозв'язної кластеризації по суті такий самий, як алгоритм Крускала для мінімальних кістякових дерев. Однак у однозв'язній кластеризації важливий порядок, у якому утворюються кластери, тоді як для мінімальних кістякових дерев важливим є множиною пар точок, які утворюють відстані, вибрані алгоритмом.

Альтернативні схеми зв'язностей включають , середньозв'язну кластеризацію ( та ) і . У простому алгоритмі для агломеративної кластеризації впровадження іншої схеми зв'язностей може бути виконано просто за допомогою іншої формули для обчислення міжкластерних відстаней в алгоритмі. У наведеному вище описі алгоритму формулу, яку потрібно відкоригувати, виділено жирним шрифтом. Однак більш ефективні алгоритми, такі як описаний нижче, не поширюються на всі схеми зв'язностей однаково.


+Порівняння дендрограм, отриманих різними методами кластеризації для однієї матриці відстаней.

225x225пкс

325x325пкс

300x300пкс

275x275пкс


 Однозв'язна кластеризації

 

 Середньозв'язна кластеризацію: 

 Середньозв'язна кластеризацію: 


Швидші алгоритми
Наївний алгоритм однозв'язної кластеризації простий для розуміння, але повільний і має часову складність . У 1973 р. Р. Сібсон запропонував алгоритм з часовою складністю  і складність простору  (обидва оптимальні), відомі як SLINK. Алгоритм SLINK представляє кластеризацію на множині  пронумерованих елементів за двома функціями. Обидві ці функції визначаються шляхом пошуку найменшого кластера , який містить обидва елементи  і принаймні один елемент із більшим номером. Перша функція, , відображає елемент  до елемента з найбільшим номером у кластері . Друга функція, , відображає елемент  до відстані, пов'язаної зі створенням кластера . Зберігання цих функцій у двох масивах, які відображають кожен номер елемента в його функціональному значенні, займає у памяті  місця, і цієї інформації достатньо для визначення самої кластеризації. Як показує Сібсон, коли новий елемент додається до множини елементів, оновлені функції, що представляють нову кластеризацію з одним зв'язком для доповненої множини, представлену таким же чином, можуть бути побудовані на основі старої кластеризації в часі . Алгоритм SLINK потім перебирає елементи один за одним, додаючи їх до представлення кластеризації.

Альтернативний алгоритм, що працює в тих самих оптимальних часових і просторових межах, заснований на еквівалентності між наївним алгоритмом і алгоритмом Крускала для мінімальних кістякових дерев. Замість використання алгоритму Крускала можна використати алгоритм Прима у варіації без бінарних куп, що потребує часу  і простору  для побудови мінімального кістякового дерева (але не кластеризації) із заданих елементів і відстаней. Потім застосування алгоритму Крускала до розрідженого графа, утвореного ребрами мінімального кістякового дерева, створює саму кластеризацію за додатковий час  і з використанням простору .

Див. також

* Кластерний аналіз
* 
* Ієрархічна кластеризація
* Молекулярний годинник
* Метод приєднання сусідів
* 
* 

Примітки


Посилання

*  Зв'язності, які використовуються в Matlab


