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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

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

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

Огляд методів агломераційної кластеризації[ред. | ред. код]

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

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

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

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

Наївний алгоритм[ред. | ред. код]

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

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

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

Приклад[ред. | ред. код]

Цей реальний приклад базується на матриці генетичної відстані JC69[en], обчислений на основі порівняння послідовності 5S рибосомної РНК п'яти бактерій: Bacillus subtilis (), Bacillus stearothermophilus (), Lactobacillus viridescens[en] (), Acholeplasma modicum[en] (), і Micrococcus luteus ().[3][4]

Перший крок[ред. | ред. код]

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

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

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.

  • Оцінка довжини першої гілки

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

  • Перше оновлення матриці відстаней

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

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

Другий крок[ред. | ред. код]

  • Друга кластеризація

Тепер ми повторюємо три попередні дії, починаючи з нової матриці відстані :

(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

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

  • Оцінка довжини другої гілки

Нехай v позначає вузол, до якого , c і e тепер приєднані. Через накладення умови ультраметричності, гілки, що з'єднують a або b з v, і c з v, а також e з v, рівні та мають таку загальну довжину:

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

(див. кінцеву дендрограму)
  • Друге оновлення матриці відстані

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

Заключний крок[ред. | ред. код]

Підсумкова матриця це:

((a, b), c,e) d
((a, b), c,e) 0 28
d 28 0

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

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

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

Однозв'язна дендрограма[ред. | ред. код]

Single Linkage Dendrogram 5S data
Дані однозв'язної дендрограми 5S

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

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

Інші зв'язності[ред. | ред. код]

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

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

Порівняння дендрограм, отриманих різними методами кластеризації для однієї матриці відстаней.
Однозв'язна кластеризації Повнозв'язна кластеризація[en] Середньозв'язна кластеризацію: WPGMA[en] Середньозв'язна кластеризацію: UPGMA[en]

Швидші алгоритми[ред. | ред. код]

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

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

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Everitt B (2011). Cluster analysis. Chichester, West Sussex, U.K: Wiley. ISBN 9780470749913.
  2. Numerical Ecology. Developments in Environmental Modelling. Т. 20 (вид. Second English). Amsterdam: Elsevier. 1998.
  3. Erdmann VA, Wolters J (1986). Collection of published 5S, 5.8S and 4.5S ribosomal RNA sequences. Nucleic Acids Research. 14 Suppl (Suppl): r1-59. doi:10.1093/nar/14.suppl.r1. PMC 341310. PMID 2422630.
  4. Olsen GJ (1988). Phylogenetic analysis using ribosomal RNA. Methods in Enzymology. 164: 793—812. doi:10.1016/s0076-6879(88)64084-5. PMID 3241556.
  5. Murtagh F, Contreras P (2012). Algorithms for hierarchical clustering: an overview. Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery. Wiley Online Library. 2 (1): 86—97. doi:10.1002/widm.53.
  6. Sibson R (1973). SLINK: an optimally efficient algorithm for the single-link cluster method (PDF). The Computer Journal. British Computer Society. 16 (1): 30—34. doi:10.1093/comjnl/16.1.30.
  7. Gan G (2007). Data clustering : theory, algorithms, and applications. Philadelphia, Pa. Alexandria, Va: SIAM, Society for Industrial and Applied Mathematics American Statistical Association. ISBN 9780898716238.
  8. Gower JC, Ross GJ (1969). Minimum spanning trees and single linkage cluster analysis. Journal of the Royal Statistical Society, Series C. 18 (1): 54—64. doi:10.2307/2346439. JSTOR 2346439. MR 0242315..

Посилання[ред. | ред. код]