SPOTKANIE 4: Klasyfikacja: Regresja logistyczna
Transkrypt
SPOTKANIE 4: Klasyfikacja: Regresja logistyczna
Wrocław University of Technology SPOTKANIE 4: Klasyfikacja: Regresja logistyczna Jakub Tomczak Studenckie Koło Naukowe ”Estymator” [email protected] 29.11.2013 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 m Bin(m|N, µ) = µ (1 − µ)N −m . m 0.3 0.2 0.1 Wartość oczekiwana i wariancja: 0 0 1 2 3 4 5 m 6 7 8 9 10 E[x] = N µ, var[x] = N µ(1 − µ). 2/20 Rozkład beta Rozkład beta (ang. Beta distribution) na zmiennej ciągłej µ ∈ [0, 1] (Γ(·) – funkcja gamma, a, b > 0) 3 a = 0.1 b = 0.1 2 1 Γ(a + b) a−1 µ (1 − µ)b−1 . Beta(µ|a, b) = Γ(a)Γ(b) 0 0 0.5 µ 1 0.5 µ 1 0.5 µ 1 0.5 µ 1 3 a=1 Wartość oczekiwana i wariancja: E[x] = a , a+b b=1 2 1 0 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 (ang. conjugate prior ) z funkcją wiarygodności. Y Beta(µ|a+m, b+N −m) ∝ Bern(xn |µ) Beta(µ|a, b). n 0 3 a=2 b=3 2 1 0 0 3 a=8 b=4 2 1 0 0 3/20 Rozkład wielopunktowy i wielomianowy Rozkład wielopunktowy (ang. Categorical distribution) na zmiennej P dyskretnej przyjmującej K wartości, xk ∈ {0, 1}, k xk = 1, Cat(x|µ) = K Y µxkk , k=1 0 ¬ µk ¬ 1, P k µk = 1. Wartość oczekiwana i wariancja dla xk analogicznie jak dla rozkładu dwupunktowego. Rozkład wielomianowy (ang. Multinomial distribution) na mk obserwacji xk = 1 w próbie o rozmiarze N , Multi(m|N, µ) = N m1 m2 . . . mK Y K k µm k . k=1 Wartość oczekiwana i wariancja dla mk analogicznie jak dla rozkładu dwumianowego. 4/20 Rozkład Dirichleta Rozkład Dirichleta (ang. Dirichlet P distribution) na K zmiennych ciągłych µk ∈ [0, 1], k µk = 1 Dir(µ|α) = P K Y Γ( k αk ) k −1 µα . k Γ(α1 ) · · · Γ(αk ) µ2 µ1 µ3 k=1 Wartość oczekiwana, wariancja i kowariancja: αk , E[µk ] = P k αk P αk ( k αk − αk ) P var[µk ] = P , ( k αk )2 ( k αk + 1) Rozkład Dirichleta jest sprzężony z rozkładem wielopunktowym, Y Cat(xn |µ) Dir(µ|α). Dir(µ|α + m) ∝ n 5/20 Problem klasyfikacji Zmienne wejściowe, atrybuty (ang. input variables, attributes): x ∈ X , X = RD 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). Czasami wygodniej jest użyć y ∈ {−1, 1}. Problem: dla zadanego ciągu uczącego D = {(xn , yn )}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) liniowa Klasyfikator przyporządkowuje obiekt do klasy z użyciem następującej reguły: y ∗ = arg max p(y|x). y sigmoidalna Rozkład p(y|x) można zamodelować w różny sposób: podejście generujące – modelowanie zarówno p(x|y), jak i p(y); tangens hiperboliczny podejście dyskryminujące – bezpośrednia parametryzacja p(y|x); podejście z funkcją dyskryminującą – zastosowanie funkcji aktywacji f do np. kombinacji liniowej wT φ(x): signum y = f (wT φ(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. Y p(x|y) = p(xd |y), d 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(x|y = 1) p(y = 1) + p(x|y = 0) p(y = 0) 1 = = σ(a) 1 + exp(a) p(y = 1|x) = 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) = σ(a)(1 − σ(a)). da 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) = σ(wT φ(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 T D = {(xn , yn )}N n=1 funkcja wiarygodności (σn ≡ σ(w φ(xn ))): p(y|w) = N Y σnyn (1 − σn )1−yn . n=1 Biorąc negatywny logarytm otrzymujemy: − ln p(y|w) = − N X yn ln σn + (1 − yn ) 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 X {yn ln σn + (1 − yn ) ln(1 − σn )} n=1 Gradient ∇E(w) = N X (σn − yn )φ(xn ) n=1 W powyższych wzorach σn = σ wT φ(xn ) . 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 Rnn = σ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 X {yn ln σn + (1 − yn ) ln(1 − σn )} − n=1 | {z −E(w) } α T w w |2 {z } +const regularyzacja Nie jest możliwe wyznaczenie analitycznego rozwiązania wMAP i musimy korzystać z jednego z numerycznych algorytmów optymalizacji. Funkcja celu jest wklęsła, więc algorytmy numeryczne zbiegają do globalnego ekstremum. 14/20 Uczenie Bayesowskie Uczenie Bayesowskie wymaga wyznaczenia rozkładu predykcyjnego: Z p(y = 1|x, y) = p(y = 1|x, w)p(w|y)dw Pojawiają się tutaj dwa problemy: 1. Rozkład p(w|y) nie ma postaci analitycznej, ponieważ funkcja wiarygodności nie jest sprzężona do rozkładu a priori i nie da się R wyznaczyć stałej p(y) = p(y|w)p(w)dw. 2. Wycałkowanie modeli względem rozkładu a posteriori nie jest również możliwe do uzyskania analitycznie ze względu na postać funkcji sigmoidalnej. 15/20 Uczenie Bayesowskie: Aproksymacje Rozkład a posteriori p(w|y) 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) Rozkład predykcyjny p(y = 1|x, y) można aproksymować stosując: 1. Metody próbkujące (ang. sampling methods) 2. Aproksymację funkcji sigmoidalnej w rozkładzie p(y = 1|x, w) = σ(wT φ(x)) funkcją probit (dystrybuanta rozkładu normalnego). 16/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: exp(ak ) , p(y = k|x, W) = P j exp(aj ) gdzie mamy odpowiednie aktywacje dla klas ak = wkT φ(x) oraz macierz parametrów W = [w1 , . . . , wK ]. 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 WML lub WMAP . 17/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) = σ wT φ(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 wm i dopasowywać do danych, tj. φm (x, wm ). Zakładamy, że każda z funkcji bazowych jest również regresją logistyczną: T φm (x, wm ) = σ wm x Model ten nazywa się siecią neuronową (ang. neural network). 18/20 Sieci neuronowe: Budowa T Funkcje bazowe φm = σ wm x 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 σ wT φ(x) nazywamy neuronem warstwy wyjściowej. Parametry wm 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. 19/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 Y Bern(yn |y(xn , W)) n=1 Prowadzi to do minimalizacji następującej funkcji celu: E(W) = − N X yn log y(xn , W) − (1 − yn ) log 1 − y(xn , W) n=1 Do tego celu najczęściej stosuje się algorytm gradientu prostego, zwany w tym przypadku algorytmem propagacji wstecznej (ang. backpropagation algorithm). Wymaga on liczenia złożonych pochodnych dla neuronów warstw ∂φm ∂E ∂E = ∂φ × ∂w . ukrytych, np. ∂w mi m mi 20/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 WMAP poprzez wprowadzenie prostej regularyzacji λ2 kWk2F do funkcji celu. Można stosować też podejście bayesowskie, które wymaga stosowania aproksymacji rozkładu predykcyjnego. Obecnie stosuje się bardziej złożone algorytmy uczenia sieci neuronowych, zwane uczeniem głębokim (ang. deep learning ). 21/20