Головна Машинне навчання та Нейронні мережі Кластеризація K-Means — Машинне навчання

🎯 Кластеризація K-Means — Машинне навчання

Покrokово виконуйте k-means кластеризацію: спостерігайте за збіжністю центроїдів, оновленням областей Вороного та зменшенням інерції (WCSS).

Машинне навчання та Нейронні мережі2DЛегкий60 FPS
k-means-clustering ↗ Відкрити окремо
DRAG · SCROLL · CLICK — керуйте прямо у вікні симуляції.

Схожі симуляції

Про цю симуляцію

Автор: Команда MySimulator · Редакційна перевірка: Редакція MySimulator

Оновлено: 16 липня 2026 р.

Ця симуляція візуалізує k-means — класичний алгоритм навчання без учителя, який розбиває точки на k груп. Він чергує два кроки: призначає кожну точку найближчому центроїду (використовуючи квадрат евклідової відстані), а потім переміщує кожен центроїд у середню позицію призначених йому точок. Це повторюється, доки призначення не перестануть змінюватися. Затінені області Вороного показують територію кожного центроїда, а графік інерції відстежує суму квадратів відстаней усередині кластера, WCSS = Σ|xᵢ − μ|².

🔬 Що це показує

Симуляція демонструє повний цикл k-means на різних наборах даних: гаусові скупчення (blobs), концентричні кола, два півмісяці, рівномірний шум або власний набір, який ви створюєте, клацаючи по полотну. Це дозволяє побачити, коли алгоритм працює добре, а коли — ні.

🎮 Як користуватися

Повзунок k задає кількість кластерів (1–8), а меню наборів даних обирає форму точок. Кнопка «Крок» виконує одну ітерацію, «Авто» запускає алгоритм безперервно, а «Скинути» повторно ініціалізує центроїди.

💡 А чи знали ви?

Ініціалізація використовує k-means++, який розподіляє початкові центроїди по простору для швидшої та надійнішої збіжності. K-means лежить в основі сегментації клієнтів, квантування кольорів зображень і групування документів.

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

Що таке кластеризація методом k-середніх?

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

Як алгоритм працює покроково?

Спочатку розміщуються k центроїдів, потім кожна точка призначається найближчому центроїду, а насамкінець кожен центроїд переміщується в середню позицію призначених йому точок. Ці кроки призначення й оновлення повторюються, доки жодна точка не змінює свій кластер. У цій симуляції кожне натискання кнопки «Крок» виконує одну повну ітерацію цього циклу.

Що робить повзунок k?

Повзунок k задає, скільки кластерів шукає алгоритм — від 1 до 8. Його зміна перезавантажує набір даних і повторно ініціалізує центроїди. Правильний вибір k важливий: занадто мале значення об'єднує різні групи, а занадто велике розбиває одну групу на фрагменти.

Що таке інерція, або WCSS?

Інерція, яку також називають сумою квадратів відстаней усередині кластера (WCSS, within-cluster sum of squares), — це сума квадратів відстаней від кожної точки до центроїда її кластера. Формула: WCSS = Σ|xᵢ − μ|². K-means намагається зробити це значення якомога меншим, і графік показує, як воно зменшується в міру збіжності алгоритму.

Що таке затінені області Вороного?

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

Чому центроїди перестають рухатися?

Алгоритм досягає збіжності, коли цілий крок призначення не спричиняє жодної зміни кластера для жодної точки. У цей момент центроїди вже перебувають у середньому положенні своїх точок, тож крок оновлення більше не може їх зрушити. Індикатор «Збіжність» перемикається на «Так», і режим «Авто» автоматично зупиняється.

Що таке ініціалізація k-means++?

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

Чи може k-means опрацювати набори даних «кола» та «півмісяці»?

Не дуже добре. K-means передбачає приблизно круглі кластери однакового розміру, оскільки спирається на відстань до єдиної середньої точки. Концентричні кола та переплетені півмісяці не розділяються таким способом, тому k-means розрізає їх на клини замість того, щоб відтворити їхню справжню форму. Ці набори даних додано саме для того, щоб показати це важливе обмеження.

Чи завжди k-means знаходить найкращу кластеризацію?

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

Де k-means використовують у реальному світі?

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