23
Wroclaw University of Technology WYKLAD 5 Funkcyjna reprezentacja wiedzy autor: Maciej Zięba Politechnika Wroclawska

WYKŁAD 5 Funkcyjna reprezentacja wiedzyzieba/[W4_MIW].pdf · W rocaw University ofTechnology WYKŁAD 5 Funkcyjna reprezentacja wiedzy autor: Maciej Zięba Politechnika Wrocławska

  • 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 - Przykład

7/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

Przykład

17/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

Rozszerzenia SVM

SVM dla danych niezbalansowanych:

12||w||2 + C+

∑yn=1

ξ+n + C−∑

yn=−1ξ−n

SVM dla regresji:

C

N∑n=1

Eε(y(xn)− yn) +12||w||2

gdzie:

Eε(y(xn)− yn) ={

0 if |y(xn)− yn| < ε|y(xn)− yn| − ε otherwise

One-class SVM Boosting SVM Wiele innych...

21/21