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