Кластеризація методом к–середніх

Матеріал з testwiki
Версія від 07:13, 12 вересня 2024, створена imported>Jphwra
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Шаблон:Машинне навчання Кластериза́ція ме́тодом k-сере́дніх (Шаблон:Lang-en) — популярний метод кластеризації, — впорядкування множини об'єктів у порівняно однорідні групи. Винайдений в 1950-х роках математиком Гуґо Штайнгаузом[1] і майже одночасно Стюартом Ллойдом[2]. Особливу популярність отримав після виходу роботи МакКвіна (1967)[3].

Мета методу — розділити Шаблон:Mvar спостережень на Шаблон:Mvar кластерів, так щоб кожне спостереження належало до кластера з найближчим до нього середнім значенням. Метод базується на мінімізації суми квадратів відстаней між кожним спостереженням та центром його кластера, тобто функції

i=1Nd(xi,mj(xi))2 ,

де d — метрика, xi — і-ий об'єкт даних, а mj(xi) — центр кластера, якому на j-ій ітерації приписаний елемент xi.

Історія

Термін «k-середні» уперше вжив Джеймс МакКвін (Шаблон:Lang-en) у 1967 році[3], хоча ідею методу вперше озвучив Гуґо Штайнгауз (Шаблон:Lang-en) у 1957 році[1]. Стандартний алгоритм вперше запропонував Стюарт Лойд (Шаблон:Lang-en) у 1957 р[2].

Алгоритм

Опис алгоритму

Маємо масив спостережень (об'єктів), кожен з яких має певні значення за рядом ознак. Відповідно до цих значень об'єкт розташовується у багатовимірному просторі.

  1. Дослідник визначає кількість кластерів k, що необхідно утворити
  2. Випадковим чином обирається k спостережень, які на цьому кроці вважаються центрами кластерів
  3. Кожне спостереження «приписується» до одного з k кластерів — того, відстань до якого найкоротша
  4. Розраховується новий центр кожного кластера як елемент, ознаки якого розраховуються як середнє арифметичне ознак об'єктів, що входять у цей кластер
  5. Відбувається така кількість ітерацій (повторюються кроки 3-4), поки кластерні центри стануть стійкими (тобто при кожній ітерації в кожен кластер потрапляють одні й ті самі об'єкти), дисперсія всередині кластера буде мінімізована, а між кластерами — максимізована

Вибір кількості кластерів робиться на основі дослідницької гіпотези. Якщо її немає, то рекомендують спочатку створити 2 кластери, далі 3, 4, 5, порівнюючи отримані результати.

Принцип дії

Принцип алгоритму полягає в пошуку таких центрів кластерів та наборів елементів кожного кластера при наявності деякої функції Ф(°), що виражає якість поточного розбиття множини на k кластерів, коли сумарне квадратичне відхилення елементів кластерів від центрів цих кластерів буде найменшим:

V=i=1kxjSi(xjμi)2

де k — число кластерів, Si — отримані кластери, i=1,2,,k, μi — центри мас векторів xjSi.

У початковий момент роботи алгоритму довільним чином обираються центри кластерів, далі для кожного елемента множини ітеративно обраховується відстань від центрів з приєднанням кожного елемента до кластера з найближчим центром. Для кожного з отриманих кластерів обчислюються нові значення центрів, намагаючись при цьому мінімізувати функцію Ф(°), після чого повторюється процедура перерозподілу елементів між кластерами.

Алгоритм методу «Кластеризація за схемою к-середніх»:

  • вибрати k інформаційних точок як центри кластерів поки не завершиться процес зміни центрів кластерів;
  • зіставити кожну інформаційну точку з кластером, відстань до центра якого мінімальна;
  • переконатися, що в кожному кластері міститься хоча б одна точка. Для цього кожний порожній кластер потрібно доповнити довільною точкою, що розташована «далеко» від центра кластера;
  • центр кожного кластера замінити середнім від елементів кластера;
  • кінець.

Переваги

Головні переваги методу k-середніх — його простота та швидкість виконання. Метод k-середніх більш зручний для кластеризації великої кількості спостережень, ніж метод ієрархічного кластерного аналізу (у якому дендограми стають перевантаженими і втрачають наочність).

Недоліки

Одним із недоліків простого методу є порушення умови зв'язності елементів одного кластера, тому розвиваються різні модифікації методу, а також його нечіткі аналоги (Шаблон:Lang-en), у яких на першій стадії алгоритму допускається приналежність одного елемента множини до декількох кластерів (із різним ступенем приналежності).

Попри очевидні переваги методу, він має суттєві недоліки:

  1. Результат класифікації сильно залежить від початкових позицій кластерних центрів
  2. Алгоритм чутливий до викидів, які можуть викривлювати середнє
  3. Кількість кластерів має бути заздалегідь визначена дослідником

Застосування

Метод k-середніх є доволі простим і прозорим, тому успішно застосовується в різноманітних галузях — маркетингових сегментаціях, геостатистиці, астрономії, сільському господарстві тощоШаблон:Джерело?.

Див. також

Шаблон:Проєкт

Примітки

Шаблон:Reflist

Посилання

Шаблон:Math-stub