Jak zdefiniować liczbę klastrów w klastrowaniu K-oznacza?

19

Czy jest jakiś sposób na określenie optymalnej liczby klastrów, czy powinienem po prostu wypróbować różne wartości i sprawdzić poziomy błędów, aby wybrać najlepszą wartość?

Berkay
źródło
1
@berkay Jak zdefiniować poziom błędu dla tej nienadzorowanej metody? (czy masz na myśli
przedział
@chl, mogę użyć sumy błędów kwadratu dla wszystkich klastrów lub ogólnej dokładności (w tym przypadku znam etykiety klas.)
berkay
3
@berkay Prostym algorytmem znajdowania liczby klastrów jest obliczenie średniego WSS dla 20 przebiegów k-średnich na rosnącej liczbie klastrów (zaczynając od 2, a kończąc na powiedzmy 9 lub 10) i zachowując rozwiązanie, które ma minimalny WSS w tym zestawie klastrów. Inną metodą jest statystyka Gap . Ale jeśli masz już oznaczone wystąpienia, to dlaczego próbujesz zastosować metodę bez nadzoru?
chl
@chl dzięki, dobre pytanie, możemy odgadnąć klastry w zależności od cech intencji, analizuję nowe cechy wtargnięcia, naśladowanie legalnych aplikacji.
berkay
2
Odpowiedziałem na podobne pytanie za pomocą pół tuzina metod (stosujących R) tutaj: stackoverflow.com/a/15376462/1036500
Ben

Odpowiedzi:

8

Używam metody CCC (Cubic Clustering Criteria). Poszukuję, aby CCC wzrosło do maksimum, gdy zwiększam liczbę klastrów o 1, a następnie obserwuję, kiedy CCC zaczyna spadać. W tym momencie biorę liczbę klastrów na (lokalnym) maksimum. Byłoby to podobne do używania wykresu piaskowego do wybierania liczby głównych składników.


Raport techniczny SAS A-108 Kryterium sześciennych klastrów ( pdf )

n k k p q X n × p M q × p Z z i k = 1 i kn = liczba obserwacji = liczba w klastrze = liczba zmiennych = liczba klastrów = macierz danych = macierz klastrów oznacza = wskaźnik skupienia ( jeśli obs. w klastrze , 0 w przeciwnym razie)
nkk
p
q
Xn×p
Mq×p
Zzik=1ik

Załóżmy, że każda zmienna ma średnią 0: ,
M = ( Z Z ) - 1 Z XZZ=diag(n1,,nq)M=(ZZ)1ZX

T X X S S B M Z Z M S S W T - BSSMacierz (ogółem) = = (między klastrami) macierz = = (wewnątrz klastrów) macierz = =TXX
SSBMZZM
SSWTB

R2=1trace(W)trace(T)
(trace = suma elementów ukośnych)

Ułóż kolumny w jedną długą kolumnę. Dokonaj regresji na produkcie Kroneckera dla z macierzą tożsamości Oblicz Oblicz dla tej regresji - to samoZ p × p R 2 R 2X
Zp×p
R2R2

Ideą CCC jest porównanie otrzymanego dla danego zestawu klastrów z uzyskanym przez zgrupowanie równomiernie rozmieszczonego zestawu punktów w przestrzeni wymiarowej.R 2 pR2R2p

Ralph Winters
źródło
2
Istnieją inne kryteria oprócz CCC. Spójrz na Określanie liczby klastrów w zbiorze danych , aby zobaczyć główne.
Vincent Labatut