Лекція 10. Ієрархічні методи кластеризації
Огляд
У Лекції 9 ми розв’язали задачу кластеризації методом -середніх: заздалегідь фіксували число кластерів , розкидали центри й ітеративно «притягали» до них точки. Такий підхід простий і швидкий, але має дві слабкості: число кластерів треба знати наперед, а результат залежить від випадкового початкового розкидання центрів і від того, що кластери вважають приблизно кулястими.
Ієрархічні методи знімають першу з цих проблем. Замість одного розбиття на груп вони будують цілу послідовність вкладених розбиттів — від «кожна точка окремо» до «усі точки разом» — і подають її наочним деревом. Дивлячись на це дерево, аналітик сам обирає, на скільки кластерів різати дані, вже після обчислень. У цій лекції ми розберемо два напрями: агломеративний (знизу догори — злиття) і поділяючий (згори донизу — DIANA), докладно вивчимо метрики зв’язку між кластерами (single, complete, average, центроїдний, Ward) і навчимося оцінювати якість кластеризації індексом Данна та силуетним коефіцієнтом. Наступна Лекція 11 відкриє новий розділ — пошук асоціативних правил.
Практичний бік. Агломеративну кластеризацію одиночним і повним зв’язком ви виконуватимете «руками», а потім реалізуєте алгоритм програмою й порівняєте його з -середніми у Лабораторній роботі 10.
Наскрізний приклад лекції — п’ять одновимірних точок (наприклад, значення однієї ознаки в п’яти клієнтів):
Одновимірність тут навмисна: відстань між точками — це просто модуль різниці , тож усю увагу можна зосередити на логіці злиттів, а не на арифметиці. Усі формули розділу дослівно переносяться на багатовимірні дані, де замість беруть евклідову відстань.
10.1 Мета ієрархічних методів
Означення (ієрархічна кластеризація). Ієрархічна кластеризація — побудова послідовності вкладених групувань множини об’єктів: від найдрібнішого розбиття (кожен об’єкт — окремий кластер) до найгрубшого (усі об’єкти в одному кластері). Цю послідовність зображують бінарним деревом, у якому листя — окремі точки, а корінь — кластер, що об’єднує всі точки.
Ключове слово — вкладене. Розбиття називають вкладеним, якщо кожен кластер грубшого рівня є об’єднанням кількох кластерів дрібнішого рівня; кластери ніколи не перетинаються частково — вони або вкладені один в один, або неперетинні.
Означення (вкладене розбиття). Дві системи кластерів і утворюють вкладену пару, якщо кожен кластер із — це об’єднання цілих кластерів із (тобто грубша за ). Ієрархія — це ланцюг таких розбиттів , де — окремих точок, а — один спільний кластер.
Порівняймо з -середніми (Лекція 9):
| Властивість | -середніх | Ієрархічні методи |
|---|---|---|
| Число кластерів | задають наперед | обирають після побудови дерева |
| Результат | одне розбиття на груп | уся родина вкладених розбиттів |
| Форма кластерів | тяжіє до кулястих | залежить від метрики зв’язку |
| Відтворюваність | залежить від старту | детермінований (за фіксованих правил) |
| Складність | зазвичай або |
Плата за гнучкість — обчислювальна вартість: доводиться працювати з матрицею попарних відстаней розміру , тож для дуже великих ієрархічні методи застосовують до вибірки або підвибірки даних.
10.2 Дендрограма
Результат ієрархічної кластеризації подають дендрограмою.
Означення (дендрограма). Дендрограма — деревоподібна діаграма, що зображує послідовність злиттів (або поділів). Її листя — окремі об’єкти; кожна точка з’єднання (вузол) відповідає об’єднанню двох кластерів, а висота, на якій відбувається з’єднання, дорівнює відстані між цими кластерами в момент злиття.
Як читати дендрограму:
- Висота злиття — це «ціна» об’єднання: чим вище відбулося з’єднання, тим далі були кластери один від одного. Об’єкти, що зливаються низько, схожі; ті, що з’єднуються лише біля кореня, — різні.
- Різати дендрограму горизонтальною лінією на висоті — означає отримати конкретне розбиття: кожна вертикальна гілка, яку перетинає лінія, дає один кластер. Опустивши лінію нижче, дістанемо більше дрібніших кластерів; піднявши — менше й грубших. Так одна дендрограма містить усі розбиття одразу.
- Великий стрибок висоти між сусідніми злиттями — природна підказка, де різати: він означає, що наступне об’єднання з’єднує вже далекі групи, тож зупинитися варто саме перед ним.
Порядок листя вздовж осі не несе змісту (гілки можна повертати навколо вузла) — значення мають лише висоти з’єднань і структура вкладення.
10.3 Агломеративний алгоритм (знизу догори)
Агломеративний підхід починає з найдрібнішого розбиття й зливає кластери, доки не лишиться один. Це найпоширеніший різновид ієрархічної кластеризації.
Алгоритм (агломеративна кластеризація).
- Кожен елемент виносимо в окремий кластер (маємо кластерів).
- Будуємо матрицю відстаней між усіма парами кластерів.
- Знаходимо найближчу пару кластерів і зливаємо її в один.
- Якщо лишився один кластер — кінець; інакше повертаємось до кроку 2 (перерахувавши відстані до нового кластера).
Agglomerative(точки X, метрика зв'язку L):
clusters <- [{x} для кожного x у X] # крок 1: n листків
D <- матриця попарних відстаней між кластерами # крок 2
поки |clusters| > 1:
(A, B) <- пара кластерів з найменшим D[A,B] # крок 3
h <- D[A,B] # висота злиття -> дендрограма
C <- A ∪ B; прибрати A, B; додати C
оновити D: відстані від C до решти за метрикою L # крок 4
повернути дерево злиттів (дендрограму)
Уся змістовна відмінність між варіантами алгоритму захована в кроці 4 — як саме перераховувати відстань від новоутвореного кластера до решти. Цей вибір задає метрику зв’язку (§10.4). Почнемо з найпростішої — одиночного зв’язку (найближчого сусіда): відстань між кластерами дорівнює відстані між їхніми найближчими точками.
Приклад 10.1 (агломеративна кластеризація одиночним зв’язком)
Візьмемо наскрізні дані . Матриця попарних відстаней (крок 2):
| 0 | 1 | 6 | 10 | 13 | |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 6 | 10 | 13 |
| 1 | 1 | 0 | 5 | 9 | 12 |
| 6 | 6 | 5 | 0 | 4 | 7 |
| 10 | 10 | 9 | 4 | 0 | 3 |
| 13 | 13 | 12 | 7 | 3 | 0 |

Крок за кроком (щоразу шукаємо найменший позатабличний елемент і зливаємо):
- Злиття 1. Найменша відстань — . Зливаємо і у на висоті 1.
- Злиття 2. Тепер найменша — . Зливаємо у на висоті 3.
- Злиття 3. Відстані від : до — ; до — . Найменша в системі — саме , тож зливається з у на висоті 4.
- Злиття 4. Лишилися і ; відстань одиночного зв’язку — (пара –). Зливаємо на висоті 5 — це корінь.
Зведемо злиття в таблицю (це, по суті, і є дендрограма):
| Крок | Об’єднані кластери | Висота |
|---|---|---|
| 1 | 1 | |
| 2 | 3 | |
| 3 | 4 | |
| 4 | 5 |

Схематична дендрограма (висота зростає зліва направо):
0 ──┐
├─(1)──────────────┐
1 ──┘ │
├─(5) ← корінь
6 ────────┐ │
├─(4)────────┘
10 ──┐ │
├─(3)─┘
13 ──┘

Найбільший стрибок висоти — між злиттями на і фінальним на — невеликий, але структурно найприродніший розріз дає два кластери: і . Зверніть увагу: «місткова» точка потрапила до правої групи, хоча за координатою вона майже посередині. Чому — стане зрозуміло у §10.4.
Типова помилка (забути оновити відстані). Після злиття і рядки й стовпці , у матриці замінюють одним рядком/стовпцем нового кластера , перерахованим за обраною метрикою. Часта помилка — продовжувати користуватися старими відстанями до вже неіснуючих кластерів; тоді дерево виходить неправильним.
10.4 Метрики зв’язку (linkage)
Метрика зв’язку (linkage) визначає, що таке «відстань між кластерами», коли в кожному з них уже може бути кілька точок. Нехай , — кластери, , — їхні розміри, , — центроїди (середні точки).
Одиночний зв’язок (single linkage, метод найближчого сусіда).
Відстань між кластерами — відстань між двома найближчими їхніми точками.
Повний зв’язок (complete linkage, метод найдальшого сусіда).
Відстань — між двома найдальшими точками (діаметр об’єднаної пари).
Середній зв’язок (average linkage, метод групового середнього, UPGMA).
Відстань — середнє з усіх попарних відстаней між точками різних кластерів.

Центроїдний метод (centroid linkage, UPGMC).
Відстань між центроїдами кластерів. Найпростіший геометричний варіант; тяжіє до кластерів кулястої форми.
Метод Варда (Ward, мінімум приросту дисперсії). На кожному кроці зливають ту пару, що дає найменший приріст внутрішньокластерної суми квадратів . Для пари приріст обчислюють за формулою
Ward будує компактні кластери близького розміру й найкраще працює для приблизно кулястих груп.
Зауваження (єдина формула оновлення). Усі перелічені метрики — окремі випадки рекурентної формули Ленса — Вільямса, що виражає відстань від новоутвореного кластера до кластера через попередні відстані , , з коефіцієнтами, що залежать від методу. Тому крок 4 алгоритму можна реалізувати однаково для всіх метрик, лише підставляючи потрібні коефіцієнти, — не перебираючи щоразу всі пари точок.
Приклад 10.2 (одиночний проти повного зв’язку)
Застосуємо до тих самих даних повний зв’язок і порівняймо з одиночним із Прикладу 10.1. Перші два злиття однакові (для окремих точок і збігаються): на висоті , на висоті . Далі — відмінність.
Для точки (крок 3) обчислимо обидві метрики до кожної групи:
| Метрика | до | до | Куди приєднається |
|---|---|---|---|
| Одиночний () | праворуч, до | ||
| Повний () | ліворуч, до | ||
| Середній | однаково (нічия) | ||
| Центроїдний | $ | 6-0.5 | =5.5$ |
Ось де народжується різниця результатів. Одиночний зв’язок бачить, що в правій групі є точка (), ближча до , ніж будь-яка точка зліва, — і тягне праворуч. Повний зв’язок дивиться на найдальшу точку: праворуч це (відстань ), зліва — (відстань ), тож він відносить ліворуч. Середній і центроїдний методи бачать рівновіддаленою ( до обох), тобто — справжня «місткова» точка. Повні злиття:
| Крок | Одиночний зв’язок | Повний зв’язок | ||
|---|---|---|---|---|
| 3 | 4 | 6 | ||
| 4 | 5 | 13 |
Розріз на два кластери дає різні розбиття:

Типова помилка (single-linkage «ланцюжок»). Одиночний зв’язок схильний до ефекту ланцюжка (chaining): він радо приєднує точку до кластера через одного-єдиного близького сусіда, тож може «протягнути» ланцюжок точок і злити дві насправді окремі групи через випадковий місток. Повний зв’язок і Ward, навпаки, дають компактніші, збалансованіші кластери, але чутливіші до викидів. Універсально «правильної» метрики немає — вибір залежить від даних і мети.
10.5 Поділяючий алгоритм DIANA (згори донизу)
Поділяючий (divisive) підхід рухається у зворотному напрямі: усі точки спершу в одному кластері, який послідовно розщеплюють. Класичний алгоритм — DIANA (DIvisive ANAlysis).
Алгоритм (DIANA).
- Усі точки — в одному кластері.
- Обираємо кластер із найбільшим діаметром (максимальною попарною відстанню) серед тих, що містять принаймні елементи.
- Знаходимо в ньому найвіддаленішу точку — з найбільшою середньою відстанню до решти — і виносимо її в нову «відколоту» групу (splinter).
- Перерозподіляємо решту: точку переносимо у відколоту групу, якщо вона ближча (у середньому) до неї, ніж до залишку старого кластера, тобто якщо
Повторюємо, доки є точки з (щоразу переносячи ту, де найбільше).
- Якщо лишилися кластери з точок — повертаємось до кроку 2; інакше — кінець.
Приклад 10.3 (DIANA на наскрізних даних)
Розщепимо . Діаметр — , тож ділимо весь кластер. Середні відстані кожної точки до решти:
Максимум у точки () — вона стає зерном відколотої групи: , залишок .
Перерозподіл, раунд 1 ():
- — лишається;
- — лишається;
- — лишається;
- — переносимо у .
Тепер , . Раунд 2:
- ;
- ;
- .
Жодного — зупиняємось. Перший поділ:

Цікаво, що DIANA віднесла місткову точку ліворуч — так само, як повний зв’язок (§10.4), а не як одиночний. Це не випадковість: DIANA спирається на середні відстані до цілих груп, тому поводиться ближче до «компактних» метрик. Гранична точка () за домовленістю лишається у старій групі (переносять лише при строгому ).
Зауваження (вартість поділу). Наївний перебір усіх способів розділити кластер на дві частини коштує експоненційно ( варіантів для точок). Саме тому DIANA не перебирає всі поділи, а вирощує відколоту групу жадібно (кроки 3–4). Через це поділяючі методи рідше застосовують, ніж агломеративні, хоча згори вони «бачать» глобальну структуру даних раніше.
10.6 Оцінка якості кластеризації
Кластеризація — задача без учителя: правильних міток немає, тож якість оцінюють внутрішніми мірами, що винагороджують щільні (компактні) і добре розділені кластери. Розглянемо дві класичні.
Індекс Данна
Означення (індекс Данна). Для розбиття на кластери
де чисельник — найменша відстань між точками різних кластерів, а знаменник — найбільший діаметр (максимальна попарна відстань усередині кластера). Що більший індекс, то краще: кластери далі один від одного й водночас щільніші.
Приклад 10.4. Оцінимо два розбиття наскрізних даних (§10.4) за Данном.
Одиночний зв’язок, : найменша міжкластерна відстань — ; найбільший діаметр — усередині це . Тож .
Повний зв’язок, : найменша міжкластерна — ; найбільший діаметр — . Тож .
За індексом Данна одиночне розбиття тут дещо краще ().
Силуетний коефіцієнт
Силует оцінює кожну точку окремо, а тоді усереднює.
Означення (силует точки). Для точки нехай — середня відстань до інших точок свого кластера, а — найменша (серед чужих кластерів) середня відстань до точок найближчого сусіднього кластера. Силует точки —
Силует розбиття — середнє по всіх точках.
Тлумачення: — точка глибоко у «своєму» кластері; — на межі двох кластерів; — імовірно, віднесена не туди.

Приклад 10.5. Обчислимо силует для одиночного розбиття . Для точки : ; ; отже . Для точки : ; ; отже . Для місткової точки : , , тож — вона рівно на межі. Усереднивши всі п’ять значень, дістаємо силует розбиття .
Для повного розбиття аналогічний підрахунок дає . Обидві міри — і Данн, і силует — тут віддають перевагу одиночному розбиттю; але точка в обох випадках лишається «граничною» (), що чесно відображає її проміжне положення.
Типова помилка (порівнювати різні ). Силует і Данн залежать від числа кластерів. Не можна робити висновок «метод A кращий за метод B», порівнюючи їхні коефіцієнти на різному : спершу зафіксуйте , а вже тоді порівнюйте. Часто силует навпаки використовують для вибору — беруть те, що дає найбільше середнє .
Застосування в аналітиці даних
- Сегментація ринку. Групування клієнтів за поведінкою чи вподобаннями; дендрограма показує, як дрібні сегменти зливаються у великі, і дає змогу обрати зручний рівень деталізації сегментації.
- Оцінка роботи персоналу та аналіз уподобань споживачів. Виявлення груп співробітників чи покупців зі схожими профілями без наперед заданого числа груп.
- Розпізнавання образів і аналіз просторових даних. Одиночний зв’язок вловлює витягнуті, нерегулярні форми (наприклад, географічні скупчення), тоді як Ward і повний зв’язок краще виділяють компактні згустки.
- Класифікація документів. Ієрархія тем: близькі документи зливаються рано, тематичні розділи — біля кореня; зручно для навігації каталогом.
- Біоінформатика. Дендрограми — стандарт для кластеризації генів і побудови філогенетичних дерев (метод UPGMA прийшов саме звідти).
- Вибір числа кластерів. Навіть коли остаточно застосовують -середніх, дендрограму й силует часто використовують попередньо, щоб оцінити розумне .
Підсумок
- Ієрархічна кластеризація будує послідовність вкладених розбиттів у вигляді бінарного дерева: листя — точки, корінь — усі дані. Число кластерів обирають після обчислень, розрізавши дендрограму.
- Дендрограма: висота з’єднання = відстань між кластерами під час злиття; розріз на висоті дає конкретне розбиття; великий стрибок висоти підказує, де різати.
- Агломеративний алгоритм (знизу догори): кожна точка — кластер; будуємо матрицю відстаней; зливаємо найближчу пару; повторюємо, доки не лишиться один кластер.
- Метрики зв’язку визначають «відстань між кластерами»: одиночний (), повний (), середній (UPGMA), центроїдний (між центроїдами), Ward (мінімум приросту дисперсії ). Одиночний схильний до ланцюжка, повний і Ward дають компактні кластери.
- На даних одиночний зв’язок дав , а повний — : місткова точка приєдналася по-різному.
- DIANA (згори донизу): відколюємо найвіддаленішу точку з кластера найбільшого діаметра й нарощуємо відколоту групу, доки . На наших даних DIANA дала — як повний зв’язок.
- Якість: індекс Данна (більше — краще); силует (ближче до — краще). Для наших даних одиночне розбиття мало Данн і силует .
Вправи
Для розігріву
- Поясніть, чим вкладене розбиття відрізняється від довільного набору кластерів. Наведіть приклад двох розбиттів, які не утворюють вкладеної пари.
- Що означає висота з’єднання в дендрограмі? Як за дендрограмою отримати розбиття на кластери?
- Для двох кластерів і обчисліть відстань одиночного, повного та середнього зв’язку (одновимірні точки, ).
Стандартні
- Для точок виконайте агломеративну кластеризацію одиночним зв’язком: побудуйте матрицю відстаней, випишіть послідовність злиттів із висотами та накресліть схематичну дендрограму.
- Ті самі точки згрупуйте повним зв’язком. Порівняйте розбиття на кластери з результатом вправи 4; поясніть відмінність через поведінку проти .
- Для розбиття обчисліть індекс Данна та середній силует. Чи узгоджуються обидві міри в оцінці якості?
Підвищеної складності
- Виконайте DIANA для точок : знайдіть діаметр, зерно відколотої групи (за середніми відстанями), перерозподіліть точки й запишіть перший поділ. Порівняйте з результатом повного зв’язку.
- Доведіть, що для одиночного зв’язку висоти злиттів утворюють неспадну послідовність (дендрограма без «інверсій»). Наведіть приклад, коли центроїдний метод дає інверсію (злиття на меншій висоті, ніж попереднє).
- Покажіть, що для двох кластерів формула Варда дорівнює приросту загальної суми квадратів при злитті і . (Підказка: розкрийте об’єднаного кластера через центроїд об’єднання .)