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

Podobne dokumenty