SPOTKANIE 2: Podstawy teoretyczne
Transkrypt
SPOTKANIE 2: Podstawy teoretyczne
Wrocław University of Technology SPOTKANIE 2: Podstawy teoretyczne Jakub Tomczak Studenckie Koło Naukowe ”Estymator” [email protected] 30.10.2013 Zmienne losowe Koncepcja zmiennej losowej 1/33 Zmienne losowe Prawdopodobieństwo Chcielibyśmy móc mierzyć nasze przekonanie (ang. belief ) związane z obserwacją świata x. Postulaty dot. miary przekonania b(x) podane przez Coxa: 1. Siła przekonania wyrażona za pomocą liczb rzeczywistych, np. 0 ¬ b(x) ¬ 1. 2. Jakościowa zgodność ze zdrowym rozsądkiem, tj. b(x) + b(¬x) = 1. 3. Spójność, tzn. jeśli konkluzja może być otrzymana w różny sposób, to każdy z tych sposobów musi dawać tę samą odpowiedź, tj. b(x, y|z) = b(x|z) b(y|x, z) = b(y|z) b(x|y, z). Okazuje się, że miara przekonania musi spełniać zasady rachunku prawdopodobieństwa, tj.: reguła brzegowa (ang. sum rule) p(x) = X p(x, y) y reguła łańcuchowa (ang. product rule) p(x, y) = p(x|y) p(y) 2/33 Zmienne losowe Reguła brzegowa: Przykład p(x, y) y = 1 y = 2 p(x) x=3 0.3 0.2 0.5 x=2 0.2 0.1 0.3 x=1 0.1 0.1 0.2 0.6 0.4 p(y) 3/33 Zmienne losowe Reguła łańcuchowa: Przykład p(x, y) y = 1 y = 2 p(x|y = 2) x=3 0.3 0.2 0.5 x=2 0.2 0.1 0.25 x=1 0.1 0.1 0.25 p(x, y = 2) p(y) 0.6 0.4 p(x|y = 2) = p(x, y = 2) p(y = 2) 4/33 Zmienne losowe Zmienne losowe ciągłe Rozkład prawdopodobieństwa zadany jest przy pomocy funkcji gęstości. Interesuje nas, że zmienna losowa przyjmuje wartości z ustalonego zakresu (a, b): Z p(x ∈ (a, b)) = b p(x)dx a Funkcja gęstości p(x) całkuje się do 1 i spełnia reguły rachunku prawdopodobieństwa: R Reguła brzegowa: p(x) = p(x, y)dy Reguła łańcuchowa: p(x, y) = p(x|y)p(y) 5/33 Zmienne losowe Wartość oczekiwana Wartość oczekiwana (ang. expected value) oznacza średnią wartość jaką przyjmuje funkcja f zależna od zmiennej losowej x: X E[f ] = f (x)p(x) x Gdy f (x) ≡ x mówimy o wartości oczekiwanej zmiennej x. Wartość oczekiwana może być oszacowana przez N obserwacji wygenerowanych z rozkładu p(x): E[f ] ≈ N 1 X f (xn ) N n=1 6/33 Zmienne losowe Wariancja i kowariancja Wariancja (ang. variance) funkcji f oznacza miarę, jak odchylają się wartości f (x) od średniej E[f ]: var[f ] = E[(f (x) − E[f ])2 ] = E[f (x)2 ] − (E[f ])2 Kowariancja (ang. covariance) oznacza miarę, jak zmienne x, y razem odchylają się od średniej: cov[x, y] = Ex,y [(x − E[x])(y − E[y])] = Ex,y [xy] − E[x]E[y] Kowariancja jest miarą zależności pomiędzy zmiennymi losowymi. Oczywiście cov[x, x] = var[x]. 7/33 Podejmowanie decyzji Wstęp Zakładamy dwa rodzaje zmiennych losowych: Zmienne obserwowalne: x Zmienne decyzyjne: y Zmienne mają wspólny rozkład p(x, y), który dla nas jest nieznany. Wiemy, że istnieje zależność między zmiennymi x i y. Zakładamy, że ta zależność może być przybliżona zależnością funkcyjną y = f (x), tj. ustalonemu x odpowiada dokładnie jedna wartość y. 8/33 Podejmowanie decyzji Teoria decyzji Wyznaczenie wartości y na podstawie x nazywamy podejmowaniem decyzji (ang. decision making ) albo predykcją (ang. prediction). W celu znalezienia zależności f (x) minimalizować będziemy ryzyko: Z R[f ] = L(y, f (x)) p(x, y)dxdy = Ex,y L(y, f (x)) . L oznacza funkcję straty (ang. loss function): 1, jeśli y 6= f (x) L(y, f (x)) = 0, w p.p. 2 L(y, f (x)) = y − f (x) (klasyfikacja) (regresja) 9/33 Podejmowanie decyzji Rozkład warunkowy p(y|x) Zauważmy, że Z R[f ] = L(y, f (x)) p(x, y)dxdy Z L(y, f (x)) p(y|x) p(x)dxdy Z Z = L(y, f (x)) p(y|x)dy p(x)dx {z } | = Ey L(y,f (x))|x Można pokazać, że w celu minimalizacji ryzyka R[f ] wystarczy minimalizować Ey L(y, f (x))|x . Z f ∗ (x) = Ey y|x = y p(y|x)dy (regresja) f ∗ (x) = arg max p(y|x) y (klasyfikacja) 10/33 Modelowanie Wstęp 11/33 Modelowanie Wstęp Najogólniej relacja pomiędzy zmiennymi x i y może być opisana przy pomocy łącznego rozkładu p(x, y). Wtedy rozkład warunkowy p(y|x), na podstawie którego wnioskujemy, wyznaczamy z zależności: p(x, y) p(x, y) =P p(y|x) = p(x) y p(x, y) Zakładamy, że rzeczywisty rozkład p(x, y) może być zamodelowany poprzez p(x, y|θ∗ ), gdzie parametry θ∗ nie są dla nas znane. Znana jest jedynie postać modelu p(x, y|θ). Przykładowo p(x, y|θ) = N (x, y|µ, Σ), gdzie postać modelu to rozkład normalny, a parametry θ = {µ, Σ}. 12/33 Modelowanie Podejścia do modelowania Modele generujące (ang. generative models) – modelujemy osobno rozkłady p(x|y, θ) i p(y|θ). Wtedy p(x, y|θ) = p(x|y, θ) p(y|θ), skąd p(x|y, θ) p(y|θ) . p(y|x, θ) = P y p(x|y, θ) p(y|θ) Modele dyskryminujące (ang. discriminative models) – bezpośrednio modelujemy rozkład warunkowy na zmienną decyzyjną, p(y|x, θ). Modele funkcyjne (ang. discriminant functions) – bezpośrednio modelujemy zależność funkcyjną y = f (x, θ), bez korzystania z prawdopodobieństw. 13/33 Uczenie Wiarygodność parametrów Dysponujemy ciągiem niezależnych obserwacji D = {(x1 , y1 ), . . . , (xN , yN )}, wygenerowanych z rzeczywistego rozkładu p(x, y). Uczenie polega na optymalizowaniu względem θ wybranej funkcji kosztu dopasowującej model p(x, y|θ) do obserwacji D. Definiujemy wiarygodność (ang. likelihood) parametrów przy danym ciągu obserwacji: p(D|θ) = N Y p(xn , yn |θ), n=1 Wartość wiarygodności mówi o pewności z jaką nasz model o ustalonych parametrach θ mógł wygenerować obserwacje D. 14/33 Uczenie Niepewność parametru 15/33 Uczenie Rozkłady a priori i a posteriori Niepewność paramteru θ będziemy modelować rozkładem a priori p(θ) (ang. prior). Reguły prawdopodobieństwa (wzór Bayesa) pozwalają modyfikować niepewność parametru poprzez uwzględnienie obserwacji. Otrzymujemy rozkład a posteriori (ang. posterior): p(θ|D) = p(D|θ)p(θ) p(D) posterior ∝ likelihood × prior Można pokazać, że jeśli θ∗ jest rzeczywistym parametrem, który odpowiada za generowanie danych, to jeśli p(θ∗ ) > 0, wtedy: lim p(θ|Dn ) = δ(θ − θ∗ ) n→∞ 16/33 Uczenie Podejścia do uczenia Uczenie częstościowe (ang. frequentist learning ) – wyznaczenie estymatora punktowego parametrów θ: estymacja maksymalnej wiarygodności (ang. maximum likelihood estimation, ML): θML = arg max p(D|θ), θ estymacja maksymalnej a posteriori (ang. maximum a posteriori estimation, MAP): θMAP = arg max p(θ|D). θ Uczenie bayesowskie (ang. Bayesian learning ) – wyznaczenie rozkładu predykcyjnego (ang. predictive distribution), tj. wycałkowanie względem nieznanych parametrów: Z p(y|x, D) = p(y|x, θ) p(θ|D) dθ. | {z } | {z } model posterior 17/33 Uczenie Przykład Niech x ∈ {0, 1} oznacza rzut monetą, gdzie x = 0 – orzeł, a x = 1 – reszka. Prawdopodobieństwo p(x = 1) oznaczmy przez θ, czyli rozkład x można wyrazić następująco: p(x|θ) = θx (1 − θ)1−x . Wartość oczekiwana i wariancja: E[x] = θ var[x] = θ(1 − θ). Załóżmy, że mamy zaobserwowane wartości monety D = {x1 , . . . , xN }, m= N X xn . n=1 18/33 Uczenie Przykład: Uczenie ML Funkcja wiarygodności: p(D|θ) = N Y p(xn |θ) n=1 = N Y θxn (1 − θ)1−xn . n=1 Biorąc logarytm funkcji wiarygodności: ln p(D|θ) = N X {xn ln θ + (1 − xn ) ln(1 − θ)}. n=1 Estymator maksymalnej wiarygodności: θM L = m . N 19/33 Uczenie Przykład: Uczenie MAP Wprowadźmy teraz rozkład a priori na parametr θ (rozkład beta): p(θ|a, b) = Γ(a + b) a−1 θ (1 − θ)b−1 , Γ(a) Γ(b) a,b – hiperparametry (ang. hyperparameters). Rozkład a posteriori: p(θ|D, a, b) = Γ(a + b + N ) θm+a−1 (1−θ)l+b−1 , Γ(a + m) Γ(b + l) gdzie l = N − m. Interpretacja a i b – aprioryczna liczba obserwacji. Estymator MAP: θMAP = m+a−1 . N +a+b−2 20/33 Uczenie Przykład: Uczenie bayesowskie Stosując uczenie bayesowskie intersuje nas znalezienie rozkładu predykcyjnego: Z 1 p(x = 1|D) = p(x = 1|θ) p(θ|D)dθ 0 Z 1 θ p(θ|D)dθ = 0 = E θ|D = m+a . N +a+b Podsumowując: m , N m+a−1 θMAP = , N +a+b−2 m+a p(x = 1|D) = . N +a+b θML = Na przykład: θ∗ = 12 , D = {1, 1, 1, 1, 0, 1, 1}, a = 2, b = 3 θML = 67 , 7 θMAP = 10 , p(x = 1|D) = 23 . 21/33 Problemy uczenia Overfitting: Wstęp 22/33 Problemy uczenia Overfitting: Przyczyny Zjawisko overfittingu, czyli zbytniego dopasowania parametrów θ do danych D, występuje w przypadku posiadania zbyt małej liczby obserwacji. Metody przeciwdziałania: 1. 2. 3. 4. Pozyskanie większej liczby danych. Wybór prostszego modelu (o mniejszej liczbie parametrów). Estymacja MAP / Regularyzacja (ang. regularization). Uczenie bayesowskie. 23/33 Problemy uczenia Przekleństwo wymiarowości: Przykład 1 Każdy wymiar podzielmy na K odcinków. Liczba kostek potrzebna do pokrycia danych wynosi K D . Przykładowo K = 10, D = 20, wtedy K D = 100000000000000000000. 24/33 Problemy uczenia Przekleństwo wymiarowości: Przykład 2 Dopasowanie wielomianu stopnia M = 3 do danych jednowymiarowych, D = 1: y(x) = θ0 + θ1 x + θ2 x2 + θ3 x3 Liczba parametrów: 4 Dopasowanie wielomianu stopnia M = 3 do danych wielowymiarowych: y(x) = θ0 + D X i=1 θ i xi + D X D X i=1 j=1 θij xi xj + D X D X D X θijk xi xj xk i=1 j=1 k=1 Liczba parametrów: 1 + D + D2 + D3 = O(D3 ) W ogólności dopasowanie wielomianu stopnia M do danych o wymiarze D wymaga wyznaczenia O(DM ) parametrów. 25/33 Problemy uczenia Przekleństwo wymiarowości: Przyczyny Trudności, które pojawiają się w przypadku wielowymiarowych przestrzeni określa się wspólnym mianem przekleństwa wymiarowości (ang. curse of dimensionality). Problemy te pojawiają się przede wszystkim w przypadku wielowymiarowych danych. Metody przeciwdziałania polegają m.in. na uzględnieniu struktury danych w dopasowywanym modelu poprzez: redukcję wymiarów, klasteryzację, selekcję cech. 26/33 Problemy uczenia Zalew danych: Przyczyny Problemy z przetworzeniem olbrzymiej liczby danych określa się często mianem zalewu danych (ang. data flood). Problemy te występują, gdy przetwarzamy zbiory, gdzie N > 10k − 100k. Pojawiają się problemy związane z brakiem zasobów obliczeniowych i pamięciowych. Metody przeciwdziałania: 1. Uczenie przyrostowe (ang. incremental learning ). 2. Metody optymalizacji wielkoskalowej. 3. Optymalizacja rozproszona i równoległa. 4. Redukcja danych. 27/33 Selekcja modelu Wstęp Klasa modeli – modele o ustalonej postaci. Przykłady klas modeli: wielomiany stopnia M ; drzewa decyzyjne o ustalonej strukturze; mieszanina K rozkładów Gaussa; Selekcja modelu (ang. model selection) polega na wybraniu klasy modeli najlepiej uogólniającej dane. Przykład: Wybranie wielomianów stopnia 10 z rodziny wielomianów. 28/33 Selekcja modelu Dekompozycja bias-variance Obciążenie (ang. bias) – odchylenie predykcji modelu na wszystkich możliwych danych od predykcji teoretycznej f ∗ . Wariancja (ang. variance) – odchylenie predykcji modelu nauczonego na skończonych zbiorach danych D od predykcji na wszystkich możliwych danych. (a) Wysoki bias. (b) Odpowiednie. (c) Wysoka wariancja. 29/33 Selekcja modelu Ciąg treningowy, walidacyjny i testowy Dzielimy zbiór danych na: zbiór treningowy – służy do uczenia modelu (wyznaczenia parametrów); zbiór walidacyjny – służy do wyboru klasy modelu; zbiór danych zbiór testowy – służy do ostatecznej oceny jakości. Modele o dużym błędzie na zbiorze treningowym i walidacyjnym charakteryzują się dużym obciążeniem. treningowy walidacyjny Modele o małym błędzie na zbiorze treningowym, a dużym błędzie na zbiorze walidacyjnym charakteryzują się dużą wariancją. testowy Selekcja modelu polega na wybraniu klasy modelu, który ma najmniejszy błąd na zbiorze walidacyjnym. 30/33 Selekcja modelu Bayesowskie porównywanie modeli Niech m oznacza klasę modelu. Korzystając z reguły Bayesa: p(D|m) p(m) p(D) gdzie Z p(D|m) = p(D|θ, m) p(θ|m)dθ oznacza wiarygodność modelu (ang. model evidence lub marginal likelihood). Zbyt prosty p(D|m) p(m|D) = Akurat! D Zbyt złożony Wszystkie możliwe zbiory danych o rozmiarze N Selekcja modelu polega na wybraniu klasy modelu m o najwyższej wartości p(m|D). 31/33 Selekcja modelu Aproksymacje wiarygodności modelu Często w praktyce policzenie wiarygodności modelu jest zadaniem złożonym, a nawet niemożliwym. Dlatego stosuje się różnego rodzaju aproksymacje. Bayesowskie kryterium informacyjne (ang. Bayesian Information Criterion, BIC): BIC = −2 ln p(D|θMAP ) + M ln(N ). (BIC) W powyższym przypadku θMAP można zastąpić θML . Bardziej zaawansowane techniki: aproksymacja Laplace’a (ang. Laplace approximation), Expectation Propagation, metody wariacyjne (ang. variational methods), metody próbkowania, np. Markov Chain Monte Carlo (MCMC). 32/33