Raw

3. Аудиторні задачі з розв’язаннями

Ці задачі розбирають в аудиторії «руками». Вони показують ту саму агломеративну кластеризацію, яку потім автоматизує домашня програма (4task.md). Теорія й формули — у методичних вказівках.

Спільні дані задач 1–3. П’ять одновимірних об’єктів (наприклад, значення однієї ознаки в п’яти клієнтів):

X={0, 1, 7, 12, 15}.X = \{\, 0,\ 1,\ 7,\ 12,\ 15 \,\}.

Відстань — модуль різниці d(x,y)=xyd(x,y) = |x - y|. Матриця попарних відстаней:

0 1 7 12 15
0 0 1 7 12 15
1 1 0 6 11 14
7 7 6 0 5 8
12 12 11 5 0 3
15 15 14 8 3 0

Задача 1. Агломеративна кластеризація одиночним зв’язком

Дано точки X={0,1,7,12,15}X = \{0, 1, 7, 12, 15\}. Виконати агломеративну кластеризацію одиночним зв’язком (D=minD = \min): виписати послідовність злиттів із висотами, побудувати дендрограму й указати розбиття на два кластери.

Розв’язання. На кожному кроці шукаємо найменшу відстань між кластерами й зливаємо цю пару; відстань одиночного зв’язку — мінімум попарних відстаней.

  • Злиття 1. Найменша відстань у матриці — d(0,1)=1d(0,1)=1. Зливаємо {0}\{0\} і {1}\{1\} у {0,1}\{0,1\} на висоті 1.
  • Злиття 2. Відстані від {0,1}\{0,1\}: до {7}=min(7,6)=6\{7\}=\min(7,6)=6; до {12}=11\{12\}=11; до {15}=14\{15\}=14. Серед усіх відстаней найменша — d(12,15)=3d(12,15)=3. Зливаємо {12,15}\{12,15\} на висоті 3.
  • Злиття 3. Відстані від {7}\{7\}: до {0,1}=min(7,6)=6\{0,1\}=\min(7,6)=6; до {12,15}=min(5,8)=5\{12,15\}=\min(5,8)=5. Найменша в системі — 55, тож {7}\{7\} зливається з {12,15}\{12,15\} у {7,12,15}\{7,12,15\} на висоті 5.
  • Злиття 4. Лишилися {0,1}\{0,1\} і {7,12,15}\{7,12,15\}; одиночний зв’язок — min(7,6,12,11,15,14)=6\min(7,6,12,11,15,14)=6 (пара 1177). Зливаємо на висоті 6 — корінь.
Крок Об’єднані кластери Висота hh
1 {0}+{1}\{0\} + \{1\} 1
2 {12}+{15}\{12\} + \{15\} 3
3 {7}+{12,15}\{7\} + \{12,15\} 5
4 {0,1}+{7,12,15}\{0,1\} + \{7,12,15\} 6

Дендрограма (висота зростає зліва направо):

0  ──┐
     ├─(1)──────────────┐
1  ──┘                  │
                        ├─(6)   ← корінь
7  ────────┐            │
           ├─(5)────────┘
12 ──┐     │
     ├─(3)─┘
15 ──┘

Дендрограма одиночного зв'язку для точок 0, 1, 7, 12, 15 з висотами злиттів 1, 3, 5, 6 та розрізом на два кластери

Відповідь. Порядок злиттів — з висотами 1,3,5,61, 3, 5, 6. Розріз на два кластери (перед фінальним злиттям) дає

{0,1}  {7,12,15}.\boxed{\{0, 1\} \ \mid\ \{7, 12, 15\}}.

Точка 77 приєдналася праворуч: її найближчий сусід — 1212 (відстань 55) — ближчий, ніж найближча точка зліва (11, відстань 66).


Задача 2. Те саме повним зв’язком (контраст)

Дано ті самі точки. Виконати кластеризацію повним зв’язком (D=maxD = \max) і порівняти з Задачею 1.

Розв’язання. Тепер відстань між кластерами — максимум попарних відстаней. Перші два злиття збігаються з Задачею 1 (для окремих точок min=max\min=\max).

  • Злиття 1. d(0,1)=1d(0,1)=1 \Rightarrow {0,1}\{0,1\}, висота 1.
  • Злиття 2. d(12,15)=3d(12,15)=3 — найменша \Rightarrow {12,15}\{12,15\}, висота 3.
  • Злиття 3. Відстані від {7}\{7\} (повний зв’язок): до {0,1}=max(7,6)=7\{0,1\}=\max(7,6)=7; до {12,15}=max(5,8)=8\{12,15\}=\max(5,8)=8. Найменша в системі — 77 (а не 88!), тож {7}\{7\} тепер зливається з {0,1}\{0,1\} у {0,1,7}\{0,1,7\} на висоті 7.
  • Злиття 4. Лишилися {0,1,7}\{0,1,7\} і {12,15}\{12,15\}; повний зв’язок — max(12,11,5,15,14,8)=15\max(12,11,5,15,14,8)=15 (пара 001515). Зливаємо на висоті 15.
