Metody grupowania, które nie wymagają wstępnego określania liczby klastrów

17

Czy istnieją jakieś „nieparametryczne” metody klastrowania, dla których nie musimy określać liczby klastrów? I inne parametry, takie jak liczba punktów na klaster itp.

Learn_and_Share
źródło

Odpowiedzi:

22

Algorytmy klastrowania, które wymagają wstępnego określenia liczby klastrów, stanowią niewielką mniejszość. Istnieje ogromna liczba algorytmów, które tego nie robią. Trudno je streścić; to trochę jak prośba o opis wszelkich organizmów, które nie są kotami.

Algorytmy grupowania są często dzielone na szerokie królestwa:

  1. Algorytmy partycjonowania (takie jak k-średnie i jego potomstwo)
  2. Hierarchiczne grupowanie (jak opisuje @Tim )
  3. Klastrowanie oparte na gęstości (takie jak DBSCAN )
  4. Grupowanie oparte na modelach (np. Skończone modele mieszanki Gaussa lub analiza klas utajonych )

Mogą istnieć dodatkowe kategorie, a ludzie mogą się nie zgodzić z tymi kategoriami i które algorytmy należą do jakiej kategorii, ponieważ jest to heurystyka. Niemniej jednak coś takiego jak ten schemat jest powszechne. W oparciu o to przede wszystkim tylko metody partycjonowania (1) wymagają wcześniejszego określenia liczby klastrów do znalezienia. To, co inne informacje muszą być z góry określone (np. Liczba punktów na klaster) i czy rozsądne jest nazywanie różnych algorytmów „nieparametrycznymi”, jest również bardzo zmienne i trudne do podsumowania.

Klastrowanie hierarchiczne nie wymaga wcześniejszego określania liczby klastrów, tak jak robi to k-średnich, ale wybierasz liczbę klastrów z wyników. Z drugiej strony DBSCAN nie wymaga żadnego z nich (ale wymaga określenia minimalnej liczby punktów dla „sąsiedztwa” - chociaż są to wartości domyślne, więc w pewnym sensie można pominąć określenie tego - co stawia podłoże liczba wzorców w klastrze). GMM nawet nie wymaga żadnego z tych trzech, ale wymaga parametrycznych założeń dotyczących procesu generowania danych. O ile mi wiadomo, nie istnieje algorytm klastrowania, który nigdy nie wymaga określenia liczby klastrów, minimalnej liczby danych na klaster ani żadnego wzorca / układu danych w klastrach. Nie rozumiem, jak mogło być.

Może ci pomóc przeczytać przegląd różnych rodzajów algorytmów klastrowania. Rozpoczęcie może być następujące:

  • Berkhin, P. „Badanie technik wyszukiwania danych klastrowych” ( pdf )
gung - Przywróć Monikę
źródło
Jestem zdezorientowany przez twoje # 4: Pomyślałem, że jeśli ktoś dopasuje model mieszanki Gaussa do danych, to trzeba wybrać liczbę Gaussów do dopasowania, tj. Liczbę klastrów należy wcześniej określić. Jeśli tak, to dlaczego mówisz, że „przede wszystkim” numer 1 tego wymaga?
ameba mówi Przywróć Monikę
@amoeba, zależy to od metody opartej na modelu i sposobu jej wdrożenia. GMM są często przystosowane do minimalizacji niektórych kryteriów (jak np. Regresja OLS, por. Tutaj ). Jeśli tak, nie określa się wstępnie liczby klastrów. Nawet jeśli robisz to zgodnie z inną implementacją, nie jest to typowa cecha metod opartych na modelach.
gung - Przywróć Monikę
k=3k
Naprawdę nie zgadzam się z twoim argumentem tutaj, @amoeba. Czy dopasowując prosty model regresji z algorytmem OLS, powiedziałbyś, że wstępnie określasz nachylenie i przecięcie, czy też algorytm określa je poprzez optymalizację kryterium? Jeśli to drugie, nie widzę tutaj innych rzeczy. Z pewnością prawdą jest, że można utworzyć nowy meta-algorytm, który używa k-średnich jako jednego ze swoich kroków w celu znalezienia partycji bez wstępnego określenia k, ale ten meta-algorytm nie byłby k-średnią.
gung - Przywróć Monikę
1
@amoeba, wydaje się to kwestią semantyczną, ale standardowe algorytmy pasujące do GMM zazwyczaj optymalizują kryterium. Np. Jedno Mclustzastosowanie ma na celu optymalizację BIC, ale można zastosować AIC lub sekwencję testów współczynnika prawdopodobieństwa. Myślę, że można nazwać go meta-algorytmem, b / c ma kroki składowe (np. EM), ale to jest algorytm, którego używasz, i w każdym razie nie wymaga on wcześniejszego określenia k. W moim połączonym przykładzie wyraźnie widać, że nie określiłem tam wcześniej k.
gung - Przywróć Monikę
13

