Rozpoznawanie obrazów Ćwiczenia lista zadań nr 7 autorzy: A. Gonczarek, J.M. Tomczak Przykładowe problemy Klasyfikacja binarna Dla obrazu x zaproponowano dwie cechy φ(x) = (φ 1 (x) φ 2 (x)) T. Na obrazie może znajdować się twarz (y = 1) lub nie (y = 0). Zebrano następujące dane dotyczące trzech obrazów: φ 1 (x) 0.1 0.2 0.3 φ 2 (x) 0.5 0.1 0.9 y 0 0 1 Tabela 1: Dane dla trzech obrazów. Chcemy przewidywać czy na nowym obrazie znajduje się twarz, czy nie. Klasyfikacja wieloklasowa Dla dźwięku x zaproponowano dwie cechy φ(x) = (φ 1 (x) φ 2 (x)) T. Rozpoznajemy wypowiedziane słowa, którym nadajemy odpowiednio indeksy ze zbioru y {1, 2, 3}. Zebrano następujące dane dotyczące czterech sygnałów dźwiękowych: φ 1 (x) 0.4 0.1 0.9 0.5 φ 2 (x) 0.1 0.2 0.6 0.4 y 1 1 2 3 Tabela 2: Dane dla czterech sygnałów dźwiękowych. Dla nowego sygnału x chcemy rozpoznać słowo y. Model regresji logistycznej Ekstrakcja cech Ekstrakcja cech musi być dostosowana do rozpatrywanego zagadnienia klasyfikacji. Zakładamy, że została ona wykonana wcześniej. Model 1
1. Przyjmijmy następujący model dla klasyfikacji binarnej: p(y φ, w) = sigm(w T φ) gdzie w R D 1 oznacza wektor parametrów oraz sigm(a) = jest funkcją sigmoidalną. 1+exp( a) Odpowiedz: ˆ Podaj liczbę parametrów dla modelu regresji logistycznej i porównaj ją z liczbą parametrów dla GDA i Naive Bayes. ˆ Wyjaśnij pojęcie modelowania dyskryminującego (ang. discriminative modeling). 2. Przyjmijmy następujący model dla klasyfikacji wieloklasowej: p(y φ, W) = exp(w y φ) y exp(w y φ) gdzie W R K D oznacza macierz parametrów, W i oznacza i-ty wiersz macierzy W. Odpowiedz: ˆ Podaj liczbę parametrów dla modelu regresji logistycznej wieloklasowej i porównaj ją z liczbą parametrów dla GDA i Naive Bayes. Uczenie 1. Dla klasyfikacji binarnej i dla ciągu obserwacji D = {(φ n, y n )} N n=1 wyznacz i odpowiedz: ˆ funkcję wiarygodności; ˆ kryterium uczenia l ML (w) (ujemny logarytm funkcji wiarygodności); ˆ gradient względem w z kryterium uczenia l ML (w); ˆ Uzasadnij, że nie da się analitycznie wyznaczyć parametrów w. ˆ Sformułuj algorytm gradientu prostego do wyznaczenia parametrów w. ˆ Czy algorytm gradientu prostego zawsze jest zbieżny? Od czego to zależy? ˆ Czy jeśli algorytm jest zbieżny, to czy zawsze znajdzie globalne minimum funkcji l ML (w)? ˆ Jak zmodyfikować algorytm gradientu prostego w przypadku bardzo licznego zbioru danych D? ˆ Jak zmodyfikować kryterium uczenia, aby uwzględniało regularyzację l 2 na parametry w? 2. Dla klasyfikacji wieloklasowej i dla ciągu obserwacji D = {(φ n, y n )} N n=1 wyznacz i odpowiedz: 2
ˆ funkcję wiarygodności; ˆ kryterium uczenia l ML (W) (ujemny logarytm funkcji wiarygodności); ˆ gradient względem W z kryterium uczenia l ML (W); ˆ Sformułuj algorytm gradientu prostego do wyznaczenia parametrów W. Predykcja Korzystając z rozkładu warunkowego, dla K = 3 i D = 2, gdzie macierz parametrów jest następująca: 1 2 W = 4 1, 3 1 policz prawdopodobieństwa klas p(y φ) dla φ = (3 0.5) T i wyznacz ostateczną predykcję y. Model sieci neuronowej Multilayer Perceptron (MLP) Ekstrakcja cech W przypadku MLP zazwyczaj nie stosuje się ekstrakcji cech, ponieważ model automatycznie wyucza się cech φ(x) o zadanej postaci. Tym niemniej, wstępna ekstrakcja cech może być wykonana analogicznie jak dotychczas. 3
Model 1. Przyjmijmy następujący model dla klasyfikacji binarnej: p(y x, w, V) = sigm(w T φ(x)) gdzie φ(x) = sigm(v T x) gdzie V R D M oznacza macierz parametrów, w R M oznacza wektor parametrów oraz sigm(a) = 1 1+exp( a) Odpowiedz: jest funkcją sigmoidalną. ˆ Jak nazywa się cechy φ(x) w literaturze związanej z sieciami neuronowymi? Jak nazywa się parametry w i V? ˆ Jaka jest różnica między modelem regresji logistycznej a MLP? ˆ Jak rośnie liczba parametrów modelu MLP wraz ze wzrostem M? 2. Przyjmijmy następujący model dla klasyfikacji wieloklasowej: p(y x, W) = exp(w y φ(x)) y exp(w y φ(x)) gdzie φ(x) = sigm(v T x) gdzie V R D M oznacza macierz parametrów, W R K M oznacza macierz parametrów oraz sigm(a) = 1 1+exp( a) jest funkcją sigmoidalną. Uczenie 1. Dla klasyfikacji binarnej i dla ciągu obserwacji D = {(x n, y n )} N n=1 wyznacz i odpowiedz: ˆ funkcję wiarygodności; ˆ kryterium uczenia l ML (w, V) (ujemny logarytm funkcji wiarygodności); ˆ gradienty względem w i V z kryterium uczenia l ML (w, V); ˆ Sformułuj algorytm gradientu prostego do wyznaczenia parametrów w i V. ˆ Jak nazywa się ten algorytm w kontekście sieci neuronowych? ˆ Czy jeśli algorytm jest zbieżny, to czy zawsze znajdzie globalne minimum funkcji l ML (w, V)? Jak sobie radzić z potencjalnymi problemami? 4
ˆ Jak zmodyfikować algorytm gradientu prostego w przypadku bardzo licznego zbioru danych D? ˆ Jak zmodyfikować kryterium uczenia, aby uwzględniało regularyzację l 2 na parametry w i V? Dlaczego stosowanie regularyzacji w przypadku sieci neuronowych jest rzeczą szczególnie istotną? ˆ Zaproponuj procedurę do ustalenia M. 2. Dla klasyfikacji wieloklasowej i dla ciągu obserwacji D = {(x n, y n )} N n=1 wyznacz i odpowiedz: ˆ funkcję wiarygodności; ˆ kryterium uczenia l ML (W, V) (ujemny logarytm funkcji wiarygodności); ˆ gradient względem W z kryterium uczenia l ML (W, V). ˆ Sformułuj algorytm gradientu prostego do wyznaczenia parametrów W i, V. Predykcja Biorąc zbiór treningowy jak w pierwszym przykładowym problemie (gdzie φ przyjmujemy jako x), wyznaczyć prawdopodobieństwa warunkowe klasy dla obiektu x = (0.5 2) T dla parametrów: V = 1 2 3 0 1 1 oraz 2 w = 1 0.5 5
Rozkład dwupunktowy: DODATEK B(x θ) = θ x (1 θ) 1 x, gdzie x {0, 1} i θ [0, 1] E[x] = θ Var[x] = θ(1 θ) Rozkład wielopunktowy: D D M(x θ) = θ x d d, gdzie x d {0, 1} i θ d [0, 1] dla każdego d = 1, 2,..., D, θ d = 1 d=1 d=1 E[x d ] = θ d Var[x d ] = θ d (1 θ d ) Rozkład normalny: N (x µ, σ 2 ) = 1 { exp 2π σ E[x] = µ Var[x] = σ 2 } (x µ)2 2σ 2 Rozkład normalny wielowymiarowy: { 1 1 N (x µ, Σ) = (2π) D/2 Σ exp 1 } 1/2 2 (x µ)t Σ 1 (x µ), gdzie x jest wektorem D-wymiarowym, µ D-wymiarowy wektor średnich, Σ macierz D D kowariancji E[x] = µ Cov[x] = Σ Rozkład beta: Γ(a + b) Beta(x a, b) = Γ(a)Γ(b) xa 1 (1 x) b 1, gdzie x [0, 1] oraz a > 0 i b > 0, Γ(x) = E[x] = Var[x] = a a+b ab (a+b) 2 (a+b+1) 0 t x 1 e t dt Rozkład brzegowy: Dla rozkładu ciągłego: p(x) = p(x, y)dy i dla rozładu dyskretnego: p(x) = y p(x, y) 6
Rozkład warunkowy: p(y x) = p(x, y) p(x) Rozkład brzegowy i warunkowy dla wielowymiarowego rozkładu normalnego: Załóżmy, że x N (x µ, Σ), gdzie x = x a x b, µ = µ a µ b wtedy mamy następujące zależności: p(x a ) = N (x a µ a, Σ a ), p(x a x b ) = N (x a ˆµ a, ˆΣ a ), gdzie ˆµ a = µ a + Σ c Σ 1 b (x b µ b ), ˆΣ a = Σ a Σ c Σ 1 b Σ T c. Twierdzenie Bayesa:, Σ = Σ a Estymator największej wiarygodności: Σ T c Σ c Σ b, p(y x) = p(x y)p(y) p(x) Danych jest N niezależnych realizacji D = {x 1... x N } wektora losowego x o rozkładzie p(x θ). Funkcją wiarygodności nazywamy następującą funkcję: N p(d θ) = p(x n θ). n=1 Zlogarytmowaną funkcję p(d θ) możemy określić zależnością: N log p(d θ) = log p(x n θ). n=1 Estymatorem największej wiarygodności nazywamy θ ML takie, że Estymator maksymalnego a posteriori: p(d θ ML ) = max p(d θ). θ Dane są rozkład a priori p(θ) parametru θ oraz N niezależnych realizacji D = {x 1... x N } wektora losowego x o rozkładzie p(x θ). Estymatorem maksymalnego a posteriori (MAP) nazywamy θ MAP maksymalizujący rozkład a posteriori: p(θ MAP D) = max p(θ D). θ 7
Ryzyko w podejmowaniu decyzji: Ryzyko (średnią stratę) definiujemy jako następujący funkcjonał: gdzie L(, ) oznacza funkcję straty. Wybrane własności wektorów i macierzy: R[y] = L(y, y(x)) p(x, y)dxdy, Dane są wektory x, y i macierz A symetryczna i dodatnio określona. Zachodzą wtedy następujące własności: ˆ y (x y)t A(x y) = 2A(x y) ˆ (x y)t A 1 (x y) A ˆ ln det(a) A = A 1 = A 1 (x y)(x y) T A 1 8