Методи ініціалізації кластеризації K-засобів


11

Мене цікавить сучасний стан вибору початкових насінин (центрів кластерів) для K-засобів.

Гуглінг призводить до двох популярних варіантів:

  1. випадковий відбір початкових насіння, і,
  2. використовуючи техніку відбору KMeans ++: Артур та Васильвіцький 2006 k-засоби ++: Переваги дбайливого висіву насіння

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

Відповіді:


12

Дозвольте мені, не заходячи далеко, щоб просто скопіювати і вставити список опцій з моєї власної функції !kmini(макрос для SPSS), знайдені в колекції «кластер» тут .

Метод створення або вибору початкових центрів кластерів. Виберіть:

  • RGC - центроїди випадкових підпробовід . Дані розподіляються випадковим чином за допомогою kнеоновного збігу, за членством, групами та центроїдами цих груп, призначеними для початкових центрів. Таким чином, обчислюються центри, не обрані з існуючих випадків набору даних. Цей метод дає центри, що знаходяться близько один до одного і до загального центроїда даних.
  • RP - випадковим чином обрані точки . kокремі випадки даних випадковим чином вибираються для початкових центрів.
  • RUNFP - найдальші точки (запущений вибір). Спочатку kвипадки приймаються як центри, а потім під час пробігу через решту випадків набору даних прогресивно проводяться заміни серед центрів; мета заміщення - отримати в кінцевих kточках, найбільш віддалених одна від одної у змінному просторі. Ці точки (випадки), що займають периферійні положення в хмарі даних, є утвореними початковими центрами. (Метод використовується як за замовчуванням у SPSS k-означає процедуру QUICK CLUSTER. Детальну інформацію див. У алгоритмах SPSS. Див. Також описані тут ).
  • SIMFP - найдальші точки (простий вибір). Перший центр вибирається як випадковий випадок із набору даних. 2-й центр обраний як випадок, максимально віддалений від цього центру. 3-й центр обраний як випадок, максимально віддалений від цих двох (від найближчого до двох), - і так далі.
  • KMPP - випадкові найдальші точки, або k-означає ++. Перший центр вибирається як випадковий випадок із набору даних. 2-й центр вибирається також випадковим чином, але ймовірність вибору випадку пропорційна відстані (квадратний евклідовий) його до цього (1-го) центру. Третій центр вибирається також випадковим чином з ймовірністю вибору, пропорційним відстані справи до найближчого з цих двох центрів, - і так далі. (Артур Д., Васильвіцький, С .. К-означає ++: переваги ретельного висіву насіння. // Праці 18-го щорічного симпозіуму ACM-SIAM про дискретні алгоритми. 2007., 1027–1035.)
  • GREP - представницькі пункти групи . Ідея методу - збирати як центриkбільшість представницьких, «депутатських» справ. 1-й центр приймається за випадок, що є найближчим до загальних даних ценроїди. Тоді решта центрів вибираються з точок даних таким чином, що кожна точка розглядається на те, чи вона ближче (і на скільки, з точки зору квадратної евклідової відстані) до набору точок, ніж кожен з останніх - до будь-якого з уже існуючих центрів. Тобто кожен бал розглядається як кандидат, який представляє певну групу балів, ще недостатньо добре представлену вже зібраними центрами. Точка, найбільш репрезентативна в цьому відношенні, обрана як наступний центр. (Kaufman, L. Rousseeuw, PJ. Пошук груп даних: вступ до кластерного аналізу. 1990. Див. Також: Pena, JM et al. Емпіричне порівняння чотирьох методів ініціалізації алгоритму K-засобів // Розпізнавання шаблонів Lett. 20 (10), 1999 р.,
  • [Існує також приємний метод, ще не реалізований мною в макросі, щоб генерувати kточки, які є від випадкової рівномірної, але "менш випадкової, ніж випадкової", десь між випадковим і жадібним; див. потенційну теоретичну основу для цього методу]
  • Ще один метод - це зробити ієрархічну кластеризацію методом Уорда. Ви можете зробити це на підпробірі об'єктів, якщо зразок занадто великий. Тоді засоби kкластерів, що виробляються, є початковим насінням для k-засобів процедури. Уорд є кращим перед іншими ієрархічними методами кластеризації, оскільки він поділяє загальну цільову мету з k-засобами.

Методи RGC, RP, SIMFP, KMPP залежать від випадкових чисел і можуть змінити їх результат від запуску до запуску.

Метод RUNFP може бути чутливим до порядку порядку в наборі даних; але методу GREP немає (крім випадків, коли в даних є багато однакових випадків, зв'язків). Метод GREP може не зібрати всі kцентри, якщо kвелика відносна кількість випадків у даних ( n), особливо коли k>n/2. [Макрос інформує, якщо дані не дозволяють цьому методу збирати kцентри]. Метод GREP є найповільнішим, він обчислює [в моєму виконанні] матрицю відстаней між усіма справами, тому він не підходить, якщо випадків багато десятків тисяч або мільйонів. Однак ви можете це зробити на випадковій підпробірі даних.

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


ps див. також відповідь stats.stackexchange.com/a/350191/3277
ttnphns

Буду радий побачити вашу відповідь на щось на кшталт - Детерміновані, але ефективні способи ініціалізації K-засобів.
Рой

@Royi, якщо у вас є запитання щодо цього, чому б не поставити це питання?
ttnphns

У вас є багато способів поділитися? Я створив декілька прийомів "Знайти найдальші зразки", але чи багато хороших з них варто відкрити питання?
Рой

Якщо у вас є щось, що ви вважаєте гідним, поділіться ним у формі запитання, якщо щось гідне можна запитати про це запитанням.
ttnphns

5

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

  1. Для використання методу Уорда (це стандартний ієрархічний алгоритм аналізу кластерів) для пошуку початкових центрів.
  2. Використовуйте випадкові старти.

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

Я зробив декілька симуляцій, яких я ніколи не обходив до публікації, і виявив, що:

Основний результат, який я взяв з цього, полягає в тому, що алгоритм SPSS є напрочуд хорошим, але якщо у кого є ресурси, то це шлях.


Чи помічали ви у своїх моделюваннях якісь зміни в поведінці щодо даних високих розмірів?
Арін Чаудхурі

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

Примітка: Алгоритм SPSS за замовчуванням (між вами посилання порушено) - це те, що я у своїй відповіді акронував як RUNFP.
ttnphns

4

За допомогою номенклатури ttnphns я перевірив RGC, RP та KMPP на:

  • 2D / 3D точки
  • мішок слів із текстових документів
  • криві з по суті відстані.L2

Я не рекомендую RGC, оскільки отримані центри дуже близькі один до одного: середнє значення багатьох точок близьке до глобального середнього (закон великих чисел). Це може значно уповільнити конвергенцію: проходить якийсь час, перш ніж кластери почнуть індивідуалізуватися.

RP, як правило, хороший і рекомендує як перший простий вибір.

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

Однак, коли я працював над великими наборами даних (1М балів, які є пакетом слів з текстових документів з великим розміром), RP трохи перевищив KMPP в тому сенсі, що закінчився трохи меншими ітераціями. Я здивувався цьому. У великому наборі даних / високому вимірі конвергенція до глобального мінімуму неможлива, ви вимірюєте якість як "наскільки хороший локальний мінімум" = "наскільки невеликий кінцевий показник SOD". Обидва методи мали однакову якість.

Зауважте, що важливо використовувати рандомізований метод, якщо ви хочете використовувати реплікації для поліпшення якості.


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