Liniowe metody aproksymacji - Grzegorz Dudek Ph.D.
Transkrypt
Liniowe metody aproksymacji - Grzegorz Dudek Ph.D.
SYSTEMY UCZĄCE SIĘ WYKŁAD 5. UCZENIE SIĘ APROKSYMACJI FUNKCJI – MODELE LINIOWE Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska Częstochowa 2014 METODY APROKSYMACJI Metody aproksymacji pod względem sposobu reprezentacji funkcji aproksymowanej: • parametryczne, w których hipoteza reprezentowana jest przez wektor liczb rzeczywistych – parametrów modyfikowanych w trakcie uczenia, na podstawie których obliczana jest wartość funkcji dla dowolnego punktu z dziedziny, • pamięciowe (memory-based, instance-based, similarity-based, lazy learners), przechowujące zbiór przykładów uczących i wyznaczające wartość hipotezy na podstawie przykładów najbardziej podobnych do przykładu wejściowego, • symboliczne, oparte na symbolicznej reprezentacji funkcji, np. w postaci drzew decyzyjnych. 2 METODY PARAMETRYCZNE Założenie • przykłady opisywane są wektorami liczb rzeczywistych (atrybutów) x = [1, x1, x2, …, xn]T • hipoteza reprezentowana jest wektorem liczb rzeczywistych (parametrów, wag). W modelu liniowym: w = [w0, w1, w2, …, wn]T Uczenie się Uczenie się polega na modyfikowaniu wag na podstawie przykładów trenujących. Cel – zmniejszenie błędu aproksymacji, np.: E (hw ) = 1 2 ( f (x) − hw (x)) ∑ 2 x∈P gdzie: f(x) jest wartością funkcji docelowej dla przykładu x, a hw (x) = F (x, w) jest wartością hipotezy przy wagach w dla przykładu x. Ponieważ f(x) jest zwykle nieznana w jej miejsce podstawiamy y (y = f(x) + ε). 3 METODY PARAMETRYCZNE Proces uczenia się często wykorzystuje regułę spadku gradientu (patrz – perceptron). ∂E ∂E ∂E , ,..., ze znakiem ujemnym wskazuje kierunek "przesunięcia" ∂wn ∂w0 ∂w1 Gradient ∇E (hw ) = wag: w ← w − η∇E ( hw ) w ← w + η ∑ ( f ( x) − hw (x))∇ w hw (x) x∈P gdzie η > 0 jest współczynnikiem uczenia. Powyższa reguła nosi nazwę uogólnionej reguły delta. Reprezentuje ona ogólny algorytm uczenia się w parametrycznych aproksymatorach funkcji (tryb epokowy – wagi modyfikowane są po każdej epoce). Jego konkretyzacja zależy od funkcji F, czyli od charakteru zależności hipotezy od w. Regułę tę można zastosować w trybie inkrementacyjnym (adaptacja wag po prezentacji każdego przykładu): w ← w + η ( f (x) − hw (x))∇ w hw (x) 4 APROKSYMATOR LINIOWY (PERCEPTRON) Hipoteza ma postać: n hw (x) = w T x = ∑ wi xi i =0 Gradient hipotezy: ∂h ∂h ∂h ∇hw (x) = w , w ,..., w = [1, x1 , x2 ,..., xn ] = x ∂wn ∂w0 ∂w1 Reguła delta (zwana reguła Widrowa-Hoffa, adaline lub LMS) dla hipotezy liniowej: tryb epokowy w ← w + η ∑ ( y − w T x) x x∈P tryb inkrementacyjny lub w ← w + η ( y − w T x)x 5 UCZENIE PERCEPTRONU Tryb epokowy 1. Wybierz losowo w, ustal η Tryb inkrementacyjny 1. Wybierz losowo w, ustal η 2. Powtarzaj 2. Powtarzaj 2.1. ∆ = 0, E = 0 2.1. E = 0 2.2. Powtarzaj dla i =1, 2, ..., N 2.2. Powtarzaj dla i =1, 2, ..., N ∆ = ∆ + ( yi − w T x i )x i E = E + ( yi − w T x i ) 2 E = E + ( yi − w T x i ) 2 w ← w + η ( yi − w T x i )x i 2.3. w ← w + η∆ 2.4. Jeśli osiągnięto warunek stopu, to zakończ 2.3. Jeśli osiągnięto warunek stopu, to zakończ Warunek stopu: osiągnięto kmax iteracji lub przez ostatnie K iteracji nie osiągnięto znaczącej poprawy rezultatu lub E < Emax. 6 MODEL REGRESJI LINIOWEJ W regresji wagi wyznacza się w sposób analityczny. Błąd aproksymacji możemy zapisać: E (hw ) = ∑ ( y − hw (x)) = (Y − Xw)T (Y − Xw) = Y T Y − 2( Xw)T Y + ( Xw)T Xw 2 x∈P gdzie: 1 x1,1 1 x 2 ,1 T X = Y = [ y1 , y2 ,..., y N ] – wektor pożądanych odpowiedzi, ... ... 1 xN ,1 x1,n x2,n – macierz przykładów ... ... ... x N ,n ... ... Przyrównując pochodną błędu do zera − XT Y + XT Xw = 0 otrzymujemy wagi modelu regresji liniowej: w = ( XT X) −1 XT Y Uwaga: Jeśli kolumny X są liniowo zależne, to wyznacznik macierzy XTX jest zerowy i macierzy tej nie można odwrócić. 7 MODEL REGRESJI LINIOWEJ Dla przypadku jednowymiarowego (n = 1) otrzymujemy: N w1 = ∑ ( x − x )( y i =1 i N ∑(y i =1 i i − y) − y) , w0 = y − w1 x gdzie i oznacza numer przykładu uczącego, x i y to wartości średnie w zbiorze uczącym. 8 REGRESJA KROKOWA Problem: duża liczba atrybutów (zależnych od siebie, nie wpływających na zmienną wyjściową y) Cel: wybrać niewielki podzbiór atrybutów, który pozwoli uprościć model zachowując jego dokładność. Regresja krokowa (stepwise regression) pozwala wyłonić w procedurze krokowej atrybuty istotne i zbudować na nich model liniowy, który zapewnia najmniejszy błąd regresji. Konstrukcja modelu regresji krokowej może przebiegać w trzech trybach: • Krokowe dodawanie atrybutów – 1. Ustal Φ = {x1, x2, …, xn} – zbiór atrybutów kandydujących i Ω = ∅ – zbiór atrybutów istotnych 2. Powtarzaj dla każdego xi ∈ Φ: 2.1. Zbuduj model z wykorzystaniem wszystkich atrybutów z Ω i i-tego atrybutu z Φ; odnotuj błąd tego modelu 3. Jeśli nie nastąpiła poprawa modelu w p. 2 – zakończ 4. Wybierz atrybut z Φ, dla którego nastąpiła największa poprawa modelu i przenieś go z Φ do Ω 9 REGRESJA KROKOWA 5. Powtórz kroki 2-5 • Krokowa eliminacja atrybutów – 1. Ustal Ω = {x1, x2, …, xn} – zbiór atrybutów istotnych 2. Powtarzaj dla każdego xi ∈ Ω: 2.1. Zbuduj model z wykorzystaniem atrybutów z Ω pomijając i-ty atrybut; odnotuj błąd tego modelu 3. Jeśli nie nastąpiła poprawa modelu w p. 2 – zakończ 4. Wybierz atrybut z Ω, po pominięciu którego nastąpiła największa poprawa modelu i usuń go z Ω 5. Powtórz kroki 2-5 • Naprzemienne użycie dwu powyższych trybów Miarą poprawy modelu jest tzw. p-wartość (liczbowe wyrażenie istotności statystycznej) testu statystycznego F-Snedecora* (stosuje się też inne kryteria). * patrz: Jóźwiak J., Podgórski J.: Statystyka od podstaw. PWE 2001, str. 403 10 REGRESJA GRZBIETOWA Problem: duże wagi wi (co do modułu) sprawiają, że wyjście y jest wrażliwe na małe zmiany wejść xi Cel: zmniejszyć wagi (co do modułu) W regresji grzbietowej (ridge regression) kryterium zawiera sumę kwadratów wag jako składnik kary†: n E (hw ) = ∑ ( y − hw (x)) + λ ∑ wi2 = (Y − Xw)T (Y − Xw) + λw T w 2 x∈P i =1 gdzie λ ≥ 0 jest parametrem określającym stopień uwzględnienia kary w kryterium. Dla λ = 0 otrzymujemy zwykły model regresji liniowej; dla λ = ∞ otrzymujemy zerowe wagi. Aby wyrównać wpływ poszczególnych wag na wartość kary przed wykonaniem obliczeń należy sprowadzić wartości wszystkich atrybutów do tej samej skali (wariancja próbkowa wszystkich atrybutów powinna wynosić 1). † Zapis w postaci macierzowej wymaga wcześniejszego wyeliminowania wyrazu wolnego w0 i scentrowania atrybutów. Wtedy macierz X ma rozmiary N×n, a w – N×1. Szczegóły w [Tib]. 11 REGRESJA GRZBIETOWA Wagi minimalizujące powyższe kryterium wyznacza się ze wzoru: w = (XT X + λI) −1 XT Y gdzie I jest macierzą jednostkową (z jedynkami na przekątnej) o wymiarach n×n. Optymalną wartość parametru λ dobiera się w procedurze kroswalidacji. Rys. Przykładowe wartości wag dla różnych wartości λ. Rys. Wartości wag (od lewej): rzeczywiste, estymowane w regresji liniowej, estymowane w regresji grzbietowej 1.5 1 w w 0.5 0 -0.5 -1 -1.5 0 20 40 60 80 100 λ 12 REGULARYZACJA Wzbogacenie kryterium o karę w postaci sumy kwadratów wag nazywa się regularyzacją Tichonowa. Regularyzacja zapobiega przeuczeniu modelu (nadmiernemu dopasowaniu). Regularyzacja pozwala zredukować błąd średniokwadratowy (MSE). Odbywa się to poprzez redukcję wariancji, chociaż obciążenie modelu wzrasta. Błąd MSE można zapisać jako: E[( f ( x ) − h( x )) 2 ] = ( E[ h( x )] − f ( x )) 2 + E[(h ( x) − E[ h ( x)]) 2 ] Kwadrat obciążenia MSE (bias)2 (mean squared error) Wariancja (var) gdzie E(.) oznacza wartość oczekiwaną. Wariancja informuje jak wrażliwy jest model na drobne zmiany w zbiorze uczącym. Obciążenie informuje jak dokładny jest model dla różnych zbiorów uczących. 13 LASSO LASSO (Least Absolute Shrinkage and Selection Operator) jest metodą regularyzacji modelu regresji liniowej, w której kryterium zawiera sumę modułów wag jako składnik kary: n E (hw ) = ∑ ( y − hw ( x)) + λ ∑ wi 2 x∈P 2.5 2 1.5 1 w Wprowadzenie kary w postaci sumy modułów zamiast sumy kwadratów wag ma ciekawe konsekwencje. W regresji grzbietowej wagi zmniejszają się waz ze wzrostem λ, ale nigdy nie osiągają zera. W LASSO wagi mogą się zerować przy odpowiednio dużych wartościach λ. LASSO jest jednocześnie algorytmem regularyzacji i selekcji atrybutów (atrybuty z zerowymi wagami nie są uwzględniane w modelu). i =1 0.5 0 -0.5 -1 0 0.005 0.01 0.015 0.02 0.025 λ 14 LASSO Podobnie jak w regresji grzbietowej redukcja MSE odbywa się poprzez redukcję wariancji, chociaż obciążenie modelu wzrasta. Rys. Wartości wag (od lewej): rzeczywiste, estymowane w regresji grzbietowej, estymowane w LASSO w Wyznaczenie wartości wag minimalizujących kryterium używane w LASSO nie jest możliwe na drodze analitycznej jak w regresji grzbietowej lecz wymaga algorytmu iteracyjnego. w=0 Elastyczna sieć (elastic net) łączy regresję grzbietową z LASSO. Składnik kary ma tutaj postać: n λ ∑ (α wi + (1 − α ) wi2 ) i =1 gdzie α ∈ [0, 1]. Dla α = 0 otrzymujemy regresję grzbietową, dla α = 1 otrzymujemy LASSO. 15 ROZSZERZONA MREPREZENTACJA ODELE LINIOWE Rozszerzona reprezentacja polega na wzbogaceniu przykładów o dodatkowe atrybuty, które są funkcjami atrybutów oryginalnych, np: xi2, xi3, xixj, log(xi), sin(xi), 1/xi itd. Model zbudowany na rozszerzonych przykładach, np. x = [x1, x2, x12, x22, x1x2] postaci: hw (x) = w1 x1 + w2 x2 + w3 x12 + w4 x22 + w5 x1 x2 + w0 to nadal model regresji liniowej, choć zależność pomiędzy x a y, którą wyraża nie jest liniowa! Wagi takiego modelu estymujemy opisanymi powyżej metodami regresji i aproksymacji liniowej. 3.5 3 h(x) = 9x 3 - 5x 2 - 3x + 2 20 2 2.5 10 0 1.5 y y y 2 -2 1 -10 -4 0.5 0 -0.5 -0.5 0 -6 0 0.5 x 1 h(x) = w1z 1 + w2z 2 + w3z 3 + w0 z 1 = exp(x 2)/x, z 2 = ln(1/x), z 3 = sin(12.8x 2) 1 w1 = -0.5, w2 = 2.6, w3 = 1.4, w0 = -2 0.2 0.4 0.6 x 0.8 1 x2 0 h(x) = 12x 1x 2 + 9x 21 - 3x 2 - 3 -1 -1 -0.5 0 0.5 1 x1 16