Конвергенція методу k-означає Hartigan-Wong та інших алгоритмів


10

Я намагаюся зрозуміти різні алгоритми кластеризації k-засобів, які в основному реалізовані в мовному statsпакеті R.

Я розумію алгоритм Ллойда та онлайн-алгоритм MacQueen. Я розумію їх так:

Алгоритм Ллойда:

Спочатку вибираються випадкові спостереження 'k', які будуть служити центроїдами кластерів 'k'. Потім наступні кроки відбуваються в ітерації до сходження центроїдів.

  1. Розраховується евклідова відстань між кожним спостереженням та обраними центроїдами.
  2. Спостереження, які є найближчими до кожного центроїда, позначаються у відрах "k".
  3. Середнє значення всіх спостережень у кожному відрі служить новими центроїдами.
  4. Нові центроїди замінюють старі центроїди і ітерація повертається до етапу 1, якщо старий і новий центроїди не зблизилися.

Умови конвергенції такі: старий і новий центроїди точно однакові, різниця між центроїдами невелика (порядку 10 ^ -3) або досягається максимальна кількість ітерацій (10 або 100).

Алгоритм MacQueen:

Це онлайн-версія, де перші "k" екземпляри вибираються як центроїди.

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

Повторіть цей крок, поки кожен екземпляр не поміститься у відповідне відро.

Цей алгоритм має лише одну ітерацію, і цикл продовжується для 'x' екземплярів

Алгоритм Хартігана-Вонга:

  1. Призначте всі точки / екземпляри до випадкових відрах і обчисліть відповідний центроїд.
  2. Починаючи з першої інстанції, знайдіть найближчий центроїд і попустіть це відро. Якщо відро змінилося, то перерахуйте нові центроїди, тобто центроїд новопризначеного відра і центроїд старого призначення відра, оскільки це два центроїди, на які впливає зміна
  3. Проведіть цикл через усі точки і отримайте нові центроїди.
  4. Зробіть другу ітерацію пунктів 2 і 3, яка виконує певну операцію з очищення та призначає бродячі точки для виправлення відра.

Отже, цей алгоритм виконує 2 ітерації, перш ніж ми побачимо результат конвергенції.

Тепер я не впевнений, що те, що я вважаю в пункті 4 алгоритму Хартіган-Вонг, є правильним методом алгоритму. Моє запитання, якщо наступний метод для Хартіган-Вонга є правильним методом реалізації k-засобів? Чи є лише два ітерації для цього методу? якщо ні, то яка умова конвергенції (коли припинити)?

Ще одне можливе пояснення реалізації - це я розумію.

  1. Призначте всі точки / екземпляри до випадкових відрах і обчисліть відповідний центроїд.
  2. Починаючи з першого примірника, знайдіть найближчий центроїд і призначте це відро. Якщо відро змінилося, то перерахуйте нові центроїди, тобто центроїд новопризначеного відра і центроїд старого призначення відра, оскільки це два центроїди, на які впливає зміна.
  3. Як тільки зміниться відро для будь-якої точки, поверніться до першої інстанції та повторіть кроки ще раз.
  4. Ітерація закінчується, коли всі екземпляри повторюються і жодна з точок не змінює відрізки.

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

Будь-які пояснення були б корисними, і, будь ласка, повідомте мене, якщо я розумію будь-який із цих методів неправильно.


Що таке "відро"?
Мав QUIT - Anonymous-Mousse

@ Anonymous-Mousse "відро" - це "кластер". Наприклад: k-засоби використовуються для поділу даних на "k" відра / кластери
Sid

Але тоді це звучить як алгоритм MacQueens.
Має QUIT - Anonymous-Mousse

@ Аноні-Мус. так, крім першого кроку Гартіган-Вонг, схоже, алгоритм MacQueens. Але я не впевнений, чи це правильне розуміння. Можливо, є якась концепція, яку мені не вистачає для ітерацій та конвергенції.
Сид

Відповіді:


1

Алгоритм HW, з паперу 1979 року, приймає в якості початкових кластерів. Однак автори пропонують спосіб їх отримання в останньому розділі. Вони пишуть, що гарантується, що жоден кластер не буде порожнім після початкового призначення в підпрограмі . Виходить так:

  1. х¯
  2. х¯||хi-х¯||2
  3. {1+(L-1)[М/К]}L=1,,К[  ]1

Щодо основного алгоритму, він описаний у статті під назвою «K-Means» від Hartigan's K-Means «Л-Ьойда» - це час змін автор: N Slonim, E Aharoni, K Crammer, опублікований у 2013 році AJCAI . Зауважте, що ця версія просто використовує випадковий початковий розділ. Виходить так.

хХК ,

  1. СХКССvС .

  2. ХхХ

    с=1

    хСС-=С{х} .

    С+={аrгмiнС(СС)С- 1нг(х,vС)+1нуС[г(у,vСх)-г(у,vС)]}{х}

    С+ССС-СС+vСvСс0 .

  3. с=0 , поверніться до 2.

СаrгмiнхСгvСvС{х}

Я думаю, що відповіді на всі ваші запитання неявні у вищезазначеному алгоритмі ... Однак я все ж повинен переконатися, що ця реалізація алгоритму є стандартною . Зокрема, якщо це той, що реалізований у Р. Будь-які коментарі / редагування вітаються.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.