Крок Об’єднані кластери Висота hh
1 {0}+{1}\{0\} + \{1\} 1
2 {12}+{15}\{12\} + \{15\} 3
3 {7}+{0,1}\{7\} + \{0,1\} 7
4 {12,15}+{0,1,7}\{12,15\} + \{0,1,7\} 15
0  ──┐
     ├─(1)──┐
1  ──┘      │
            ├─(7)────────┐
7  ─────────┘            │
                         ├─(15)  ← корінь
12 ──┐                   │
     ├─(3)───────────────┘
15 ──┘

Дендрограма повного зв'язку для точок 0, 1, 7, 12, 15 з висотами злиттів 1, 3, 7, 15 та розрізом на два кластери

Відповідь. Розріз на два кластери дає

{0,1,7}  {12,15},\boxed{\{0, 1, 7\} \ \mid\ \{12, 15\}},

що відрізняється від результату Задачі 1. Причина — місткова точка 77: за найближчим сусідом (одиночний зв’язок) вона тяжіє до правої групи (d=5d=5 до 1212), а за найдальшим (повний зв’язок) — до лівої (d=7d=7 до 00 проти 88 до 1515). Вибір метрики зв’язку змінює кластеризацію — це головний висновок задачі.


Задача 3 (опційно). Силует і індекс Данна простого розбиття

Дано розбиття з Задачі 1: {0,1}{7,12,15}\{0,1\}\mid\{7,12,15\}. Обчислити середній силует та індекс Данна; порівняти з розбиттям Задачі 2.

Розв’язання. Силует точки s(i)=b(i)a(i)max(a(i),b(i))s(i)=\dfrac{b(i)-a(i)}{\max(a(i),b(i))}, де a(i)a(i) — середня відстань до «своїх», b(i)b(i) — до найближчого чужого кластера.

Точка a(i)a(i) (свій) b(i)b(i) (чужий) s(i)s(i)
0 d(0,1)=1d(0,1)=1 7+12+153=11.33\tfrac{7+12+15}{3}=11.33 11.33111.330.912\tfrac{11.33-1}{11.33}\approx 0.912
1 d(1,0)=1d(1,0)=1 6+11+143=10.33\tfrac{6+11+14}{3}=10.33 0.903\approx 0.903
7 5+82=6.5\tfrac{5+8}{2}=6.5 7+62=6.5\tfrac{7+6}{2}=6.5 00
12 5+32=4\tfrac{5+3}{2}=4 12+112=11.5\tfrac{12+11}{2}=11.5 11.5411.50.652\tfrac{11.5-4}{11.5}\approx 0.652
15 8+32=5.5\tfrac{8+3}{2}=5.5 15+142=14.5\tfrac{15+14}{2}=14.5 0.621\approx 0.621

Середній силует: sˉ=0.912+0.903+0+0.652+0.62150.618\bar{s} = \tfrac{0.912+0.903+0+0.652+0.621}{5} \approx \mathbf{0.618}.

Індекс Данна. Найменша міжкластерна відстань — d(1,7)=6d(1,7)=6; найбільший внутрішньокластерний діаметр — у {7,12,15}\{7,12,15\} це d(7,15)=8d(7,15)=8. Тож Dunn=6/8=0.75\mathrm{Dunn} = 6/8 = \mathbf{0.75}.

Порівняння з Задачею 2. Для розбиття {0,1,7}{12,15}\{0,1,7\}\mid\{12,15\} аналогічний підрахунок дає sˉ0.572\bar{s}\approx 0.572 і Dunn=5/70.714\mathrm{Dunn}=5/7\approx 0.714 (міжкластерна d(7,12)=5d(7,12)=5, діаметр d(0,7)=7d(0,7)=7). Обидві міри трохи вищі для розбиття Задачі 1, тобто одиночне розбиття тут якісніше. Місткова точка 77 в обох випадках має s(7)=0s(7)=0 — вона чесно «сидить» на межі й перетягує якість униз.

Зв’язок із домашнім завданням. Саме ці кроки — побудувати матрицю відстаней, злити найближчу пару, оновити відстані, повторити, а тоді оцінити розбиття силуетом чи Данном — виконуватиме ваша програма для довільного файлу CSV (4task.md). Задачі 1–2 — зручний тест: подайте ці п’ять чисел на вхід і переконайтесь, що одиночний зв’язок повертає {0,1}{7,12,15}\{0,1\}\mid\{7,12,15\}, а повний — {0,1,7}{12,15}\{0,1,7\}\mid\{12,15\}.

Laboratory/Laboratory10/3classroom.md · 9.3 KB · updated 2026-08-05 09:44