Чи існують «непараметричні» методи кластеризації, для яких нам не потрібно вказувати кількість кластерів? І інші параметри, такі як кількість точок на кластер тощо.
Чи існують «непараметричні» методи кластеризації, для яких нам не потрібно вказувати кількість кластерів? І інші параметри, такі як кількість точок на кластер тощо.
Відповіді:
Алгоритми кластеризації, які вимагають попередньо вказати кількість кластерів, є невеликою меншиною. Існує величезна кількість алгоритмів, яких немає. Їх важко підсумувати; це трохи схоже на те, щоб попросити опис будь-яких організмів, які не є котами.
Алгоритми кластеризації часто класифікуються на широкі царства:
Можуть бути додаткові категорії, і люди можуть не погодитися з цими категоріями та які алгоритми входять до якої категорії, тому що це евристично. Тим не менш, подібна схема є звичайною. Працюючи над цим, насамперед лише методи розподілу (1) вимагають попередньо уточнити кількість кластерів, щоб знайти. Яку іншу інформацію потрібно заздалегідь уточнити (наприклад, кількість точок на кластер) та чи здається розумним називати різні алгоритми «непараметричними», також дуже мінливими і важко підсумовувати їх.
Ієрархічна кластеризація не вимагає, щоб ви заздалегідь вказували кількість кластерів, як це робить k-означає, але ви вибираєте кількість кластерів зі свого результату. З іншого боку, DBSCAN також не вимагає (але це вимагає уточнення мінімальної кількості балів для "мікрорайону" - хоча є і за замовчуванням, тож у певному сенсі ви можете пропустити, уточнюючи це, - що робить слово кількість шаблонів у кластері). GMM навіть не вимагає жодного з цих трьох, але вимагає параметричних припущень щодо процесу генерації даних. Наскільки я знаю, не існує алгоритму кластеризації, який ніколи не вимагає від вас вказувати кількість кластерів, мінімальну кількість даних на кластер або будь-яку схему / розташування даних у кластерах. Я не бачу, як це могло бути.
Це може допомогти вам прочитати огляд різних типів алгоритмів кластеризації. Можна почати наступне:
Mclust
використовується, призначене для оптимізації BIC, але може використовуватися AIC або послідовність тестів щодо коефіцієнта ймовірності. Я думаю, ви могли б назвати це мета-алгоритмом, оскільки він має складові етапи (наприклад, EM), але це алгоритм, який ви використовуєте, і в будь-якому випадку він не вимагає від вас попереднього введення k. Ви добре бачите на моєму зв'язаному прикладі, що я там не вказав k заздалегідь.
Найпростіший приклад - ієрархічне кластеризація , де ви порівнюєте кожну точку між собою, використовуючи деяку міру відстані , а потім з'єднуєте разом пару, яка має найменшу відстань, щоб створити об'єднану псевдоточку (наприклад, b і c робить bc як на зображенні нижче). Далі ви повторюєте процедуру, з'єднуючи точки та псевдоточки, виходячи з їх парних відстаней, поки кожна точка не з'єднується з графіком.
(джерело: https://en.wikipedia.org/wiki/Hierarchical_clustering )
Процедура не параметрична, і єдине, що вам потрібно для неї, - це міра відстані. Зрештою, вам потрібно вирішити, як обрізати дерево-графік, створений за допомогою цієї процедури, тому необхідно прийняти рішення про очікувану кількість кластерів.
Метод "без параметрів" означає, що ви отримуєте лише один кадр (за винятком, можливо, випадковості), без можливостей налаштування .
Зараз кластеризація - це дослідна техніка. Ви не повинні припускати, що існує одна "справжня" кластеризація . Ви, скоріше, зацікавлені в дослідженні різних кластеризацій одних і тих же даних, щоб дізнатися більше про них. Ставлення до кластеризації як до чорної скриньки ніколи не працює добре.
Наприклад, ви хочете мати можливість налаштувати функцію відстані, яка використовується, залежно від ваших даних (це також параметр!) Якщо результат занадто грубий, ви хочете отримати більш точний результат або якщо він занадто тонкий , отримайте її більш грубу версію.
Найкращими методами часто є ті, які дозволяють вам добре орієнтуватися в результаті, наприклад, дендрограма в ієрархічній кластеризації. Потім можна легко вивчити підструктури.
Ознайомтеся з моделями сумішей Діріхле . Вони надають хороший спосіб зрозуміти дані, якщо ви не знаєте заздалегідь кількість кластерів. Однак вони роблять припущення щодо форм кластерів, які можуть порушувати ваші дані.