Ця симуляція наочно демонструє алгоритм k-середніх — класичний метод навчання без учителя, який розбиває точки на k груп. Алгоритм чергує два кроки: спершу кожну точку відносять до найближчого центроїда (за квадратом евклідової відстані), а потім кожен центроїд переміщують до середнього положення приписаних до нього точок. Цикл повторюється доти, доки призначення не перестануть змінюватися. Закрашені регіони Вороного показують зону відповідальності кожного центроїда, а графік інерції відстежує суму квадратів відстаней всередині кластерів: WCSS = Σ|xᵢ − μ|².
Повзунок k задає кількість кластерів (від 1 до 8), а меню наборів даних пропонує гаусові групи, концентричні кола, два місяці, рівномірний шум або власний набір, який ви формуєте кліком по полотну. Кнопка «Крок» виконує одну ітерацію, «Авто» запускає безперервне виконання, «Скинути» ініціалізує центроїди наново. Для ініціалізації використовується k-means++, що розносить стартові центроїди для швидшої та надійнішої збіжності. K-means застосовується у сегментації клієнтів, квантизації кольорів зображень і групуванні документів.
Що таке кластеризація k-середніх?
K-середніх — це алгоритм навчання без учителя, що розбиває дані на k кластерів шляхом мінімізації загальної квадратичної відстані між точками та центром їхнього кластера — центроїдом. Він є «без учителя», бо не потребує міток: структура виявляється виключно на основі розташування точок. Це один із найпоширеніших методів кластеризації в машинному навчанні.
Як алгоритм працює покроково?
Спочатку розміщуються k центроїдів, потім кожна точка відноситься до найближчого центроїда, і нарешті кожен центроїд переміщується до середнього положення приписаних до нього точок. Ці кроки «призначення — оновлення» повторюються, доки жодна точка не змінить кластер. У цій симуляції кожне натискання «Крок» виконує одну повну ітерацію цього циклу.
Для чого слугує повзунок k?
Повзунок k визначає, скільки кластерів шукає алгоритм — від 1 до 8. Зміна значення перезавантажує набір даних і повторно ініціалізує центроїди. Вибір k має велике значення: занадто мало кластерів об'єднує різні групи, занадто багато — розбиває одну групу на фрагменти.
Інерція, або сума квадратів відстаней всередині кластерів (WCSS), — це загальна сума квадратів відстаней від кожної точки до центроїда її кластера. Формула: WCSS = Σ|xᵢ − μ|². K-середніх прагне зменшити це значення якомога більше, і графік показує, як воно спадає в міру збіжності алгоритму.
Кожен закрашений регіон позначає ділянку полотна, яка є ближчою до одного конкретного центроїда, ніж до будь-якого іншого. Це комірки Вороного, а їхні межі — саме ті місця, де точка переходить з одного кластера до іншого. Коли центроїди рухаються під час ітерацій, регіони змінюють форму слідом за ними.
Алгоритм досягає збіжності, коли весь крок призначення не змінює жодного кластера жодної точки. У цей момент центроїди вже знаходяться в середині своїх точок, тому крок оновлення не може їх зрушити. Індикатор «Збіжність» перемикається на «Так», і режим «Авто» зупиняється автоматично.
K-means++ — розумніший спосіб вибору початкових центроїдів. Після вибору першого випадковим чином кожен наступний центроїд вибирається з імовірністю, пропорційною квадрату його відстані до найближчого вже обраного центроїда, тобто вони розносяться по простору. Ця симуляція використовує k-means++, що зменшує кількість поганих локальних мінімумів і зазвичай забезпечує збіжність за меншу кількість ітерацій.
Не дуже. K-середніх припускає приблизно круглі, однакові за розміром кластери, бо спирається на відстань до одного середнього значення. Концентричні кола та взаємоперехрещені місяці не можна розділити таким чином, тому k-середніх розрізає їх на клини, а не відновлює справжні форми. Ці набори включено саме для наочної демонстрації цього важливого обмеження.
Ні. K-середніх гарантовано збігається, але лише до локального мінімуму інерції, а не обов'язково до глобального оптимуму. Результат залежить від початкових центроїдів, тому різні скидання можуть давати різні результати. K-means++ допомагає, але не усуває цю чутливість повністю.
K-середніх використовується для сегментації клієнтів і ринків, стиснення зображень шляхом зведення їх до невеликої палітри репрезентативних кольорів, групування документів або новинних статей за темами, а також для виявлення аномалій, що знаходяться далеко від будь-якого кластера. Швидкість і простота роблять його першим вибором для розвідувального аналізу даних.