Upload
doxuyen
View
217
Download
0
Embed Size (px)
Citation preview
Wrocław University of Technology
WYKŁAD 5
Funkcyjna reprezentacja wiedzy
autor: Maciej Zięba
Politechnika Wrocławska
Reprezentacje wiedzyWiedza w postaci funkcyjnej
Wiedza reprezentowania jest w postacifunkcji i jej parametrów.
Proces podejmowania decyzji odbywa siępoprzez wyznaczenie wartości funkcji dlazadanych wartości argumentów.
Uczenie najczęściej odbywa się poprzezestymację parametrów w procesieoptymalizacji pewnego kryterium.
Przykład: f(WZROST,WAGA) =
2 ∗WAGA+WZROST − 320.
f(176, 85) = 26 > 0;
Wniosek: osoba, która ma 176 cm wzrostu iważy 85 kg jest rugbistą.
2/21
Reprezentacje wiedzyWiedza w postaci funkcyjnej
Wiedza reprezentowania jest w postacifunkcji i jej parametrów.
Proces podejmowania decyzji odbywa siępoprzez wyznaczenie wartości funkcji dlazadanych wartości argumentów.
Uczenie najczęściej odbywa się poprzezestymację parametrów w procesieoptymalizacji pewnego kryterium.
Przykład: f(WZROST,WAGA) =
2 ∗WAGA+WZROST − 320.
f(176, 85) = 26 > 0;
Wniosek: osoba, która ma 176 cm wzrostu iważy 85 kg jest rugbistą.
2/21
Reprezentacje wiedzyWiedza w postaci funkcyjnej
Wiedza reprezentowania jest w postacifunkcji i jej parametrów.
Proces podejmowania decyzji odbywa siępoprzez wyznaczenie wartości funkcji dlazadanych wartości argumentów.
Uczenie najczęściej odbywa się poprzezestymację parametrów w procesieoptymalizacji pewnego kryterium.
Przykład: f(WZROST,WAGA) =
2 ∗WAGA+WZROST − 320.
f(176, 85) = 26 > 0;
Wniosek: osoba, która ma 176 cm wzrostu iważy 85 kg jest rugbistą.
2/21
Sieci neuronowePojęcie neuronu
Pojedynczy neuron definiowany jest w sposóbnastępujący:
f(x,w, w0) = f(M∑m=1
wmxm + w0) = f(wTx+ w0)
gdzie:
x - sygnał wejściowy.
w - wagi synaptyczne
w0 - wartość progowa sygnału
f(·) - funkcja aktywacji.
3/21
Sieci neuronowePojęcie neuronu - typowe funkcje aktywacji
Funkcja liniowa.
f(a) = a
Funkcja sigmoidalna:
f(a) =1
1 + exp (−a)
Funkcja bipolarna:
f(a) ={1 a 0−1 a < 0
Neuron z bipolarną funkcją aktywacjinazywamy perceptronem, który powszechniestosuje się do zadań klasyfikacji.
FUNKCJA SIGMOIDALNA
FUNKCJA BIPOLARNA
4/21
Sieci neuronoweUczenie perceptronu
Dane wejściowe: zbiór uczący D = {(xn, yn)}Nn=1.
Dane wyjściowe: wagi w i w0 modelu perceptronuf(x,w, w0).
1. Ustal początkowe wartości wag w i w0;
2. Pobierz kolejny element xn ze zbioru D;
3. Wyznacz wartość wyjścia perceptronuyn = f(xn,w, w0);
4. Jeżeli yn 6= yn to aktualizuj wagi:
w(t+ 1) = w(t) + ynxn;
w0(t+ 1) = w0(t) + yn;
5. Wróć do punktu 2.;
5/21
Sieci neuronoweWielowarstwowa sieć neuronowa
1. Pojedyncze neurony tworzą wielowarstwowesieci neuronowe (MLP, ang. MultilayerPerceptron).
2. Wyjście neuronu na pierwszej warstwie:
o[1]i = f(
n+1∑j=1
w[1]i,jxj)
3. Wyjście neuronu na drugiej warstwie:
o[2]i = g(
m+1∑j=1
w[2]i,jo[1]j )
4. Wyjście neuronu na trzeciej warstwie:
yi = h(k+1∑j=1
w[3]i,jo[2]j )
6/21
Sieci neuronoweWielowarstwowa sieć neuronowa - uczenie
MLP jest modelem funkcyjnym postaci:
y(x) = h(W[3][g(W[2][f(W[1]xT ), 1]T ), 1]T )
Uczenie odbywa się poprzez znalezienie wartości macierzy wagW[j], które minimalizują błąd:
E =1N
N∑n=1
||yn − y(xn)||2
Uczenie odbywa się poprzez algorytm wstecznej propagacji.
Uwaga ! klasa kodowana jest za pomocą wektora yn, np. yn = [1, 0]- klasa 1, yn = [0, 1] - klasa 2.
Klasyfikacja obiektu xn odbywa się poprzez wyznaczenie wartościy(xn), np. y(xn) = [0.67, 0.12] - xn jest z klasy 1.
8/21
Problem separowalności danych
W przypadku liniowych klasyfikatorów(np. regresja logistyczna) ekstrakcjacech φ(x) z danych x służy rozłożeniudanych z różnych klas wseparowalnych liniowo obszarach.
Wraz ze wzrostem liczby cech Mrośnie zdolność do liniowejseparowalności danych z różnych klas.
Wraz ze wzrostem liczby cech rośnietakże liczba parametrów wm, co grozioverfittingiem.
Przestrzeń danych: x ∈ R
Przestrzeń cech: φ ∈ R2,gdzie φ(x) = (x, x2)
9/21
Liniowa separowalność dwóch klas
Poszukujemy hiperpłaszczyznypostaci:
H : wTφ(x) + b = 0
separującej punkty z obu klas wprzestrzeni cech.
Przyjmujemy kodowanie klas:yn ∈ {−1, 1}
Odległość φ(xn) od H jestrówna:
d =yn(wTφ(xn) + b)
||w||
Najlepiej dyskryminująca Hmaksymalizuje d.
margines
perceptron
maksymalny margines
dd
10/21
Klasyfikator maximum margin Interesuje nas znalezienie rozwiązania:
maxw,b
{1||w||minn(yn(wTφ(xn) + b)
} Zakładamy, że możemy przeskalować
parametry hiperpłaszczyzny tak, aby:
yn(wTφ(xn) + b) 1
dla wszystkich n. Obserwację xn spełniającerówność w powyższym warunku nazywamywektorami wspierającymi (ang. supportvectors).
Przy założeniach maksymalizacji marginesuproblem sprowadza się do:
maxw,b
1||w||
−→ minw,b
12||w||2
dd
11/21
Problem wyznaczenia maksymalnego marginesu Chcemy minimalizować następującą funkcję celu:
N∑n=1
E∞(yn(wTφ(xn) + b)− 1)︸ ︷︷ ︸strata
+12||w||2︸ ︷︷ ︸
regularyzacja
gdzie E∞(z) = 0, gdy z 0 oraz ∞ w innym przypadku.
Powyższy problem można przeformułować do zadaniaprogramowania kwadratowego:
minw,b
12||w||2
przy ograniczeniach (dla n ∈ {1, . . . , N}):
yn(wTφ(xn) + b) 1
Problem ten jest wypukły.
12/21
Sformułowanie dualne problemu optymalizacji Funkcja Lagrange’a dla rozpatrywanego problemu optymalizacji
przyjmuje postać:
L(w, b,a) =12||w||2 −
N∑n=1
an(yn(wTφ(xn) + b)− 1)
Różniczkując względem w, oraz b otrzymujemy następujące warunki:
w =N∑n=1
anynφ(xn),N∑n=1
anyn = 0
Wstawiając w i b do funkcji Lagrange’a otrzymujemy wklęsłydualny problem optymalizacji:
maxa
L(a) = maxa
{N∑n=1
an −12
N∑n=1
N∑m=1
anamynymφ(xn)Tφ(xm)
}
przy ograniczeniach an 0 oraz∑Nn=1 anyn = 0.
13/21
Klasyfikator SVM
Do problemu dualnego możemy zastosować kernel trick:
L(a) =N∑n
an −12
N∑n=1
N∑m=1
anamynym φ(xn)Tφ(xm)︸ ︷︷ ︸k(xn,xm)
Przez NS oznaczmy zbiór indeksów dla których mnożniki Lagrange’aan > 0. Odpowiadające im xn to wektory wspierające.
Zastępując w =∑n∈NS
anynφ(xn) w równaniu płaszczyzny
dyskryminującej i stosując kernel trick otrzymujemy następującyklasyfikator zwany maszyną wektorów wspierających(ang. support vector machine):
y(x) = sign
( ∑n∈NS
anynk(x,xn) + b
).
14/21
Funkcja jądra Intuicyjnie funkcję jądra (ang. kernel) k(·, ·) będziemy utożsamiać z
iloczynem skalarnym na pewnej przestrzeni cech. Przykładowoniech x, z ∈ R2 oraz niech
k(x, z) = (xTz)2 = (x1z1 + x2z2)2
= x21z21 + 2x1z1x2z2 + x
22z22
= (x21,√2x1x2, x22)(z
21 ,√2z1z2, z22)
T
= φ(x)Tφ(z) = 〈φ(x),φ(z)〉
Niech X będzie przestrzenią danych. Funkcję k : X × X → Rnazywamy jądrem dodatnio półokreślonym (ang. positivesemidefinite kernel) wtedy i tylko wtedy, gdy dla dowolnego n ∈ N,dowolnych x1, . . . ,xn ∈ X oraz dowolnych c1, . . . , cn ∈ R spełnionyjest warunek:
n∑i=1
n∑j=1
cicjk(xi,xj) 0
15/21
Kernel trick
W przypadku nieskończonej (lub bardzo dużej) liczby cech nie jestmożliwe ich wyliczenie i przechowywanie. Jednakże, jeśli naszalgorytm wymagałby jedynie wyliczenia iloczynu skalarnegopomiędzy wektorami cech, tj. 〈φ(x),φ(z)〉 to moglibyśmy zastąpićgo poprzez funkcję jądra k(x, z).
Powyższą operację nazywamy sztuczką z funkcją jądra (ang.kernel trick).
Alternatywnie, jeśli nasz algorytm wymagałby wyliczenia odległościmiędzy wektorami cech, wtedy możemy skorzystać z zależności:
‖φ(x)− φ(z)‖2 = k(x,x)− 2k(x, z) + k(z, z)
Powyższe operacje działają bezpośrednio na danych i niewymagają wyliczenia wartości cech.
16/21
Zmienne pomocnicze i soft-margin SVM
Wprowadzamy zmienne pomocnicze ξn 0 wsformułowaniu problemu uczenia SVM dla funkcjistraty hinge loss, co daje nam problem:
minw,b
{12||w||2 + C
N∑n=1
ξn
}
przy ograniczeniach: yn(wTφ(xn) + b) 1− ξn.
Problem dualny jest postaci:
maxa
{N∑n
an −12
N∑n=1
N∑m=1
anamynymk(xn,xm)
}
przy ograniczeniach 0 ¬ an ¬ Coraz
∑Nn=1 anyn = 0.
dd
18/21
Interpretacja rozwiązań Obserwacja jest poprawnie
klasyfikowana i leży poza marginesem:
ξn = 0, an = 0
Obserwacja jest poprawnieklasyfikowana i leży na H+ bądź H−:
ξn = 0, 0 < an < C
Obserwacja jest poprawnieklasyfikowana, ale leży wewnątrzmarginesu:
0 < ξn < 1, an = C
Obserwacja nie jest poprawnieklasyfikowana, wówczas:
ξn 1, an = C
dd
H+ H-H
12
3
45
6 7 8
9
10
11
12
1314 15
16 17
19/21
Uczenie SVM: Algorytm SMO
W każdej iteracji wybierane są jedynie dwieobserwacje xi, oraz xj .
Optymalizujemy funkcję dwóch zmiennychprzy ograniczeniach:
L(ai, aj) = ai + aj +12a2i ki,i +
12a2jkj,j
−yiyjaiajki,j − yiaivi − yjajvj + Lconst
gdzie ki,j = k(xi,xj), oraz:
vi =∑n 6=i,j
ynankn,i
przy ograniczeniach 0 ¬ ai, aj ¬ C, oraz:
yiai + yjaj = −∑n 6=i,j
ynan = γ
yi 6= yj!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = 0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = !!!!!! = 0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = 0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = 0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ≠ !!!!!!!!!!!!! − !! = !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = !!!!!!!!!!!!! + !! = !!yi = yj
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = 0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = !!!!!! = 0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = 0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = 0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ≠ !!!!!!!!!!!!! − !! = !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! = !!!!!!!!!!!!! + !! = !!
20/21