- •Методичні вказівки
- •Протокол № ___________ від «___»___________2012 р. Лабораторна робота № 5 Алгоритми неієрархічної кластеризації даних.
- •Теоретична частина
- •Застосування кластерного аналізу у різних сферах людської діяльності
- •Набір даних а
- •Застосування кластерного аналізу
- •2. Приклади реалізації неієрархічної кластеризації даних.
- •Вимоги до звіту
- •Оформлення звіту
- •Список рекомендованої літератури
- •3. Порядок виконання роботи
- •Варіанти індивідуальних завдань
- •Навчальне видання
- •Доц. Ковівчак Ярослав Васильович
Застосування кластерного аналізу
Незалежно від конкретної сфери, застосування кластерного аналізу передбачає наступні етапи:
Відбір вибірки для кластеризації.
Визначення множини характеристик, по яких будуть оцінюватися об'єкти у вибірці.
Обчислення значень тієї чи іншої міри схожості між об'єктами.
Застосування одного з методів кластерного аналізу для створення груп схожих об'єктів.
Перевірка достовірності результатів кластеризації.
Метод K-means (К-середніх)
Найбільш поширений серед неієрархічних методів алгоритм k-середніх, також званий швидким кластерним аналізом. На відміну від ієрархічних методів, які не вимагають попередніх припущень щодо числа кластерів, для можливості використання цього методу необхідно мати гіпотезу про найбільш ймовірний кількості кластерів.
Метод k-середніх (k-means) – це метод кластеризації, мета якого – розділити n спостережень на k кластерів, так щоб кожне спостереження належало до кластера з найближчим до нього середнім значенням. Метод базується на мінімізації суми квадратів відстаней між кожним спостереженням та центром його кластера.
Загальна ідея алгоритму: задане фіксоване число k кластерів спостереження зіставляються кластерам так, що середні в кластері (для всіх змінних) максимально можливо відрізняються один від одного.
Опис алгоритму
Маємо масив спостережень (об’єктів), кожен з яких має певні значення по ряду ознак. Відповідно до цих значень об’єкт розташовується у багатовимірному просторі.
Дослідник визначає кількість кластерів, що необхідно утворити.
Випадковим чином обирається k спостережень, які на цьому кроці вважаються центрами кластерів.
Кожне спостереження «приписується» до одного з n кластерів – того, відстань до якого найкоротша.
Розраховується новий центр кожного кластера як елемент, ознаки якого розраховуються як середнє арифметичне ознак об’єктів, що входять у цей кластер.
Відбувається така кількість ітерацій (повторюються кроки 3-4), поки кластерні центри стануть стійкими (тобто при кожній ітерації в кожному кластері опинятимуться одні й ті самі об’єкти), дисперсія всередині кластера буде мінімізована, а між кластерами – максимізована.
Перевірка якості кластеризації
Після отриманих результатів кластерного аналізу методом k-середніх слід перевірити правильність кластеризації (тобто оцінити, наскільки кластери відрізняються один від одного). Для цього розраховуються середні значення для кожного кластера.
Переваги алгоритму к-середніх:
простий у користуванні;
швидкий у користуванні;
зрозумілість.
Недоліки алгоритму к-середніх:
алгоритм занадто чутливий до викидів, які можуть спотворювати середнє;
алгоритм може повільно працювати на великих базах даних. Можливим вирішенням даної проблеми є використання вибірки даних.
2. Приклади реалізації неієрархічної кластеризації даних.
Приклад 1:
Нижче на рисунку 2.1. наведено приклад роботи алгоритму к-середніх для k = 2;(k-кількість кластерів)
Рис. 2.1. Приклад роботи алгоритму к-середніх для k = 2
Приклад №2:
Задано довільні точки, координати яких занесені в таблицю 2.1:
Таблиця 2.1.
Номер |
X |
Y |
1 |
10 |
15 |
2 |
5 |
8 |
3 |
6 |
2 |
4 |
1 |
9 |
5 |
12 |
8 |
6 |
19 |
1 |
7 |
15 |
5 |
8 |
16 |
2 |
9 |
7 |
7 |
10 |
14 |
12 |
11 |
17 |
3 |
12 |
2 |
1 |
Наші точки графічно відображені на рис.2.2.
Рис. 2.2. Графічне відображення точок
Нехай число k=2, тоді вибираємо довільні точки, які будуть центрами наших кластерів. Нехай це будуть точки під номерами 6 і 9. Точки будуть належати до того кластера, до центру якого вони ближче розташовані.(рис. 2.3.)
Відстань між центром і точкою обчислюємо за формулою:
(2.1)
Рис. 2.3. Центри кластерів
В нас утворилося 2 кластери:
Таблиця 2.2
Кластер 1 |
||
Номер |
X |
Y |
1 |
10 |
15 |
2 |
5 |
8 |
3 |
6 |
2 |
4 |
1 |
9 |
5 |
12 |
8 |
9 |
7 |
7 |
10 |
14 |
12 |
12 |
2 |
1 |
Таблиця 2.3
Кластер 2 |
||
Номер |
X |
Y |
6 |
19 |
1 |
7 |
15 |
5 |
8 |
16 |
2 |
11 |
17 |
3 |
Тепер перераховуємо кластерні центри.
Щоб
вирахувати координати
нового
центру кластера (
)
використовуємо формули:
(2.2)
(2.3)
Координати сформованих центрів для кластера 1 (7,125; 7,75), для кластера 2 (16,75; 2,5).
Перевіряємо чи не змінилось приналежність точок до кластерів за допомогою формули 2.1.(рис.2.4)
Рис. 2.4. Перевірка на зміну точок
В нашому випадку кластери не змінились, а отже алгоритм k-середніх рахується завершеним. Сформувалось 2 кластери:
Кластер 1 |
||
Номер |
X |
Y |
1 |
10 |
15 |
2 |
5 |
8 |
3 |
6 |
2 |
4 |
1 |
9 |
5 |
12 |
8 |
9 |
7 |
7 |
10 |
14 |
12 |
12 |
2 |
1 |
Таблиця 2.4
Таблиця 2.5
Кластер 2 |
||
Номер |
X |
Y |
6 |
19 |
1 |
7 |
15 |
5 |
8 |
16 |
2 |
11 |
17 |
3 |
