CLUSTERING METODY GRUPOWANIA DANYCH
Plan wykładu Wprowadzenie Dziedziny zastosowania Co to jest problem klastrowania? Problem wyszukiwania optymalnych klastrów Metody generowania: k centroidów (k - means clustering) Grupowanie hierarchiczne (hierarchical clustering) Probabilistyczne grupowanie (probability-based clustering)
Co to jest klastrowanie Klastrowanie (clustering): problem grupowania obiektów o podobnych właściwościach. Klaster: grupa (lub klasa) obiektów podobnych (powstająca w wyniku grupowania danych)
Clustering i Klasyfikacja Clustering = uczenie bez nadzoru Znaleźć naturalne skupienia dla zbioru obiektów nie etykietowanych Klasyfikacja=uczenie z nadzorem Uczenie metod przewidywania przynależności obiektów do klas decyzyjnych (dane etykietowane)
Jak należy dzielić następujące obiekty na grupy? Podział na grupy jest raczej subiektywny Rodzina Pracownicy Kobiety Mężczyźni
Dziedziny zastosowania Medycyna Grupowania chorób Grupowanie objaw u pacjentów np. paranoja, schizophrenia -> właściwa terapia Archeologia: taksonomie wydobytych narzędzi... Text Mining Grupowanie podobnych dokumentów -> lepsze wyniki wyszukiwań dokumentów
Opis klastrów 1 2 3 a 0.4 0.1 0.5 b 0.1 0.8 0.1 c 0.3 0.3 0.4 d 0.1 0.1 0.8 e 0.4 0.2 0.4 f 0.1 0.4 0.5 g 0.7 0.2 0.1 h 0.5 0.4 0.1 g a c i e d k b j f h a d k g j h e i f c b a d k g j h e i f c b
Problem grupowania (clustering) Dane są: liczba klastrów k funkcja odległości d określona na zbiorze obiektów P. funkcja oceny jakości klastrów F (objective function) Problem: Podzielić zbiór P na k klastrów tak aby funkcja F przyjmowała maksymalną wartość.
Klasyfikacja metody Unsupervised learning: grupowanie obiektów bez wiedzy o ich kategorii (klasach decyzyjnych). Metody klasyfikują się według postaci generowanych klastrów: Czy są one rozłączne czy nierozłączne Czy mają strukturę hierarchiczną czy płaską Czy są określone deterministycznie czy probabilistycznie.
Podstawowe metody clusteringu k-centroidów (k-mean): Klastry mają strukturę płaską są określone deterministycznie Grupowanie hierarchiczne: Klastry mają strukturę drzewiastą są określone deterministycznie Grupowanie w oparciu o prawdopodobieństwo: Klastry mają strukturę płaską są określone probabilistycznie
Co to jest podobieństwo? The quality or state of being similar; likeness; resemblance; as, a similarity of features. Webster's Dictionary Podobieństwo jest trudne do definiowania, ale Poznajemy go, gdy go widzimy Czym jest podobieństwo jest raczej filozoficznym pytaniem. Będziemy stosować uproszczone metody
Podobieństwo a odleglość Peter Piotr 0.23 3 342.7
Miary odległości
Przykład: kwantyzacja wektorowa Mały 100x100 obraz kolorowy wymaga 10000*24 = 29.3 kb; (N=10000) Jeśli zdołamy reprezentować ten obraz używając jedynie k=32 kolorów => możemy kodować każdy punkt za pomocą 5 bitów => redukcja pamięci do 6.1 kb + 32*24 bitów na książkę kodową
Metoda k-centroidów (k-means, MacQueen, 1967) Dane: N punktów w przestrzeni R n Parametr k < N Szukane: D = {x 1, x 2 x N } k punktów c 1 c k (zwanych środkami lub centroidami) będących optymalnymi punktami ze względu na funkcję: Cost( c1,..., ck D) min N i1 j1,.., k x i c j 2
Złożoność problemu grupowania Twierdzenie: Problem grupowania minimalnego względem sumy kwadratów błędów jest NP-trudny nawet dla k=2
Algorytm Znaleźć k środków tak, aby suma odległości punktów do najbliższego centroida była minimalna. o Krok 1. Wybierz losowo k punktów (centroidów) będących środkami klastrów o Krok 2. Przydziel każdy obiekt do najbliższego centroida. o Krok 3. Wyznacz nowy układ centroidów o Krok 4. Powtórz krok 2 dopóty, póki poprawa jakości będzie zerowa lub nieistotna.
Metoda k centroidów (c.d.) Wyznaczanie nowego układu centroidów Idea: Nowy centroid jest środkiem ciężkości powstającego (w poprzednim przebiegu algorytmu) klastra. Współrzędne nowego centroida c: p1( xi )... pk ( xi ) c( xi ) k gdzie p 1,p 2,...,p k punkty należące do klastra. c(x i ), p 1 (x i ),..., p k (x i ) i-ta współrzędna.
Przykład k=3, Krok 1 Y Wybierz losowo 3 punkty jako początkowy zbiór środków. k 2 k 1 k 3 X
Przykład k=3, Krok 2 Y k 1 Przypisanie każdego z punktów do najbliższego środka k 2 k 3 X
Przykład k=3, Krok 3 Y k 1 k 1 Przesuwanie centroidów do środków klastrów. k 2 k 2 k 3 k 3 X
Przykład k=3, Krok 4 Znów przypisać punkty do najbliższych środków Y k 1 Pyt.: Które z tych punktów zmienia grupę? k 2 k 3 X
Przykład k=3, Krok 4a A: 3 zmiany Y k 1 k 2 k 3 X
Przykład k=3, Krok 4b re-compute cluster means Y k 2 k 3 k 1 X
Przykład k=3, Krok 5 k 1 Y Przesuwanie centroidów do środków nowych klastrów k 2 X k 3
Przykład k=2
Własciwości metody k-centroidów Jakości klastrów zależą od wyboru początkowego układu centroidów. Algorytm może trafić w lokalne minimum Aby unikać lokalne minimum: startować z różnymi układami losowo wybieranych centroidów.
Zbieżność algorytmu k-means Twierdzenie: dla dowolnego zbioru obiektów X R n oraz punktu z R n mamy Cost( z X ) Cost( mean( X ) X ) X mean( X ) z 2
Jak wybrać właściwą liczbę grup? Na ogół, problem jest nie rozwiązalny. Możemy stosować pewne heurystyki Rozpatrzmy przykładowe dane (pokazane obok): Widać, że najwłaściwsza liczba grup wynosi 2. Analizujmy zmianę funkcji jakości klastrów w zależności od liczby klastrów 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10
Gdy k = 1, wartość funkcji wynosi 873.0 1 2 3 4 5 6 7 8 9 10
Gdy k = 2, wartość funkcji wynosi 173.1 1 2 3 4 5 6 7 8 9 10
Gdy k = 1, wartość funkcji wynosi 133.6 1 2 3 4 5 6 7 8 9 10
Jakość klastrów Możemy wyświetlić wykres fukcji jakości dla k =1,2,3, Przy k = 2, widoczna jest zmiana trendu, co sugeruje, że k=2 jest optymalną liczbą klastrów. Ta technika nazywa się knee finding albo elbow finding. 1.00E+03 9.00E+02 8.00E+02 7.00E+02 6.00E+02 5.00E+02 4.00E+02 3.00E+02 2.00E+02 1.00E+02 0.00E+00 k 1 2 3 4 5 6
Anomalie metody centroidów
Grupowanie hierarchiczne Przykład grupowania profili danych ekspresji RNA (Nugoli et al. BMC Cancer 2003 3:13)
Algorytm Cel: Budować drzewo klastrów dla zbioru n obiektów. Jakość klastra: suma odległości pomiędzy obiektami w klastrze. 1. Na najniższym poziomie drzewa: n liści. Każdy liść (zawierający 1 obiekt) jest klastrem 2. Repeat oznajdź najbliższą parę klastrów (parę poddrzew) opołącz te klastry (poddrzewa) w jeden większy until STOP
Przykład
Odległość między klastrami 1. Single linkage (nearest neighbor) 2. Complete linkage (furthest neighbor) 3. Weighted (or unweighted) pair-group average 4. Weighted (or unweighted) pair-group centroid (median). 5. Wards Linkage: Minimalizacja wariancji połączonych grup
Single linkage 7 25 6 20 5 4 15 3 10 2 5 1 29 2 6 11 9 17 10 13 24 25 26 20 22 30 27 1 3 8 4 12 5 14 23 15 16 18 19 21 28 7 Average linkage 0 5 14 23 7 4 12 19 21 24 15 16 18 1 3 8 9 29 2 10 11 20 28 17 26 27 25 6 13 22 30 Wards linkage
Przykład perfekcyjnego grupowania hierarchicznego (Bovine:0.69395, (Spider Monkey 0.390, (Gibbon:0.36079,(Orang:0.33636,(Gorilla:0.17147,(Chimp:0.19268, Human:0.11927):0.08386):0.06124):0.15057):0.54939);
Czasem hierarchia pokazują błędne relacje Sensowna grupa: Australia, Anguilla, St. Helena etc (poprzednie kolonie Wielkiej Brytanii). Grupa zawierająca Niger i India jest błędna: brak relacji między tymi krajami AUSTRALIA St. Helena & Dependencies ANGUILLA South Georgia & South Sandwich Islands U.K. Serbia & Montenegro (Yugoslavia) FRANCE NIGER INDIA IRELAND BRAZIL
Probabilisty czne grupowanie Obiekt należy do klastra z pewnym stopniem prawdopodobieństwa. Idea: Każdy klaster jest opisany jednym rozkładem prawdopodobieństwa. Założenie: Wszystkie rozkłady są rozkładami normalnymi. Rozkłady różnią się wartoścami oczekiwanymi () i odchyleniami standardowymi ().
Przykład: Trzy probabilistyczne klastry
Stopień należności obiektu do klastra Obiekt x należy do klastra A z prawdopodobieństwem: gdzie f(x; A ; A ) - rozkład normalny ] [ ). ; ; ( ] [ ] [ ]. [ ] [ x P p x f x P A P A x P x A P A A A 2 2 2 ) ( 2 1 ) ; ; ( x e x f
Algorytm EM EM Expection - Maximization Dana jest liczba klastrów k. Cel: Dla każdego atrybutu rzeczywistego znaleźć k układów parametrów ( i, i, p i ) dla i =1,..,k (opisów k klastrów). Dla uproszczenia opisu, niech k = 2 Algorytm jest opisany dla wybranego atrybutu.
Algorytm EM Idea: adoptować algorytm k centroidów. Krok 1. Wybierz losowo 2 układy parametrów ( A, A, p A ) i ( B, B, p B ); Krok 2. Oblicz oczekiwane stopnie przynależności obiektów do klastrów ( expectation step) Krok 3. Wyznacz nowe układy parametrów w celu maksymalizacji funkcji jakości likelihood ( maximization step); Krok 4. Powtórz krok 2 dopóty, póki poprawa jakości będzie mała.
Funkcja oceny jakości Funkcja dopasowania likelihood : dla dwóch klastrów A i B: i ( p. P[ x A] p. P[ x B]) A i B i
Wyznaczanie nowych parametrów Szuka się dwóch układów parametrów: ( A, A, p A ) i ( B, B, p B ) Jeśli w i jest stopniem przynależności i tego obiektu do klastra A to : n n n A w w w x w x w w x...... 2 1 2 2 1 1 n A n n A A A w w w x w x w x w... ) (... ) ( ) ( 2 1 2 2 2 2 2 1 1 2
Bibliografia Brian S. Everitt (1993). Cluster analysis. Oxford University Press Inc. Ian H. Witten, Eibe Frank (1999). Data Mining. Practical ML Tools and Techniques with Java Implementations. Morgan Kaufmann Publishers.