🎯 K-Means Кластеризація ШІ / Машинне навчання 🇬🇧 English
Налаштування
Кількість кластерів K
3
Показувати зони Вороного
Ініт. K-Means++
Траєкторія центроїдів
Дії
Статус
Точки0
Ітерація0
WCSS
Збіжність
Метод ліктя
Легенда
K-Means: Присвоїти кожну точку найближчому центроїду, потім перемістити центроїди до середини кластера. Повторювати до збіжності.

K-Means++: Розумна ініціалізація — кожен наступний центроїд обирається з ймовірністю ∝ d² від найближчого існуючого.

Метод ліктя: Графік WCSS vs K; оптимальне K — у точці «ліктя».

Про кластеризацію K-Means

Ця симуляція візуалізує K-Means — алгоритм навчання без учителя, який розбиває набір 2D-точок на K груп. Він чергує два кроки, доки центроїди не перестануть рухатися: призначення, коли кожна точка приєднується до найближчого центроїда за квадратом евклідової відстані, та оновлення, коли кожен центроїд переміщується в середню позицію призначених йому точок. Затінений фон Вороного показує область, яку наразі займає кожен центроїд, а збіжність оголошується, коли рух центроїдів падає нижче крихітного порогу.

Повзунок K задає кількість кластерів (від 2 до 8); «Крок» виконує одну ітерацію, «Запуск» автоматично повторює цикл, а «Скидання» очищає призначення. Перемикачі керують накладанням Вороного, слідами центроїдів та ініціалізацією K-Means++. Генератори створюють згустки, півмісяці та кільцеві дані, а панель «Лікоть» будує внутрішньокластерну суму квадратів (WCSS) залежно від K. K-Means лежить в основі сегментації клієнтів, квантування кольорів зображень та групування документів.

Поширені запитання

Що таке кластеризація K-Means?

K-Means — це алгоритм навчання без учителя, який ділить непомічені дані на K груп так, щоб точки всередині кластера були якомога ближчими одна до одної. Він робить це, знаходячи K центроїдів (центрів кластерів) і призначаючи кожну точку до найближчого з них. Тут ви можете додавати точки, обирати K та спостерігати, як центроїди займають свої місця.

Як насправді працює цей алгоритм?

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

Що роблять елементи керування на цій сторінці?

Повзунок K задає кількість кластерів (від 2 до 8). «Крок» виконує одну ітерацію; «Запуск» анімує ітерації кожні 300 мс; «Скидання» очищає призначення. Перемикачі вмикають або вимикають області Вороного, пунктирні сліди центроїдів та ініціалізацію K-Means++. Кнопки даних генерують набори точок у вигляді згустків, півмісяців чи кілець, а також ви можете клацати по полотну, щоб додавати точки вручну.

Що таке WCSS і що показує панель «Статус»?

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

Що таке метод «Лікоть», показаний на бічній панелі?

Метод «Лікоть» допомагає обрати розумне K. Він запускає K-Means для K від 2 до 8 і відображає отриманий WCSS у вигляді стовпчиків. WCSS завжди падає зі зростанням K, але темп покращення різко сповільнюється в точці, яка виглядає як лікоть на кривій. Цей вигин зазвичай позначає вдалий компроміс між якістю припасування та простотою.

Чим ініціалізація K-Means++ відрізняється від випадкової?

Випадкова ініціалізація просто обирає K наявних точок як початкові центроїди, що може розмістити кілька з них поруч і призвести до поганих результатів. K-Means++ розставляє їх ширше: після випадкового першого центроїда кожен наступний обирається з імовірністю, пропорційною квадрату його відстані від найближчого наявного центроїда, що дає швидшу й надійнішу збіжність.

Що таке області Вороного та пунктирні лінії?

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

Чи добре K-Means впорається з формами півмісяців і кільця?

Часто ні, і саме в цьому полягає сенс їх включення. K-Means припускає приблизно круглі кластери схожого розміру, бо спирається на відстань до єдиного центру. Дані у вигляді півмісяців та концентричних кілець є неопуклими, тож K-Means схильний незграбно їх розрізати. Вони ілюструють, де методи на основі щільності чи графів впоралися б краще.

Чому ті самі дані можуть давати різні результати при кожному запуску?

K-Means чутливий до своїх початкових центроїдів, а ініціалізація тут рандомізована. Різні старти можуть зійтися до різних локальних оптимумів, тож WCSS і кінцеві групування можуть відрізнятися між запусками. K-Means++ зменшує цю мінливість, і на практиці аналітики запускають алгоритм кілька разів і залишають результат з найнижчим WCSS.

Де K-Means застосовується в реальному світі?

Це один з найпоширеніших методів кластеризації. Застосування включають сегментацію клієнтів і ринку, стиснення зображень шляхом зведення їх до K репрезентативних кольорів, групування документів чи результатів пошуку за темою, виявлення аномалій та попередню обробку даних перед іншими моделями машинного навчання. Його швидкість і простота роблять його поширеним першим вибором.