Najprostszym przykładem jest hierarchiczne grupowanie , w którym porównujesz każdy punkt ze sobą za pomocą miary odległości , a następnie łączysz parę, która ma najmniejszą odległość, aby utworzyć połączony pseudopunkt (np. B i c tworzy bc jak na obrazie poniżej). Następnie powtórz procedurę, łącząc punkty i pseudopunkty, opierając ich odległości parami, aż każdy punkt zostanie połączony z wykresem.

Ilustracja z Wikipedii

(źródło: https://en.wikipedia.org/wiki/Hierarchical_clustering )

Procedura jest nieparametryczna, a jedyną rzeczą, której potrzebujesz, jest pomiar odległości. Na koniec musisz zdecydować, jak przyciąć wykres drzewa utworzony za pomocą tej procedury, więc musisz podjąć decyzję dotyczącą oczekiwanej liczby klastrów.

Tim
źródło
Czy przycinanie w jakiś sposób nie oznacza, że ​​decydujesz o numerze klastra?
Learn_and_Share
1
@MedNait to właśnie powiedziałem. W analizie skupień zawsze musisz podjąć taką decyzję, jedynym pytaniem jest, w jaki sposób została podjęta - np. Może być arbitralna lub może opierać się na rozsądnych kryteriach, takich jak dopasowanie modelu opartego na prawdopodobieństwie itp.
Tim
1
To zależy od tego, czego dokładnie szukasz, @MedNait. Hierarchiczne grupowanie nie wymaga wcześniejszego określenia liczby klastrów, tak jak robi to k-średnich, ale wybierasz liczbę klastrów z wyników. Z drugiej strony DBSCAN również nie wymaga (ale wymaga określenia minimalnej liczby punktów dla „sąsiedztwa” - chociaż istnieją wartości domyślne - co wpływa na liczbę wzorów w klastrze) . GMM nawet tego nie wymaga, ale wymaga parametrycznych założeń dotyczących procesu generowania danych. Itd.
Gung - Przywróć Monikę
10

Parametry są dobre!

Metoda „bez parametrów” oznacza, że ​​otrzymujesz tylko jeden strzał (może z wyjątkiem przypadkowości), bez możliwości dostosowywania .

Teraz grupowanie jest techniką eksploracyjną . Nie można zakładać, że istnieje jedno „prawdziwe” grupowanie . Powinieneś raczej zainteresować się badaniem różnych klastrów tych samych danych, aby dowiedzieć się więcej na ten temat. Traktowanie grupowania jako czarnej skrzynki nigdy nie działa dobrze.

Na przykład chcesz mieć możliwość dostosowania używanej funkcji odległości w zależności od twoich danych (jest to również parametr!) Jeśli wynik jest zbyt gruby, chcesz być w stanie uzyskać dokładniejszy wynik lub jeśli jest zbyt dokładny , uzyskaj grubszą wersję tego.

Najlepszymi metodami są często te, które pozwalają dobrze poruszać się po wyniku, takie jak dendrogram w hierarchicznym grupowaniu. Następnie możesz łatwo eksplorować podbudowy.

Ma ZAKOŃCZENIE - Anony-Mus
źródło
0

Sprawdź modele mieszanin Dirichleta . Zapewniają dobry sposób na zrozumienie danych, jeśli nie znasz wcześniej liczby klastrów. Przyjmują jednak założenia dotyczące kształtów klastrów, które dane mogą naruszać.

Zeke
źródło