Wrocław University of Technology SPOTKANIE 3: Regresja: Regresja liniowa Adam Gonczarek Studenckie Koło Naukowe Estymator adam.gonczarek@pwr.wroc.pl 22.11.2013
Rozkład normalny Rozkład normalny (ang. normal distribution) zadaje rozkład prawdopodobieństwa na zmiennej ciągłej x. x N (x µ, σ 2 ) oznacza, że zmienna została wygenerowana z rozkładu normalnego. Funkcja gęstości N (x µ, σ 2 ) = 1 ( σ 2π exp (x ) µ)2 2σ 2 Parametryzacja Parametr µ pokrywa się z wartością oczekiwaną (także z modą i medianą), tj. E[x] = µ Parametr σ 2 pokrywa się z wariancją, tj. var[x] = σ 2 2/26
Wielowymiarowy rozkład normalny Wielowymiarowy rozkład normalny (ang. multivariate normal distribution) zadaje rozkład na wektorze x R D Funkcja gęstości N (x µ, Σ) = Parametryzacja 1 ( (2π) D/2 Σ exp 1 ) 1/2 2 (x µ)t Σ 1 (x µ) Wektor parametrów µ pokrywa się z wartością oczekiwaną, tj. E[x] = µ Macierz parametrów Σ pokrywa się z kowariancją wektora x, tj. cov[x] = Σ Macierz Σ jest symetryczna i dodatnio określona. 3/26
Brzegowy rozkład normalny Zmienne w wektorze x rozbijamy na dwie rozłączne grupy: ( ) xa x = x b Wtedy odpowiednio rozbijamy również parametry: ( ) ( µa Σaa Σ µ = Σ = ab µ b Σ ba Σ bb ) Własności macierzy Σ przechodzą również na odpowiednie bloki, czyli Σ aa oraz Σ bb są symetryczne oraz dodatnio określone. Ponadto Σ ba = Σ T ab. Korzystając z reguły brzegowej otrzymujemy rozkład brzegowy: p(x a ) = p(x a, x b )dx b = N (x a µ a, Σ aa ) Rozkład ten jest rozkładem normalnym! Analogicznie p(x b ) = N (x b µ b, Σ bb ). 4/26
Warunkowy rozkład normalny Załóżmy, że obserwujemy x b, wtedy korzystając z reguły łańcuchowej otrzymujemy rozkład warunkowy: p(x a x b ) = p(x a, x b ) p(x b ) = N (x a µ a b, Σ a b ) Ponownie otrzymujemy rozkład normalny o parametrach: µa b = µ a + Σ ab Σ 1 bb (x b µ b ) Σa b = Σ aa Σ ab Σ 1 bb Σ ba Zauważmy, że niepewność zmiennych x a zostaje pomniejszona o precyzję obserwowanych zmiennych x b w zależności od stopnia ich skorelowania. 5/26
Macierz precyzji Alternatywną parametryzacją rozkładu normalnego jest zastąpienie macierzy kowariancji Σ poprzez jej odwrotność, czyli macierz precyzji Λ. Zapisujemy wtedy N (x µ, Λ 1 ). Macierz precyzji jest także symetryczna i dodatnio określona. Rozbijając ponownie wektor x na podgrupy otrzymujemy postać blokową dla macierzy precyzji: ( ) Λaa Λ Λ = ab Λ ba Λ bb Parametryzacja ta upraszcza postać rozkładu warunkowego: p(x a x b ) = N (x a µ a b, Λ 1 aa ) gdzie µ a b = µ a Λ 1 aa Λ ab (x b µ b ). 6/26
Liniowy model gaussowski W wielu zastosowaniach korzystamy z podejścia generującego i rozkład łączny p(x, y) modelujemy poprzez rozbicie na p(y x) i p(x) parametryzując je odpowiednio: p(x) = N (x µ, Λ 1 ) p(y x) = N (y Ax + b, L 1 ) Model ten nazywamy liniowym modelem gaussowskim (ang. linear Gaussian model). Odpowiednio korzystając z reguł prawdopodobieństwa możemy wyrazić p(y) i p(x y): p(y) = N (y Aµ + b, L 1 + AΛ 1 A T ) p(x y) = N (x Σ{A T L(y b) + Λµ}, Σ) gdzie Σ = (Λ + A T LA) 1 7/26
Problem regresji Zmienne wejściowe (ang. input variables): x X (zazwyczaj X = R D lub X = {0, 1} D ) Zmienna wyjściowa (ang. target variable): y R Problem: dla zadanego ciągu uczącego D = {(x n, y n )} N n=1 przewidzieć wartość y dla nowego x. Zgodnie z teorią decyzji pokazaliśmy, że wystarczy znać rozkład warunkowy p(y x), zatem musimy go modelować. 8/26
Model regresji liniowej Modelem regresji liniowej (ang. linear regression) nazywamy następujące wyrażenie: y = f(x, w) + ε gdzie funkcja f(x, w) = w T φ(x) jest kombinacją liniową M funkcji bazowych φ m (x). Zmienna ε N (ε 0, β 1 ) modeluje niepewność obserwacji y. Zatem model rozkładu warunkowego p(y x) ma następującą postać: p(y x, w, β) = N (y w T φ(x), β 1 ) Parametrami modelu regresji liniowej są w R M i β R. 9/26
Zestaw cech φ Wartości funkcji φ 1 (x),..., φ M (x) nazywane są cechami (ang. features) wyekstrahowanymi z obserwacji x. Przykładowe cechy mogą mieć postać: φ 1 (x) = x (1), φ 2 (x) = ln(x (3) ), φ 3 (x) = x (3) x (2). Dzięki ekstrakcji cech mamy możliwość użycia nieliniowych przekształceń danych wejściowych oraz dalsze rozważania nie są zależne od postaci φ. Model regresji liniowej stosujemy: Gdy zbiór cech φ1(x),..., φ M (x) wynika w sposób naturalny. Inaczej istnieją lepsze modele. Gdy dane są wysokowymiarowe, N << D i potrafimy podać pewien niskowymiarowy sensowny zbiór cech. Gdy decydującym czynnikiem jest czas wyliczenia odpowiedzi modelu. 10/26
Uczenie w regresji liniowej Podejścia do uczenia Uczenie częstościowe (ang. frequentist learning) wyznaczenie estymatora punktowego parametrów w: estymacja maksymalnej wiarygodności (ang. maximum likelihood estimation, ML): w ML = arg max p(y X, w), w estymacja maksymalnej a posteriori (ang. maximum a posteriori estimation, MAP): w MAP = arg max p(w y, X). w Uczenie bayesowskie (ang. Bayesian learning) wyznaczenie rozkładu predykcyjnego (ang. predictive distribution), tj. wycałkowanie względem nieznanych parametrów: p(y x, y, X) = p(y x, w) }{{} model p(w y, X) dw. }{{} posterior 11/26
Estymacja maksymalnej wiarygodności (ML) Dysponujemy danymi X = {x 1,..., x N }, y = {y 1,..., y N }. Warunkowa funkcja wiarygodności jest następująca: p(y X, w, β) = N N (y n w T φ(x n ), β 1 ). n=1 Logarytm funkcji wiarygodności N ln p(y X, w, β) = ln N (y n w T φ(x n ), β 1 ) n=1 = N 2 ln β N 2 ln(2π) βj(w) gdzie J(w) jest sumą kwadratów błędów, J(w) = 1 2 N (y n w T φ(x n )) 2. n=1 Logarytm funkcji wiarygodności jest funkcją celu, którą optymalizujemy względem parametrów w. 12/26
Estymacja ML: Rozwiązanie analityczne Przyrównując gradient z logarytmu funkcji wiarygodności do zera N ln p(y X, w, β) = y n φ(x n ) T w T N n=1 n=1 i rozwiązując względem w otrzymujemy φ(x n )φ(x n ) T = 0 w ML = (Φ T Φ) 1 Φ T y (równania normalne) φ 1 (x 1 ) φ 2 (x 1 ) φ M (x 1 ) Φ =...... φ 1 (x N ) φ 2 (x N ) φ M (x N ) (design matrix) Optymalizując względem β: 1 β ML = 1 N N ( yn wmlφ(x T n ) ) 2 n=1 13/26
Estymacja ML: Rozwiązanie numeryczne Algorytm gradientu prostego: Initialize w repeat for i = 1 M do w i w i α w i J(w) end for until convergence Dla przypadku regresji: J(w) = 1 2 N (y n w T φ(x n )) 2 n=1 w i J(w) = N ( yn w i φ i (x n ) ) φ i (x n ) n=1 Problem wyboru długości kroku α. 14/26
Estymacja ML: Porównanie rozwiązań Rozwiązanie analityczne Problem z odwróceniem macierzy, gdy N < M O(M 3 ) Dla niewielkich zbiorów cech Rozwiązanie numeryczne Obliczenia sekwencyjne zbieżne do dopuszczalnego rozwiązania O(NM) Dla dużych zbiorów cech Problem dobrania α Uwaga: W rozwiązaniu analitycznym należy stosować numeryczne algorytmy odwracania macierzy. Aby algorytm był stabilny macierz należy odwracać z użyciem dekompozycji Cholesky ego. 15/26
Przykład estymacji ML 16/26
Estymator maksymalnej a posteriori Rozkład a priori parametrów uwzględnia przekonania odnośnie parametrów przed zaobserowaniem danych, p(w m 0, S 0 ) = N (w m 0, S 0 ) Rozkład a posteriori parametrów uaktualnienie apriorycznych przekonań o parametrach poprzez uwzględnienie danych, p(w y) p(y w) }{{} likelihood p(w) }{{} prior Estymator maksymalnej a posteriori (MAP): w MAP = arg max p(w y) w 17/26
Estymator maksymalnej a posteriori Rozkład a priori oraz wiarygodność są rozkładami normalnymi, tj. mamy do czynienia z liniowym modelem gaussowskim, więc (przy ustalonym β): p(w y) = N (w m N, S N ) m N = S N ( S 1 0 m 0 + βφ T y ) S 1 N = S 1 0 + βφ T Φ Skąd estymator MAP: w MAP = m N. Zakładając, że parametry są niezależnymi zmiennymi losowymi o jednakowej precyzji α 1, otrzymujemy szczególny przypadek m 0 = 0, S 0 = α 1 I, m N = βs N Φ T y S 1 N = αi + βφt Φ 18/26
Estymator MAP a regularyzacja Tichonowa Zauważmy, że licząc logarytm z rozkładu a posteriori otrzymujemy sumę kwadratów błędów oraz dodatkowe wyrażenie: ln p(w y) = β N ( yn w T φ(x n ) ) 2 α 2 2 wt w +const. n=1 }{{}}{{} regularyzacja βj(w) Taki sam wynik otrzymamy, jeżeli w estymacji ML dodamy wyrażenie zwane regularyzatorem Tichonowa: J(w) + gdzie λ parametr regularyzacji. Rozwiązując względem w: λ 2 wt w }{{} reg. Tichonowa w λ = (λi + Φ T Φ) 1 Φ T y Zauważmy, że w MAP = w λ dla λ = α β. Model ten nazywa się regresją grzbietową (ang. ridge regression). 19/26
Porównanie estymacji ML i MAP Estymacja ML Estymacja MAP (M=9) 20/26
Uczenie bayesowskie W praktyce interesuje nas predykcja y dla nowego x, a nie znalezienie wartości parametrów w. W tym celu zastosujemy uczenie bayesowskie, w którym wyznaczany jest rozkład predykcyjny, p(y y, α, β, x) = p(y w, α, β, x) p(w y, α, β)dw p(y w, α, β) = N (y w T φ(x), β 1 ) p(w y, α, β) = N (w βs N Φ T y, αi + βφ T Φ). }{{}}{{} m N S 1 N Korzystając z faktu, że mamy do czynienia z liniowym modelem gaussowskim, wyznaczamy prawdopodobieństwo brzegowe: p(y y, α, β, x) = N (y m T Nφ(x), σ 2 N (x)) σ 2 N(x) = β 1 + φ(x) T S N φ(x). Wariancja σ 2 N (x) określa niepewność predykcji. 21/26
Modele wygenerowane z rozkładu p(w y, α, β) 22/26
Przykład uczenia bayesowskiego 23/26
Podsumowanie: ML, MAP, rozkład predykcyjny Estymacja ML: skuteczna, gdy liczba obserwacji N jest dostatecznie duża w stosunku do liczby parametrów M; w przeciwnym razie groźba overfittingu; Estymacja MAP: skuteczna, gdy N jest niewielka w porównaniu z M, ze względu na regularyzację. problem z ustaleniem parametru regularyzacji λ. Uczenie bayesowskie: nie dopasowuje się do konkretnych parametrów, dlatego nie istnieje groźba overfittingu; stosuje się, gdy mamy mało danych. można również nałożyć prior jednocześnie na parametry w i wariancję σ 2 (macierz kowariancji) rozkład Normal-inverse-gamma (Normal-inverse-Wishart). 24/26
Selekcja modelu Ciąg treningowy, walidacyjny i testowy Dzielimy zbiór danych na treningowy, walidacyjny i testowy. W przypadku estymacji ML dopasowujemy modele z różną liczbą cech M do zbioru treningowego i badamy jakość predykcji modelu na zbiorze walidacyjnym. W przypadku estymacji MAP wybieramy model z dużą liczbą cech M i uczymy dla różnych parametrów regularyzacji λ, np. λ {0.001, 0.01, 0.1, 1, 10, 100}. i testujemy jakość na zbiorze walidacyjnym. zbiór danych treningowy walidacyjny testowy Ostateczną jakość modelu weryfikujemy na zbiorze testowym. 25/26
Bayesowskie porównywanie modeli Rozpatrzmy zbiór regresji liniowych o różnych zestawach cech, M = {m 1,..., m L } parametryzowanych przez {w 1,..., w L }. Wyznaczamy wiarygodność modelu (ang. model evidence): p(y X, α, β, m) = p(y X, w, β, m) p(w α, m)dw = ( ) N/2 β ( α ) M/2 exp{ J(mN )}(2π) M/2 S 1 N 2π 2π 1/2 p(d m) Zbyt prosty Hiperparametry α i β możemy dostroić (zoptymalizować) do zbioru treningowego. Groźba overfittingu jest niewielka. Jest to tzw. metoda empirical Bayes. Akurat! D Zbyt złożony Nie potrzeba zbioru walidacyjnego! Wszystkie możliwe zbiory danych o rozmiarze N 26/26