Wrocław University of Technology SPOTKANIE 4: Klasyfikacja: Regresja logistyczna Szymon Zaręba Studenckie Koło Naukowe Estymator 179226@student.pwr.wroc.pl 23.11.2012
Rozkład dwupunktowy i dwumianowy Rozkład dwupunktowy (ang. Bernoulli distribution) na zmiennej binarnej x {0, 1}, Bern(x µ) = µ x (1 µ) 1 x. Wartość oczekiwana i wariancja: E[x] = µ, var[x] = µ(1 µ). Rozkład dwumianowy (ang. Binomial distribution) na m obserwacji x = 1 w próbie o rozmiarze N, ( ) N Bin(m N, µ) = µ m (1 µ) N m. m Wartość oczekiwana i wariancja: E[x] = Nµ, var[x] = Nµ(1 µ). 0.3 0.2 0.1 0 0 1 2 3 4 5 6 7 8 9 10 m 2/20
Rozkład beta Rozkład beta (ang. Beta distribution) na zmiennej ciągłej µ [0, 1] (Γ( ) funkcja gamma, a, b > 0) 3 2 a = 0.1 b = 0.1 Beta(µ a, b) = Wartość oczekiwana i wariancja: Γ(a + b) Γ(a)Γ(b) µa 1 (1 µ) b 1. E[x] = a a + b, ab var[x] = (a + b) 2 (a + b + 1). Jeżeli p(θ D) należy do tej samej rodziny rozkładów co p(θ), to mówimy, że rozkłady te są sprzężone, a rozkład a priori jest sprzężonym priorem z funkcją wiarygodności. 1 0 0 0.5 µ 1 3 a = 1 b = 1 2 1 0 0 0.5 µ 1 3 a = 2 b = 3 2 1 0 0 0.5 µ 1 3 a = 8 b = 4 2 Beta(µ a+m, b+n m) n Bern(x n µ) Beta(µ a, b). 1 0 0 0.5 µ 1 3/20
Rozkład wielopunktowy i wielomianowy Rozkład wielopunktowy (ang. categorical distribution) na zmiennej dyskretnej przyjmującej K wartości, x k {0, 1}, k x k = 1, 0 µ 1, k µ k = 1. Cat(x µ) = K k=1 µ x k k, Wartość oczekiwana i wariancja dla x k analogicznie jak dla rozkładu dwupunktowego. Rozkład wielomianowy (ang. Multinomial distribution) na m k obserwacji x k = 1 w próbie o rozmiarze N, ( ) N K Multi(m N, µ) = m 1 m 2... m K k=1 µ m k k. Wartość oczekiwana i wariancja dla m k analogicznie jak dla rozkładu dwumianowego. 4/20
Rozkład Dirichleta Rozkład Dirichleta (ang. Dirichlet distribution) na K zmiennych ciągłych µ k [0, 1], k µ k = 1 µ2 Dir(µ α) = Γ( k α k) Γ(α 1 ) Γ(α k ) K k=1 µ α k 1 k. Wartość oczekiwana, wariancja i kowariancja: E[µ k ] = α k k α, k var[µ k ] = α k( k α k α k ) ( k α k) 2 ( k α k + 1), µ3 µ1 Rozkład Dirichleta jest sprzężony z rozkładem wielopunktowym, Dir(µ α + m) n Cat(x n µ) Dir(µ α). 5/20
Problem klasyfikacji Zmienne wejściowe, atrybuty (ang. input variables, attributes): x X, X = R D lub X = {0, 1} D. Zmienna wyjściowa, klasa, etykieta (ang. target variable, class label): y {1,..., K}. Gdy K = 2, to mówimy o klasyfikacji binarnej (ang. binary classification) lub uczeniu konceptu (ang. concept learning). Czasami wygodniej jest użyć y { 1, 1}. Problem: dla zadanego ciągu uczącego D = {(x n, y n )} N n=1 przewidzieć wartość klasy (etykietę) y dla nowego obiektu x. Zgodnie z teorią decyzji pokazaliśmy, że wystarczy znać rozkład warunkowy p(y x), zatem chcemy go modelować. 6/20
Klasyfikator jako model p(y x) Klasyfikator przyporządkowuje obiekt do klasy z użyciem następującej reguły: liniowa y = arg max p(y x). y Ogólnie można wyszczególnić dwie fazy: 1) Uczenie (estymacja) rozkładów p(y x). 2) Podejmowanie decyzji na podst. p(y x). Uczenie może być przeprowadzone w różny sposób: podejście generujące modelowanie zarówno p(x y), jak i p(y); podejście dyskryminujące bezpośrednia parametryzacja p(y x); podejście z funkcją dyskryminującą zastosowanie funkcji aktywacji f do kombinacji liniowej w T φ(x): sigmoidalna tangens hiperboliczny signum y = f(w T φ(x)). 7/20
Podejście generujące: Wstęp Modelujemy osobno p(x y) i p(y): p(x y) = N (x µy, Σ y) rozkład normalny na obserwacje w klasach {0, 1}; p(y) = Bern(y θ) rozkład dwupunktowy na klasy; Zastosowanie metody maksymalnej wiarygodności prowadzi do uzyskania analitycznego rozwiązania. Można użyć innych rozkładów p(x y). Przykładowo dla dyskretnych danych używamy rozkładu wielopunktowego. W szczególności, jeśli założymy niezależność wymiarów dla ustalonej klasy, tj. p(x y) = d p(x d y), to mówimy o Naiwnych klasyfikatorach bayesowskich (ang. Naive Bayes). 8/20
Podejście generujące: Sigmoidalna funkcja logistyczna Z wzoru Bayesa wyliczamy rozkład a posteriori na klasę: p(x y = 1) p(y = 1) p(y = 1 x) = p(x y = 1) p(y = 1) + p(x y = 0) p(y = 0) 1 = 1 + exp(a) = σ(a) gdzie σ(a) sigmoidalna funkcja logistyczna, a = ln p(x y = 1) p(y = 1) p(x y = 0) p(y = 0). Sigmoidala funkcja logistyczna posiada ciekawe własności: σ( a) = 1 σ(a), dσ(a) da = σ(a)(1 σ(a)). 9/20
Podejście dyskryminujące: Regresja logistyczna Alternatywnie, można bezpośrednio modelować zależność p(y x) poprzez parametryzację argumentu logistycznej funkcji sigmoidalnej: p(y = 1 x, w) = σ(w T φ(x)). Powyższy model nazywamy modelem regresji logistycznej (ang. logistic regression). Zauważmy, że w podejściu dyskryminującym mamy do czynienia z M parametrami, zaś w przypadku generującym (dla rozkładów normalnych) mamy 2M parametrów dla średnich, M(M + 1)/2 dla wspólnej macierzy kowariancji oraz 1 parametr dla klasy, czyli łącznie M(M + 5)/2 + 1. Otrzymujemy liczbę parametrów O(M) do O(M 2 ) na korzyść podejścia dyskryminującego. 10/20
Regresja logistyczna: Funkcja wiarygodności W celu wyznaczenia parametrów w regresji logistycznej skorzystamy z metody maksymalnej wiarygodności. W przypadku klasyfikacji binarnej, dla obserwacji D = {(x n, y n )} N n=1 funkcja wiarygodności (σ n σ(w T φ(x n ))): p(y w) = N n=1 Biorąc negatywny logarytm otrzymujemy: ln p(d w) = σ yn n (1 σ n ) 1 yn. N ( yn ln σ n + (1 y n ) ln(1 σ n ) ). n=1 Postać σ n zależnej od parametrów w nie pozwala na analityczne rozwiązanie poprzez przyrównanie gradientu do zera. 11/20
Estymacja ML: Algorytm gradientu prostego Algorytm gradientu prostego: Initialize w repeat w w α E(w) until convergence Funkcja celu E(w) = N {y n ln σ n + (1 y n ) ln(1 σ n )} n=1 Gradient N E(w) = (σ n y n )φ(x n ) n=1 W powyższych wzorach σ n = σ ( w T φ(x n ) ). Ponadto funkcja celu jest wypukła, więc problem ma dokładnie jedno minimum. 12/20
Estymacja ML: Algorytm Newtona Algorytm Newtona: Initialize w repeat w w H 1 E(w) until convergence Gradient w postaci macierzowej: E(w) = Φ T (σ y) Hesjan: H = 2 E(w) = Φ T RΦ Macierz R jest diagonalna o elementach R nn = σ n (1 σ n ), więc jej wyliczenie zależy od bieżącej wartości w. Podobnie jak wyliczenie wektora σ. Z tego powodu algorytm ten znany jest także jako algorytm IRLS (ang. Iterated Reweighted Least Squares). 13/20
Estymacja MAP Wprowadzamy następujący rozkład normalny jako rozkład a priori na parametry: p(w) = N (w 0, α 1 I) Korzystając ze wzoru Bayesa p(w y) p(y w)p(w) wyznaczamy rozkład a posteriori. Po zlogarytmowaniu otrzymujemy następującą funkcję celu: ln p(w y) = N {y n ln σ n + (1 y n ) ln(1 σ n )} n=1 } {{ } E(w) α 2 wt w }{{} regularyzacja Nie jest możliwe wyznaczenie analitycznego rozwiązania w MAP i musimy korzystać z jednego z numerycznych algorytmów optymalizacji. Funkcja celu jest wklęsła, więc algorytmy numeryczne zbiegają do globalnego ekstremum. +const 14/20
Uczenie Bayesowskie Uczenie Bayesowskie wymaga wyznaczenia rozkładu predykcyjnego: p(y = 1 x, y) = p(y = 1 x, w)p(w y)dw Ze względu na fakt, że p(y = 1 x, w) = σ ( w T φ(x) ) powyższa całka nie ma rozwiązania analitycznego. Całkę można aproksymować stosując jedną z następujących technik uczenia maszynowego: 1. Aproksymacja Laplace a 2. Metody wariacyjne (ang. variational methods) 3. Expectation Propagation (EP) 4. Metody próbkujące (ang. sampling methods) 15/20
Klasyfikacja z wieloma klasami Istnieje naturalne rozszerzenie regresji logistycznej na przypadek z wieloma klasami, gdzie y {1,..., K}. Model zadany jest wtedy poprzez funkcję softmax będącą uogólnieniem funkcji sigmoidalnej: p(y = k x, W) = exp(a k) j exp(a j), gdzie mamy odpowiednie aktywacje dla klas a k = wk T φ(x) oraz macierz parametrów W = [w 1,..., w K ]. Analogicznie jak w przypadku z dwoma klasami możemy skonstruować funkcję wiarygodności p(y W), gdzie macierz Y stosuje zero-jedynkowe kodowanie klas. Model uczymy stosując jeden z zaproponowanych numerycznych algorytmów optymalizacji i wyznaczamy odpowiednio W ML lub W MAP. 16/20
Sieci neuronowe: Wprowadzenie W przypadku wysokowymiarowych zbiorów danych lub gdy płaszczyzna dyskryminująca klasy jest silnie nieliniowa zazwyczaj ciężko jest wybrać sensowny zestaw funkcji bazowych φ 1,..., φ M dla modelu regresji logistycznej: y(x, w) = σ ( w T φ(x) ) Dopasowywanie typowych modeli (np. wielomianów) jest natomiast niemożliwe ze względu na przekleństwo wymiarowości. Pojawia się pomysł, aby funkcje bazowe również sparametryzować parametrami w m i dopasowywać do danych, tj. φ m (x, w m ). Zakładamy, że każda z funkcji bazowych jest również regresją logistyczną: φ m (x, w m ) = σ ( w T mx ) Model ten nazywa się siecią neuronową (ang. neural network). 17/20
Sieci neuronowe: Budowa Funkcje bazowe φ m = σ ( w T mx ) nazywa się neuronami warstwy ukrytej (ang. hidden layer). Wartość neuronu φ m (0, 1) należy interpretować jako prawdopodobieństwo obecności m-tej cechy w obserwacji x. Podobnie σ ( w T φ(x) ) nazywamy neuronem warstwy wyjściowej. Parametry w m nazywa się wagami synaptycznymi neuronu m. W analogiczny sposób sieć może być rozbudowana o więcej warstw ukrytych, wtedy każda z cech zbudowana będzie z podcech. 18/20
Sieci neuronowe: Uczenie Sieć neuronowa y(x, W) nauczona może być poprzez zmaksymaliwanie po W funkcji wiarygodności: p(y X, W, β) = N N (y n y(x n, W), β 1 ) n=1 Prowadzi to do minimalizacji następującej funkcji celu: E(W) = 1 2 N ( yn y(x n, W) ) 2 n=1 Do tego celu najczęściej stosuje się algorytm gradinetu prostego, zwany w tym przypadku algorytmem propagacji wstecznej (ang. backpropagation algorithm). Wymaga on liczenia złożonych pochodnych dla neuronów warstw ukrytych, np. φm w mi. E w mi = E φ m 19/20
Sieci neuronowe: Problemy uczenia Funkcja celu E(W) nie jest wypukła i posiada liczne minima lokalne. Algorytm uczenia jest przez to wrażliwy na inicjalizację. Sieć neuronowa jest modelem pojemnym, a przez to wrażliwym na overfitting Można szukać estymatora W MAP poprzez wprowadzenie prostej regularyzacji λ 2 W 2 F do funkcji celu. Można stosować też podejście bayesowskie, które wymaga stosowania aproksymacji rozkładu predykcyjnego. 20/20