Wrocław University of Technology SPOTKANIE 6: Klasteryzacja: K-Means, Expectation Maximization Jakub M. Tomczak Studenckie Koło Naukowe Estymator jakub.tomczak@pwr.wroc.pl 4.1.213
Klasteryzacja Zmienne wejściowe x R D. Nie dysponujemy etykietami, tj. nie posiadamy zmiennej wyjściowej. Problem: podzielić ciąg obserwacji D = {x 1,..., x N } na K grup. Obserwacje z danej grupy charakteryzują się podobieństwem. Inne nazwy: grupowanie, analiza skupień. 2/17
Sformułowanie problemu Intuicja: klaster możemy postrzegać jako grupę punktów, których odległość wewnątrz grupy jest niska (podobieństwo jest duże) w porównaniu do odległości do punktów z innych grup, która jest wysoka. Formalizując tę intuicję, wprowadźmy dodatkowe punkty µ k R D, k = 1,..., K, które są prototypami lub inaczej centrami klastrów. Dla każdej obserwacji x n wprowadźmy binarną zmienną r nk, która określa przynależność punktu do k-tego klastra, r nk = 1, jeśli x n należy do k-tego klastra oraz r nj = dla j k. Naszym celem jest więc znalezienie centrów klastrów oraz przyporządkowanie obserwacji do klastrów tak, aby minimalizować sumę kwadratów odległości punktów do najbliższego centra. Naszą funkcją celu jest więc tzw. miara rozproszenia (ang. distortion measure): J(r, µ) = N n=1 k=1 K r nk x n µ k 2. 3/17
Metoda K-Means: Procedura Zauważmy, że funkcja celu J(r, µ) jest niewypukła (ze względu na zmienne binarne) oraz posiada wiele minimów lokalnych. Możemy zaproponować następującą procedurę iteracyjną:. Inicjalizacja µ k. (E) 1. Dla ustalonych µ k minimalizuj J względem r nk. (M) 2. Dla ustalonych r nk minimalizuj J względem µ k. 3. Jeśli nie jest spełniony warunek stopu, to idź do 1. Rozważmy krok 1. Funkcja J jest liniowa względem r nk oraz jest niezależna od n, więc: { 1 jeśli k = arg minj x r nk = n µ j 2 w p.p. Rozważmy krok 2. Funkcja J jest kwadratowa względem µ k, więc licząc pochodną: n µ k = r nkx n n r. nk 4/17
Metoda K-Means: Przykład 2 (a) 2 (b) 2 (c) 2 2 2 2 (d) 2 (e) 2 (f) 2 2 2 2 (g) 2 (h) 2 (i) 2 2 2 5/17
Metoda K-Means: Uwagi Ponieważ mamy do czynienia z niewypukłą funkcją celu, dlatego bardzo istotna jest inicjalizacja centrów. Istotne jest wybranie odpowiedniego K. W celu porównania rozwiązań dla różnych wartości K stosuje się dodatkowe kryteria, np. AIC, BIC, MDL. Rozpatrywaliśmy funkcję celu z metryką euklidesową, którą można uogólnić na dowolną metrykę ρ(, ): J(r, µ) = N n=1 k=1 K r nk ρ(x n, µ k ). Algorytm dla tak zmodyfikowanej funkcji celu nazywa się metodą K-medoids. 6/17
Mieszanina rozkładów Gaussa Rozkład zbudowany z sumy K rozkładów normalnych nazywamy mieszaniną rozkładów Gaussa (ang. mixture of Gaussians). Gęstość tego rozkładu jest postaci: p(x) = K π k N (x µ k, Σ k ), k=1 gdzie spełniony jest warunek k π k = 1. Parametrami modelu są parametry mieszające π k oraz parametry poszczególnych komponentów µ k i Σ k. Rozkład ten w ogólności jest rozkładem wielomodalnym (ang. multimodal), tj. gęstość posiada wiele maksimów lokalnych. 7/17
Zmienna ukryta Zakładamy, że każdej obserwacji x odbowiada zmienna nieobserwowana z, zwana zmienną ukrytą (ang. latent variable, hidden variable). Zmienna z jest K-wymiarowym wektorem zero-jedynkowym, określającym z którego komponentu pochodzi obserwacja x. Przykładowo: K = 3. Wtedy gdy z 1 = (, 1, ), to x 1 N (x µ 2, Σ 2 ). Gdy z 2 = (,, 1), to x 2 N (x µ 3, Σ 3 ), itd. Zmienna z ma rozkład wielopunktowy: p(z) = K k=1 π z k k Wprowadzamy również rozkład warunkowy p(x z): K p(x z) = N (x µ k, Σ k ) z k k=1 8/17
Mieszanina rozkładów Gaussa i zmienna ukryta Korzytając z reguły brzegowej dla p(x, z) = p(x z)p(z) otrzymujemy mieszaninę rozkładów Gaussa: p(x) = z K p(x z)p(z) = π k N (x µ k, Σ k ). k=1 Korzystając ze wzoru Bayesa możemy wyznaczyć prawdopodobieństwo a posteriori p(z k = 1 x): γ(z k ) = p(z k = 1 x) = = p(z k = 1)p(x z k = 1) K j=1 p(z j = 1)p(x z j = 1) π k N (x µ k, Σ k ) K j=1 π jn (x µ j, Σ j ) Wartość γ(z k ) nazywamy odpowiedzialnością (ang. responsibility) za to, że obserwacja x została wygenerowana z komponentu N (x µ k, Σ k ). 9/17
Uczenie. Funkcja wiarygodności Załóżmy, że dysponujemy ciągiem obserwacji {x 1,..., x N } zebranym w macierz X o wymiarach N D. Załóżmy dodatkowo, że obserwacjom odpowiadają nieobserwowane zmienne ukryte {z 1,..., z N } zebrane w macierz Z o wymiarach N K. Funkcja wiarygodności ma postać: { N K } p(x π, µ, Σ) = π k N (x n µ k, Σ k ). n=1 Nie istnieją analityczne estymatory parametrów {π, µ, Σ} uzyskane poprzez przyrównanie pochodnej do zera ze zlogarytmowanej funkcji wiarygodności. Dodatkowym problemem jest brak jednoznacznego rozwiązania. Dokładnie dla K komponentów, mamy K! możliwości wyznaczenia parametrów, które dają ten sam rozkład. Jest to tzw. problem nieidentyfikowalności (ang. non-identifiability). k=1 1/17
Funkcja wiarygodności i zmienne ukryte Załóżmy chwilowo, że zmienne ukryte z są również obserwowane, wtedy funkcja wiarygodności ma postać: p(x, Z π, µ, Σ) = N K n=1 k=1 π z nk k N (x n µ k, Σ k ) z nk. Zlogarytmowana funkcja wiarygodności ma wtedy postać: ln p(x, Z π, µ, Σ) = N n=1 k=1 K z nk {ln π k + ln N (x n µ k, Σ k )}. Zmiennych z nk pozbywamy się licząc wartość oczekiwaną względem rozkładu a posteriori p(z X): E Z [ln p(x, Z π, µ, Σ)] = = N n=1 k=1 N n=1 k=1 K E Z [z nk ]{ln π k + ln N (x n µ k, Σ k )} K γ(z nk ){ln π k + ln N (x n µ k, Σ k )} 11/17
Funkcja wiarygodności. Esytmatory parametrów Różniczkując E Z [ln p(x, Z π, µ, Σ)] odpowiednio po parametrach i przyrównując do zera otrzymujemy analityczne estymatory: µ new k = 1 N k Σ new k = 1 N k π new k = N k N, N γ(z nk )x n n=1 N n=1 γ(z nk )(x n µ new k )(x n µ new k ) T gdzie stałą N k wyznaczamy N k = N n=1 γ(z nk). Zauważmy, że nowe parametry θ new = {π new, µ new, Σ new } zależą od poprzednich wartości parametrów θ old ze względu na γ(z nk ). Prowadzi to do iteracyjnej procedury szukania estymatora największej wiarygodności: Expectation-Maximization (EM). 12/17
Algorytm Expectation-Maximization Wprowadźmy następujące oznaczenie: Q(θ, θ old ) = E Z [ln p(x, Z θ)] = Z p(z X, θ old ) ln p(x, Z θ) Algorytm Expectation-Maximization:. Wybierz początkowe wartości θ old. (E) 1. Wyznacz wartość oczekiwaną względem zmiennych ukrytych Q(θ, θ old ). (M) 2. Wyznacz nowe estymatory: θ new = arg max Q(θ, θ old ). θ 3. Sprawdź zbieżność wartości parametrów lub/i wartości funkcji wiarygodności. Jeśli nie została osiągnięta, to podstaw θ old θ new i wróć do 1. 13/17
Algorytm Expectation-Maximization dla mieszaniny rozkładów Gaussa: Przykład 2 2 2 L = 1 (a) 2 (b) 2 (c) 2 2 L = 2 2 L = 5 2 L = 2 (d) 2 (e) 2 (f) 2 14/17
Algorytm Expectation-Maximization: Uwagi Wynik działania algorytmu EM, jest silnie uzależniony od wyboru początkowych wartości parametrów. W praktyce często inicjalizuje się go poprzez zastosowanie algorytmu k-means. Algorytm EM może być interpretowany jako naprzemienne wyznaczanie dolnego ograniczenia (ang. lower bound) dla zlogarytmowanej funkcji wiarygodności i maksymalizowanie tego ograniczenia względem parametrów. 15/17
Algorytm Expectation-Maximization a K-Means Zauważmy, że algorytm K-Means dostarcza jednoznacznych przyporządkowań do klastrów, natomiast mieszanina rozkładów Gaussa miękkich przyporządkowań. Weźmy mieszaninę rozkładów Gaussa o macierzach kowariancji ɛi, gdzie ɛ jest wariancją taką samą dla wszystkich komponentów, 1 { N (x µ k, ɛi) = (2πɛ) exp 1 D/2 2ɛ x µ k 2}. Wówczas odpowiedzialności przyjmują postać: γ(z nk ) = i gdy ɛ, to γ znk r nk. π k exp{ x µ k 2 /2ɛ} j π j exp{ x µ j 2 /2ɛ} Podobnie, dla ɛ wartość oczekiwana logarytmu funkcji wiarygodności: E Z [ln p(x, Z µ, ɛi, π)] 1 N K r nk x n µ 2 k 2 +const. n=1 k=1 } {{ } J(r,µ) 16/17
Inne metody klasteryzacji Klasteryzacja hierarchiczna (ang. hierarchical clustering): budowanie hierarchii klastrów; techniki aglomeracyjne (ang. agglomerative) kolejne łączenie klastrów; techniki dzielące (ang. divisive) kolejne dzielenie klastrów. Klasteryzacja spektralna (ang. spectral clustering): zastosowanie teorii spektralnej grafów; macierz sąsiedztwa macierz podobieństwa obiektów. 17/17