Uczenie nienadzorowane Nadzorowane, klasyfikacja: Nienadzorowane, analiza skupień (clustering): Zbiór uczacy: { (x 1 1,x1 2 ),c1, (x 2 1,x2 2 ),c2,... (x N 1,xN 2 ),cn } Zbiór uczacy: { (x 1 1,x1 2 ), (x2 1,x2 2 ),... (xn 1,xN 2 ) } Uczenie nienadzorowane 1
Uczenie nienadzorowane 2
Algorytm k-means Bardzo prosta, popularna i skuteczna metod e analizy skupień oferuje algorytm k-means. Oparty jest na porównywaniu odleg lości i wyznaczaniu skupień reprezentowanych przez ich środki geometryczne centroidy, minimalizujacych pewna funkcj e jakości. Algorytm zak lada, że liczba skupień K, które należy wygenerować jest znana. Algorytm wykonuje powtarzalnie dwa kroki: krok etykietowania i krok przesuni ecia centroidów. Algorytm k-means: Krok 0 (inicjalizacja): ustaw wartości poczatkowe wszystkich K centroidów REPEAT { Krok 1 (etykietowanie): oznacz wszystkie próbki etykieta najbliższego centroidu Krok 2 (przesuni ecie centroidów): przesuń wszystkie centroidy do geometrycznego środka ich skupień } Uczenie nienadzorowane algorytm k-means 3
Algorytm k-means przyk lad Uczenie nienadzorowane algorytm k-means 4
Krok 0 (inicjalizacja) Krok 1 (etykietowanie) Krok 2 (przesuni ecie centroidów) Krok 1 (etykietowanie) Uczenie nienadzorowane algorytm k-means 5
Krok 1 (etykietowanie) Krok 2 (przesuni ecie centroidów) Krok 1 (etykietowanie) Krok 2 (przesuni ecie centroidów) Uczenie nienadzorowane algorytm k-means 6
Algorytm k-means kryterium jakości Algorytm k-means usi luje znaleźć minimum pewnej funkcji kosztu, która jest miara jakości wygenerowanego zbioru skupień. Ta funkcja kosztu jest ważona suma odleg lości wszystkich punktów od centroidów ich skupień. Można zauważyć, że pierwszy krok algorytmu (etykietowanie) dokonuje optymalizacji tej funkcji kosztu ze wzgl edu na sk ladowe odleg lości, przy zachowaniu aktualnych centroidów. Drugi krok algorytmu (przesuni ecie centroidów) dokonuje optymalizacji tej samej funkcji ze wzgl edu na po lożenie centroidów, przy zachowaniu aktualnych zbiorów punktów wszystkich skupień. Uczenie nienadzorowane algorytm k-means 7
Algorytm k-means przyk lad z Wikipedii https://upload.wikimedia.org/wikipedia/commons/e/ea/k-means_convergence.gif Jak widać na powyższym przyk ladzie, nie zawsze algorytm k-means generuje tak intuicyjnie poprawne wyniki, jak na wcześniejszych przyk ladach. Istnieje szereg okoliczności specjalnych, które należy/warto uwzgl ednić, aby otrzymać optymalne wyniki. Ogólnie: ze wzgl edu na możliwa rozbieżność wielkości, podobnie jak w przypadku innych metod opartych na obliczaniu odleg lości, poszczególne wspó lrz edne należy skalować do obliczania odleg lości w przestrzeni cech. Wspó lczynnikiem skalowania może być wariancja wartości danej wspó lrz ednej na zbiorze treningowym. Uczenie nienadzorowane algorytm k-means 8
Przypadek specjalny k-means centroid ze zbiorem pustym Co robić, gdy w trakcie pracy algorytmu powstanie centroid z pustym zbiorem punktów? Metoda 1: pominać ten centroid w dalszym ciagu. Jednak jest możliwe, że liczba skupień jest narzucona, i chcemy ja utrzymywać. Wtedy: Metoda 2: ponownie zainicjalizować po lożenie tego centroidu, i kontynuować. Uczenie nienadzorowane algorytm k-means 9
Przypadek specjalny k-means brak separacji skupień Nie zawsze zbiór próbek uk lada si e w zdecydowanie odseparowane skupienia. Możemy chcieć mimo wszystko pogrupować dane. Np. producent koszulek T-shirt zrobi l badania antropometryczne aby zaprojektować dobrze dopasowane koszulki w kilku rozmiarach (np.: S,M,L): Algorytm nadal dzia la poprawnie, znajdujac zadana liczb e skupień w oparciu o odleg lości: Uczenie nienadzorowane algorytm k-means 10
Algorytm k-means inicjalizacja W najprostszym przypadku inicjalizacja może być przypadkowa, np. dowolne K próbek zbioru treningowego. Jednak nie zawsze daje to dobre wyniki. W przypadku jak powyżej po lewej można uzyskać pożadane rozwiazanie (powyżej po prawej). Jednak niefortunna inicjalizacja może wygenerować rozwiazania jak poniżej. Uczenie nienadzorowane algorytm k-means 11
Algorytm k-means inicjalizacja (cd.) Jak zapobiec niefortunnej inicjalizacji, która może prowadzić do wygenerowania nieoptymalnych skupień, osiagaj acych lokalne maksimum funkcji kosztu? Podobnie jak w metodzie wyżarzania, można porzucić wygenerowane centroidy, i wybrać je ponownie losowo. Jednak aby porównać miar e jakości (funkcj e kosztu, czyli ważona sum e odleg lości wszystkich punktów od centroidów ich skupień), należy doprowadzić algorytm w obu przypadkach do końca. W praktyce oznacza to wielokrotne (100?, 1000 razy?) powtórzenie algorytmu k-means dla losowo wybranych punktów startowych, i wybraniu globalnie najlepszego rozwiazania. Uczenie nienadzorowane algorytm k-means 12
Algorytm k-means określenie liczby skupień Wymagana przez algorytm liczba skupień K nie zawsze jest z góry znana, i czasami trzeba ja określić eksperymentalnie. Metoda punktu lokcia (elbow point): Uczenie nienadzorowane algorytm k-means 13
Metoda punktu lokcia nie zawsze si e sprawdza. Cz esto krzywa nie wykazuje charakterystycznego punktu za lamania, i po prostu asymptotycznie maleje wraz ze wzrostem liczby skupień. Niestety, w tym przypadku nie możemy próbować optymalizacji kryterium jakości, czyli ważonej sumy odleg lości wszystkich punktów od ich centroidów. Albowiem ta suma osiaga zero dla liczby skupień równej liczbie próbek K = N. W takim przypadku można odwo lać si e do specyfiki problemu, z którego pochodza próbki. Należy dokonać subiektywnej oceny, jaka liczba skupień b edzie odpowiednia dla tej dziedziny problemowej. Uczenie nienadzorowane algorytm k-means 14
Algorytm k-means problemy specjalne Algorytm k-means dobrze dzia la w wielu przypadkach praktycznych, jednak sa przypadki, gdzie definitywnie nie radzi sobie. Takimi przypadkami sa skupienia różniace si e wielkościa, a także skupienia różniace si e g estości a próbek w zbiorze treningowym. Uczenie nienadzorowane algorytm k-means 15
Algorytm k-means problemy specjalne (2) Problem z wkl es lymi skupieniami można rozwiazać pośrednio, zwi ekszaj ac liczb e skupień. Uczenie nienadzorowane algorytm k-means 16
Algorytm k-means podsumowanie Algorytm k-means jest prostym i skutecznym algorytmem analizy skupień. Jego z lożoność obliczeniowa wynosi O(tKN) gdzie K,N sa odpowiednio liczba skupień i próbek, natomiast t jest liczba iteracji algorytmu. Zwykle K,t N. Jednak posiada kilka istotnych problemów, które utrudniaja, lub uniemożliwiaja jego zastosowanie: wymaga wyznaczenia liczby skupień K, wrażliwy na inicjalizacj e centroidów, może zbiegać si e do maksimów nielokalnych, ma zastosowanie do danych liczbowych (obliczanie średnich i odleg lości), problemy z danymi kategorycznymi, problemy ze skupieniami o niewypuk lych kszta ltach, problemy ze skupieniami różniacymi si e wielkościami, problemy ze skupieniami różniacymi si e g estościami. Uczenie nienadzorowane algorytm k-means 17
Uczenie nienadzorowane algorytm k-means 18
Hierarchiczna analiza skupień Uczenie nienadzorowane hierarchiczna analiza skupień 19
Uczenie nienadzorowane hierarchiczna analiza skupień 20
Algorytm EM Expectation Maximization Można zastosować podejście podobne do algorytmu k-means na gruncie probabilistycznym. Zak ladajac, że punkty zbioru treningowego należa do K skupień z pewnym losowym rozk ladem prawdopodobieństwa, naturalnie jest przyjać, że te skupienia wynikaja z normalnych rozk ladów prawdopodobieństw, tzw. mieszaniny rozk ladów normalnych albo gausowskich (mixture of Gaussians). Algorytm EM (Expectation Maximization) uczy si e parametrów takiej mieszaniny rozk ladów. Rysunek po lewej przedstawia mieszanin e trzech symulowanych rozk ladów normalnych. Środkowy rysunek przedstawia zbiór punktów wygenerowanych dla tego rozk ladu. Rysunek po prawej przedstawia mieszanin e rozk ladów wyuczona przez algorytm EM. Uczenie nienadzorowane algorytm EM 21
Algorytm EM Expectation Maximization (cd.) Zak ladajac, że zmienna C oznacza sk ladowa mieszaniny z wartościa 1,...,K, rozk lad prawdopodobieństwa mieszaniny dany jest wzorem: P(x) = K P(C = i)p(x C = i) i=1 gdzie x jest wektorem atrybutów próbki. Parametrami rozk ladu sa: w i = P(C = i) (waga sk ladowej i), µ i (średnia sk ladowej i), i i (kowariancja sk ladowej i). Idea algorytmu polega na tym, że poczatkowo zak ladamy pewne wartości parametrów powyższego rozk ladu. W każdym cyklu algorytmu, dla każdego punktu obliczane sa prawdopodobieństwa, że należy on do poszczególnych sk ladowych. Nast epnie, przeliczane sa parametry wszystkich sk ladowych na podstawie wszystkich punktów, z wagami b ed acymi prawdopodobieństwami przynależności danego punktu do danej sk ladowej. Te dwa kroki powtarzane sa aż do uzyskania zbieżności algorytmu, podobnie jak w metodzie k-means. Uczenie nienadzorowane algorytm EM 22
Algorytm EM: Algorytm EM Expectation Maximization (cd.) Inicjalizacja: ustaw wartości poczatkowe parametrów wszystkich sk ladowych REPEAT { Krok E: Oblicz prawdopodobieństwa p ij = P(C = i x j ), że próbka x j należy do sk ladowej i. Na mocy regu ly Bayesa mamy: p ij = αp(x j C = i)p(c = i). Określamy n i = j p ij, czyli efektywna liczb e punktów aktualnie przypisanych do sk ladowej i. Krok M: Oblicz nowe średnie, kowariancje, i wagi sk ladowych za pomoca nast epuj acych wzorów: µ i j p ij x j /n i Σ i j p ij (x j µ i )(x j µ i ) /n i } w i n i /N Uczenie nienadzorowane algorytm EM 23
Algorytm EM Expectation Maximization (cd.) Algorytm EM nie jest wolny od pewnych problemów. Możliwy jest przypadek, kiedy jedna ze sk ladowych zredukuje si e do pojedynczego punktu, z zerowa wariancja i prawdopodobieństwem równym 1. Innym problemem jest na lożenie si e dwóch sk ladowych, które nast epnie wspó ldziela ten sam zbiór punktów. Takie zjawiska prowadza do zbiegni ecia si e algorytmu w lokalnym maksimum. Jest to poważny problem, zw laszcza w wielowymiarowych przestrzeniach. Rozwiazaniem może być reinicjalizacja sk ladowej z nowymi parametrami, podobnie jak w przypadku algorytmu k-means. Uczenie nienadzorowane algorytm EM 24
Algorytm PCA (Principal Component Analysis) Algorytm PCA znajduje M-wymiarowe przybliżenie zbioru danych {x n : n = 1,...,N} o wymiarze oryginalnym dim(x n ) = D (M < D): 1. Wyznacz wektor średnich m zbioru próbek o rozmiarze D 1 i macierz kowariancji S o rozmiarze D D: m = 1 N x n, S = 1 N (x n m)(x n m) T. N N 1 n=1 2. Wyznacz wektory w lasne e 1,...,e D macierzy kowariancji S posortowane wed lug malejacych wartości w lasnych wektorów w lasnych. Utwórz macierz E = [e 1,...e M ]. 3. Niskowymiarowa reprezentacja y n, oraz przybliżona rekonstrukcja każdej z próbek x n sa dane przez: y n = E T (x n m), x n m+ey n. n=1 4. Ca lkowity b lad kwadratowy przybliżenia dla zbioru treningowego wynosi: N D (x n y n ) = (N 1) n=1 j=m+1 gdzie λ M+1,...,λ N sa pomini etymi wartościami w lasnymi. λ j Uczenie nienadzorowane Principal Component Analysis 25
Uczenie nienadzorowane Principal Component Analysis 26
Materia ly W tej prezentacji wykorzystane zosta ly materia ly z nast epuj acych prac: 1. Andrew Ng: Unsupervised learning, Coursera video lecture 2. Stuart J. Russell, Peter Norvig: Artificial Intelligence A Modern Approach (Third Edition), Prentice-Hall, 2010 3. Kevin P. Murphy: Machine Learning A Probabilistic Perspective, MIT Press, 2012 Uczenie nienadzorowane materia ly 27
Uczenie nienadzorowane materia ly 28