Методи кластеризації, які не потребують попереднього уточнення кількості кластерів


17

Чи існують «непараметричні» методи кластеризації, для яких нам не потрібно вказувати кількість кластерів? І інші параметри, такі як кількість точок на кластер тощо.

Відповіді:


22

Алгоритми кластеризації, які вимагають попередньо вказати кількість кластерів, є невеликою меншиною. Існує величезна кількість алгоритмів, яких немає. Їх важко підсумувати; це трохи схоже на те, щоб попросити опис будь-яких організмів, які не є котами.

Алгоритми кластеризації часто класифікуються на широкі царства:

  1. Алгоритми розподілу (наприклад, k-означає і це потомство)
  2. Ієрархічна кластеризація (як @Tim описує )
  3. Кластеризація на основі щільності (наприклад, DBSCAN )
  4. Кластеризація на основі моделі (наприклад, кінцеві моделі гауссових сумішей або аналіз прихованих класів )

Можуть бути додаткові категорії, і люди можуть не погодитися з цими категоріями та які алгоритми входять до якої категорії, тому що це евристично. Тим не менш, подібна схема є звичайною. Працюючи над цим, насамперед лише методи розподілу (1) вимагають попередньо уточнити кількість кластерів, щоб знайти. Яку іншу інформацію потрібно заздалегідь уточнити (наприклад, кількість точок на кластер) та чи здається розумним називати різні алгоритми «непараметричними», також дуже мінливими і важко підсумовувати їх.

Ієрархічна кластеризація не вимагає, щоб ви заздалегідь вказували кількість кластерів, як це робить k-означає, але ви вибираєте кількість кластерів зі свого результату. З іншого боку, DBSCAN також не вимагає (але це вимагає уточнення мінімальної кількості балів для "мікрорайону" - хоча є і за замовчуванням, тож у певному сенсі ви можете пропустити, уточнюючи це, - що робить слово кількість шаблонів у кластері). GMM навіть не вимагає жодного з цих трьох, але вимагає параметричних припущень щодо процесу генерації даних. Наскільки я знаю, не існує алгоритму кластеризації, який ніколи не вимагає від вас вказувати кількість кластерів, мінімальну кількість даних на кластер або будь-яку схему / розташування даних у кластерах. Я не бачу, як це могло бути.

Це може допомогти вам прочитати огляд різних типів алгоритмів кластеризації. Можна почати наступне:

  • Берхін, П. "Огляд методів кластеризації даних кластеризації" ( pdf )

Мене бентежить ваш номер 4: Я подумав, що якщо одна сумісна модель Гауссової суміші до даних, то потрібно вибрати кількість гауссів, щоб відповідати, тобто кількість кластерів потрібно уточнити заздалегідь. Якщо так, то чому ви кажете, що цього вимагає "в першу чергу лише" №1?
Амеба каже, що повернеться до Моніки

@amoeba, це залежить від модельного методу та того, як він реалізований. GMM часто підходять для мінімізації деяких критеріїв (як, наприклад, регресія OLS є, див. Тут ). Якщо так, то попередньо не вказуйте кількість кластерів. Навіть якщо ви робите згідно з якоюсь іншою реалізацією, це не є типовою особливістю для методів на основі моделей.
gung - Відновити Моніку

k=3к

Я насправді не дотримуюся ваших аргументів, @amoeba. Коли ви підходите до простої регресійної моделі з алгоритмом OLS, ви б сказали, що ви заздалегідь задаєте нахил та перехоплення або алгоритм визначає їх, оптимізуючи критерій? Якщо останнє, я не бачу, що тут відрізняється. Безумовно, правда, що ви можете створити новий мета-алгоритм, який використовує k-засоби як один із його кроків, щоб знайти розділ без попередньої задачі k, але цей мета-алгоритм не був би k-засобом.
gung - Відновити Моніку

1
@amoeba, це, здається, не є семантичною проблемою, але стандартні алгоритми, які використовуються для встановлення GMM, зазвичай оптимізують критерій. Наприклад, те, що Mclustвикористовується, призначене для оптимізації BIC, але може використовуватися AIC або послідовність тестів щодо коефіцієнта ймовірності. Я думаю, ви могли б назвати це мета-алгоритмом, оскільки він має складові етапи (наприклад, EM), але це алгоритм, який ви використовуєте, і в будь-якому випадку він не вимагає від вас попереднього введення k. Ви добре бачите на моєму зв'язаному прикладі, що я там не вказав k заздалегідь.
gung - Відновіть Моніку

13

Найпростіший приклад - ієрархічне кластеризація , де ви порівнюєте кожну точку між собою, використовуючи деяку міру відстані , а потім з'єднуєте разом пару, яка має найменшу відстань, щоб створити об'єднану псевдоточку (наприклад, b і c робить bc як на зображенні нижче). Далі ви повторюєте процедуру, з'єднуючи точки та псевдоточки, виходячи з їх парних відстаней, поки кожна точка не з'єднується з графіком.

Ілюстрація Вікіпедії

(джерело: https://en.wikipedia.org/wiki/Hierarchical_clustering )

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


Чи не обрізка якось означає, що ви приймаєте рішення про кількість кластерів?
Learn_and_Share

1
@MedNait це те, що я сказав. При кластерному аналізі завжди потрібно приймати таке рішення, питання лише в тому, як воно прийняте - наприклад, воно може бути довільним, або воно може базуватися на якомусь розумному критерії, наприклад, підході моделі, що базується на вірогідності тощо.
Тим

1
Це залежить від того, що саме ви хочете, @MedNait. Ієрархічна кластеризація не вимагає попередньо вказувати кількість кластерів, як це робить k-означає, але ви вибираєте кількість кластерів зі свого результату. З іншого боку, DBSCAN також не вимагає (але він вимагає уточнення мінімальної кількості балів для "мікрорайону" - хоча є і за замовчуванням - що дає змогу визначити кількість шаблонів у кластері) . GMM навіть цього не вимагає, але вимагає параметричних припущень щодо процесу генерації даних. І т. Д.
gung - Відновити Моніку

10

Параметри хороші!

Метод "без параметрів" означає, що ви отримуєте лише один кадр (за винятком, можливо, випадковості), без можливостей налаштування .

Зараз кластеризація - це дослідна техніка. Ви не повинні припускати, що існує одна "справжня" кластеризація . Ви, скоріше, зацікавлені в дослідженні різних кластеризацій одних і тих же даних, щоб дізнатися більше про них. Ставлення до кластеризації як до чорної скриньки ніколи не працює добре.

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

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


0

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

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