SYSTEMY UCZĄCE SIĘ WYKŁAD 9. GRUPOWANIE DANYCH Częstochowa 014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska
INFORMACJE WSTĘPNE Grupowanie danych zwane inacze grupowaniem poęciowym, klasteryzacą lub analizą skupień (cluster analysis) to przykład uczenia bez nadzoru. Celem grupowania danych est wykrycie w zbiorze przykładów skupień i podział przykładów na grupy. Zbiór uczący składa się z przykładów nieetykietowanych. Uczeń dzieli przykłady na grupy/kategorie i konstruue opis każde grupy. Opis stanowi hipotezę pozwalaącą przydzielać do grup nowe przykłady. Przynależność do grupy opiera się na podobieństwie przykładów (dla atrybutów ciągłych i porządkowych podobieństwo opiera się na mierze odległości pomiędzy przykładami). W obrębie każde grupy przykłady powinny być do siebie maksymalnie podobne. Przykłady należące do różnych grup powinny być maksymalnie niepodobne.
ZASTOSOWANIA Grupowanie używane est zarówno ako wstępny krok analizy danych, ak i pełnoprawne narzędzie badawcze. Do naczęstszych zastosowań należy: eksploraca danych (data mining), gdzie grupowanie używane est np. do podziału klientów na pewne podgrupy segmentaca obrazu (image segmentation), czyli podział obrazu na regiony homogeniczne pod względem pewne własności obrazu (kolor, tekstura, intensywność). Taki uproszczony obraz est prostszy do obróbki np. przez algorytmy rozpoznawania obrazu rozpoznawanie obraz (pattern recognition) ekstrakca informaci (information retrieval), maąca za zadanie uporządkowanie i uproszczenie dostępu do informaci. Do klasycznych zastosowań należy stworzenie klasyfikaci książek, czy stron internetowych grupowanie zadań w problemie harmonogramowania tak, by zadania intensywnie ze sobą komunikuące się trafiły do te same grupy. Taka grupa zostanie w następnym kroku przypisana do wykonania na ednym procesorze 3
TYPY ALGORYTMÓW GRUPOWANIA Algorytmy grupowania danych dzieli się na kilka kategorii: Algorytmy oparte na podziałach (partitioning algorithms) konstruuą różne podziały i oceniaą e za pomocą funkci kryterialne. Zadanie sprowadza się do optymalizaci te funkci Algorytmy hierarchiczne tworzą hierarchiczną reprezentacę zbioru danych Algorytmy oparte na gęstościach (density-based algorithms) oparte na funkci gęstości i na lokalnych połączeniach; produkuą grupy o dowolnych kształtach Inne, np. sekwencyne, ądrowe, grafowe 4
KROKI ALGORYTMU GRUPOWANIA W algorytmie grupowania wyodrębnia się następuące kroki: 1. Wybór reprezentaci przykładów (włączaąc selekcę i ekstrakcę atrybutów (feature selection, feature extraction)). Wybór modelu reprezentaci klasterów i pewnych warunków, akie muszą być spełnione w wyniku (ograniczeń) 3. Zdefiniowanie funkci będące miarą podobieństwa pomiędzy klasterem a przykładem 4. Zdefiniowanie funkci oceny grupowania (i funkci oceny klastera, z które korzysta funkca oceny grupowania) 5. Grupowanie, czyli przeglądanie przestrzeni w akie opisane są klastery w celu znalezienia rozwiązania optymalnego z punktu widzenia funkci zdefiniowane w 4 6. Abstrakca rezultatów 7. Ocena rezultatów 5
6 Artybuty ciągłe miary podobieństwa/niepodobieństwa opieraą się na miarach odległości * lub na mierze korelaci: = = = = n b n a n b a b a x x x x x x x x 1, 1, 1,, ) ( ) ( ) )( ( ), ( x x ρ Artybuty porządkowe wymagaą konwersi na wartości numeryczne i zastosowania miar podobieństwa/niepodobieństwa takich ak dla atrybutów ciągłych. Atrybuty nominalne miara podobieństwa/niepodobieństwa opiera się na odległości Hamminga. Odległość Hamminga pomiędzy przykładami x a i x b z nominalnymi atrybutami równa est liczbie atrybutów o różnych wartościach w tych przykładach. * patrz wykład 8, slady 3 5 MIARY PODOBIEŃSTWA/NIEPODOBIEŃSTWA
FUNKCJA CELU W GRUPOWANIU Sumę kwadratów odległości pomiędzy parami punktów (przykładów) T możemy rozłożyć na sumę kwadratów odległości między parami punktów należących do te same grupy W oraz sumę kwadratów odległości między parami punktów należących do różnych grup B: T = W + B, gdzie : d ( i i' 1 T = 1 W = 1 B = K N N i= 1 i' = 1 d k = 1 C ( xi ) = k C ( xi ) = k K ( x, x d d k = 1 C ( xi ) = k C ( xi ) k i i' i ) ( x, x ( x, x x, x ) kwadrat odległości euklidesowe pomiędzy dwoma przykładami, C(x i ) numer grupy przypisane przykładowi x i, K liczba grup. Zmieniaąc podział punktów na K grup zmieniamy W i B. T pozostae stałe. Celem grupowania est minimalizaca W (rozrzutu wewnątrzgrupowego) lub, równoważnie, maksymalizaca B (rozrzutu międzygrupowego). i i' i' ) ) Koronacki J., Ćwik J.: Statystyczne systemy uczące się. WNT 005. 7
ALGORYTM K-ŚREDNICH Jednym z nabardzie popularnych algorytmów grupowania danych est algorytm K-średnich (Kmeans), w którym reprezentantem k-te grupy est wektorowa średnia punktów należących do te grupy m k. Rozrzut wewnątrzgrupowy wyrażony est tu w postaci: W = K d k = 1 C ( x i ) = k ( x, m i k ) Algorytm k-średnich można zapisać w następuących krokach: 1. Zainicu k środków grup m k (np. losuąc k przykładów ze zbioru trenuącego). Przydziel każdy przykład trenuący do nabliższego środka m k. 3. Wyznacz nowe środki grup m k ako średnie wektorowe przykładów przydzielonych do tych grup. 4. Jeśli pozyce środków m k nie zmieniaą się, zakończ, w przeciwnym przypadku idź do punktu. 8
ALGORYTM K-ŚREDNICH 9
ALGORYTM K-ŚREDNICH Algorytm K-średnich est szybki, efektywny i zbieżny, ma małe wymagania pamięciowe, choć może dawać rozwiązania nieoptymalne. Aby tego uniknąć algorytm uruchamia się wielokrotnie z różnych punktów startowych. Podział przestrzeni w wyniku grupowania odpowiada mozaice Voronoia. Wady tego algorytmu: problem z atrybutami nominalnymi liczba grup K musi być podana a priori wrażliwy na punkt startowy wrażliwy na błędne dane (odstaące obserwace) problemy z grupowaniem, gdy grupy różnią się wielkością, gęstością lub nie są wypukłe (patrz rysunek na następnym sladzie) Podobne algorytmy grupowania: algorytm K-medoidów, w którym każda grupa est reprezentowana przez eden z przykładów algorytm K-median, w którym zamiast wektorów średnich stosuemy wektory median do reprezentaci grup 10
ALGORYTM K-ŚREDNICH 11
GRUPOWANIE HIERARCHICZNE Metody hierarchiczne należą do nabardzie popularnych algorytmów grupowania i eksploraci danych. W wyniku działania tworzą hierarchię podziałów punktów na grupy, w które grupy na poziomie l formowane są z grup utworzonych na poziomie l 1. Punkty zgrupowane razem na poziomie l, pozostaą w te same grupie na wyższych poziomach. Liczba grup nie musi być tuta zadawana a priori. Proces grupowania hierarchicznego przebiega naczęście według algorytmu aglomeracynego: 1. Przymue się, że każdy przykład stanowi odrębną grupę. Otrzymuemy więc N grup ednoelementowych.. Powtarzamy N-1 razy:.1. Wyznaczamy macierz odległości pomiędzy grupami (w pierwszym kroku będzie to macierz odległości pomiędzy przykładami D = [d i ], i, = 1,,, N)... Znaduemy parę nabliższych sobie grup..3. Grupy nabliże położone łączy się, redukuąc liczbę grup o eden. 1
GRUPOWANIE HIERARCHICZNE Po wykonaniu algorytmu wszystkie klastery zostaną połączone w eden. Proces grupowania można zwizualizować dendrogramem drzewem hierarchicznym, którego liście stanowią przykłady x, węzły grupy powstałe przez połączenie dwóch grup z niższego poziomu, a gałęzie obrazuą łączone klastery i odległości pomiędzy nimi. Proces grupowania przerywa się w momencie osiągnięcia założone liczby grup (eśli est znana), przekroczenia progowe wartości odległości pomiędzy łączonymi grupami lub spełnienia przyętego warunku akości grupowania. W tym ostatnim przypadku wykorzystue się miary warianci wewnątrzgrupowe i międzygrupowe. 13
GRUPOWANIE HIERARCHICZNE Proces grupowania hierarchicznego może zachodzić także wg algorytmu dzielącego, który wychodząc od edne grupy obemuące wszystkie przykłady, dzieli ą na dwie. Proces podziału powtarza się do momentu, gdy uzyskane grupy będą dostatecznie różne. Odległości pomiędzy klasterami G i H, o liczebnościach odpowiednio N G i N H, definiue się następuąco: metoda poedynczego wiązania (nabliższego sąsiada) minimalna odległość między przykładami należącymi do tych grup: d( G, H ) = min d( x, x ) i G, H metoda pełnego wiązania (nadalszego sąsiada) maksymalna odległość między przykładami należącymi do tych grup: d( G, H ) = max d( x, x ) i G, H metoda średniego wiązania (średnie międzygrupowe) średnia arytmetyczna odległości 1 między każdą parą przykładów należących do tych grup: d ( G, H ) = d( x i, x ) N N i i G H i G H 14
GRUPOWANIE HIERARCHICZNE PRZYKŁAD Dane są wskaźniki opisuące państwa europeskie: Państwo Powierzchnia PKB Inflaca Dług. życia Uzbroenie Wzrost populaci Bezrobocie Austria 83871 41600 3.5 79.91 0.8 0.03 4. Belgium 3058 37800 3.5 79.65 1.3 0.06 7. Bulgaria 110879 13800 4. 73.84.6-0.8 9.6 Croatia 56594 18000.3 75.99.39-0.09 17.7 Czech Republic 78867 7100 1.9 77.38 1.15-0.13 8.5 Denmark 43094 37000.8 78.78 1.3 0.4 6.1 Estonia 458 0400 5 73.58-0.65 1.5 Finland 338145 36000 3.3 79.41 0.07 7.8 Germany 3570 38100.5 80.19 1.5-0. 6 Greece 131957 6300 3.3 80.05 4.3 0.06 17.4 Hungary 9308 19600 3.9 75.0 1.75-0.18 10.9 Iceland 103000 38100 4 81 0 0.67 7.4 Ireland 7073 40800.6 80.3 0.9 1.11 14.4 Italy 301340 30500.9 81.86 1.8 0.38 8.4 Latvia 64589 16800 4.4 7.93 1.1-0.6 1.8 Lithuania 65300 19100 4.1 75.55 0.9-0.8 15.4 Luxembourg 586 80600 3.4 79.75 0.9 1.14 5.7 Netherlands 41543 4000.3 80.91 1.6 0.45 4.4 Norway 3380 53400 1.3 80.3 1.9 0.33 3.3 Poland 31685 000 4. 76.5 1.9-0.08 1.4 Portugal 9090 3400 3.7 78.7.3 0.18 1.7 Slovakia 49035 3300 3.9 76.03 1.08 0.1 13. Slovenia 073 8800 1.8 77.48 1.7-0.19 11.8 Spain 505370 30500 3.1 81.7 1. 0.65 1.7 Sweden 45095 40700 3 81.18 1.5 0.17 7.5 Switzerland 4177 44500 0. 81.17 1 0.9.8 Ukraine 603550 700 8 68.74 1.4-0.63 7.9 United Kingdom 43610 36500 4.5 80.17.7 0.55 8.1 15
GRUPOWANIE HIERARCHICZNE PRZYKŁAD Wyznacz dendrogram grupuący państwa według ww. wskaźników. Przed utworzeniem dendrogramu wskaźniki (atrybuty) poddano standaryzaci. 3 1 0-1 - -3 Ukraine Greece Spain Poland Portugal Hungary Slovakia Lithuania Latvia Estonia Bulgaria Croatia Slovenia Czech Rep. Denmark Belgium Austria Netherlands Norway Germany Sweden Finland Italy United King. Ireland Iceland Switzerland Luxembourg PKB Wzrost populci Dług. życia Powierzchnia Inflaca Bezrobocie Uzbroenie 16
ALGORYTMY GRUPOWANIA OPARTE NA GĘSTOŚCIACH Główne cechy: bazuą na wyszukiwaniu punktów gęsto ułożonych (regiony pokrywaące grupy maą wyższą gęstość niż regiony na zewnątrz grup) tworzą grupy o dowolnych kształtach wyłapuą szum i punkty oddalone ednokrotnie przeglądaą zbór danych 17
ALGORYTMY GRUPOWANIA OPARTE NA GĘSTOŚCIACH Podstawowe poęcia: ε promień definiuący otoczenie punktu ε-otoczenie punktu p N ε (p): {q D d(p,q) ε}, gdzie d(p,q) est odległością pomiędzy p i q MinPts minimalna liczba punktów w ε-otoczeniu Rdzeń obiekt, który ma co namnie MinPts punktów w swoim ε-otoczeniu Punkt brzegowy punkt, który ma mnie niż MinPts punktów w swoim ε-otoczeniu. Punkty niepołączone z żadnym skupiskiem to tzw. punkty oddalone (outliers) Punkt p est bezpośrednio wyprowadzalny z punktu q, eśli: p N ε (q) N ε (q) MinPts 18
ALGORYTMY GRUPOWANIA OPARTE NA GĘSTOŚCIACH Punkt p est wyprowadzalny z punktu q, eśli istniee ciąg punktów r 1,, r n taki, że r 1 = q, r n = p i r i+1 est bezpośrednio osiągalny z r i Punkt p i q są połączone, eśli istniee punkt o taki, że p i q są wyprowadzalne z o Grupa maksymalny zbiór punktów połączonych 19
ALGORYTMY GRUPOWANIA OPARTE NA GĘSTOŚCIACH Przykład algorytmu opartego na gęstości: 1. Wybierz dowolny punkt p. Wyszukiwać zbiór G wszystkich punktów osiągalnych z punktu p dla ustalonych ε i MinPts 3. Jeśli p est rdzeniem, zwróć G (tworzymy grupę) 4. Jeśli p est punktem brzegowym, to sprawdź następny nieodwiedzony punkt 5. Jeśli p est punktem oddalonym, to zaznaczamy go ako takiego 6. Kontynuu, aż wszystkie punkty zostaną odwiedzone 0