SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i...

59
SVM: Maszyny Wektorów Podpieraja ¸ cych Nguyen Hung Son SVM 1 / 24

Transcript of SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i...

Page 1: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

SVM: Maszyny Wektorów Podpierajacych

Nguyen Hung Son

SVM 1 / 24

Page 2: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Outline

1 Wprowadzenie

2 Brak liniowej separowalnosci danych

Nieznaczna nieseparowalnosc

Zmiana przetrzen atrybutów

3 Implementacja

SVM 2 / 24

Page 3: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Liniony klasyfikator

Dana jest próbka treningowa

D = {(x1, y1), ..., (xn, yn)} gdzie yi ∈ {−1,1}, xi ∈ <p

Klasyfikatorem liniowymnazywamy funkcje

fw,b(x) = sgn(w · x + b)

Próbka D jest liniowoseperowana jesli istniejeklasyfikator liniowy fw,b( )taki, ze

w · xi + b ≥ +1, gdy yi = +1w · xi + b < −1, gdy yi = −1

SVM 3 / 24

Page 4: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Liniony klasyfikator

Dana jest próbka treningowa

D = {(x1, y1), ..., (xn, yn)} gdzie yi ∈ {−1,1}, xi ∈ <p

Klasyfikatorem liniowymnazywamy funkcje

fw,b(x) = sgn(w · x + b)

Próbka D jest liniowoseperowana jesli istniejeklasyfikator liniowy fw,b( )taki, ze

w · xi + b ≥ +1, gdy yi = +1w · xi + b < −1, gdy yi = −1

SVM 3 / 24

Page 5: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Liniony klasyfikator

Dana jest próbka treningowa

D = {(x1, y1), ..., (xn, yn)} gdzie yi ∈ {−1,1}, xi ∈ <p

Klasyfikatorem liniowymnazywamy funkcje

fw,b(x) = sgn(w · x + b)

Próbka D jest liniowoseperowana jesli istniejeklasyfikator liniowy fw,b( )taki, ze

w · xi + b ≥ +1, gdy yi = +1w · xi + b < −1, gdy yi = −1

SVM 3 / 24

Page 6: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Liniony klasyfikator

Dana jest próbka treningowa

D = {(x1, y1), ..., (xn, yn)} gdzie yi ∈ {−1,1}, xi ∈ <p

Klasyfikatorem liniowymnazywamy funkcje

fw,b(x) = sgn(w · x + b)

Próbka D jest liniowoseperowana jesli istniejeklasyfikator liniowy fw,b( )taki, ze

w · xi + b ≥ +1, gdy yi = +1w · xi + b < −1, gdy yi = −1

SVM 3 / 24

Page 7: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Liniony klasyfikator

Dana jest próbka treningowa

D = {(x1, y1), ..., (xn, yn)} gdzie yi ∈ {−1,1}, xi ∈ <p

Klasyfikatorem liniowymnazywamy funkcje

fw,b(x) = sgn(w · x + b)

Próbka D jest liniowoseperowana jesli istniejeklasyfikator liniowy fw,b( )taki, ze

w · xi + b ≥ +1, gdy yi = +1w · xi + b < −1, gdy yi = −1

SVM 3 / 24

Page 8: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Liniowy klasyfikator

Uproszczony warunek:

yi(w · xi + b) ≥ 1,

dla kazdego i.Kazda z tych linii dobrzeseperuje punkty;Która z nich jestnajlepsza?

SVM 4 / 24

Page 9: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Liniowy klasyfikator

Uproszczony warunek:

yi(w · xi + b) ≥ 1,

dla kazdego i.Kazda z tych linii dobrzeseperuje punkty;Która z nich jestnajlepsza?

SVM 4 / 24

Page 10: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Liniowy klasyfikator

Uproszczony warunek:

yi(w · xi + b) ≥ 1,

dla kazdego i.Kazda z tych linii dobrzeseperuje punkty;Która z nich jestnajlepsza?

SVM 4 / 24

Page 11: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Liniowy klasyfikator

Uproszczony warunek:

yi(w · xi + b) ≥ 1,

dla kazdego i.

Kazda z tych linii dobrzeseperuje punkty;Która z nich jestnajlepsza?

SVM 4 / 24

Page 12: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Liniowy klasyfikator

Uproszczony warunek:

yi(w · xi + b) ≥ 1,

dla kazdego i.Kazda z tych linii dobrzeseperuje punkty;

Która z nich jestnajlepsza?

SVM 4 / 24

Page 13: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Liniowy klasyfikator

Uproszczony warunek:

yi(w · xi + b) ≥ 1,

dla kazdego i.Kazda z tych linii dobrzeseperuje punkty;Która z nich jestnajlepsza?

SVM 4 / 24

Page 14: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Margines klasyfikatora liniowego

Margines = szerokosc bezpiecznego obszaru poobu stronach hiperpłaszczyzny;

Margines jest wyznaczony przez 2 hiperpłaszczyzny.Chcemy znalezc klasyfikator z maksymalnymmarginesem

SVM 5 / 24

Page 15: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Margines klasyfikatora liniowego

Margines = szerokosc bezpiecznego obszaru poobu stronach hiperpłaszczyzny;Margines jest wyznaczony przez 2 hiperpłaszczyzny.

Chcemy znalezc klasyfikator z maksymalnymmarginesem

SVM 5 / 24

Page 16: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Margines klasyfikatora liniowego

Margines = szerokosc bezpiecznego obszaru poobu stronach hiperpłaszczyzny;Margines jest wyznaczony przez 2 hiperpłaszczyzny.Chcemy znalezc klasyfikator z maksymalnymmarginesem

SVM 5 / 24

Page 17: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Wektory podpierajace

Niech H1, H2 bedabrzegami marginesu;

Powinismy oprzec brzegi opunkty z próbkitreningowej

Te punkty nazywamywektoramipodpierajacymi

Równanie H1 i H2:

H1 :w · x + b = 1H2 :w · x + b = −1

Odległosc miedzy H1 a H2:

d(H1,H2) =2||w||

Maksymalizujemy d(H1,H2) lub minimalizujemy||w||

2.

SVM 6 / 24

Page 18: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Wektory podpierajace

Niech H1, H2 bedabrzegami marginesu;

Powinismy oprzec brzegi opunkty z próbkitreningowej

Te punkty nazywamywektoramipodpierajacymi

Równanie H1 i H2:

H1 :w · x + b = 1H2 :w · x + b = −1

Odległosc miedzy H1 a H2:

d(H1,H2) =2||w||

Maksymalizujemy d(H1,H2) lub minimalizujemy||w||

2.

SVM 6 / 24

Page 19: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Wektory podpierajace

Niech H1, H2 bedabrzegami marginesu;

Powinismy oprzec brzegi opunkty z próbkitreningowej

Te punkty nazywamywektoramipodpierajacymi

Równanie H1 i H2:

H1 :w · x + b = 1H2 :w · x + b = −1

Odległosc miedzy H1 a H2:

d(H1,H2) =2||w||

Maksymalizujemy d(H1,H2) lub minimalizujemy||w||

2.

SVM 6 / 24

Page 20: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Wektory podpierajace

Niech H1, H2 bedabrzegami marginesu;

Powinismy oprzec brzegi opunkty z próbkitreningowej

Te punkty nazywamywektoramipodpierajacymi

Równanie H1 i H2:

H1 :w · x + b = 1H2 :w · x + b = −1

Odległosc miedzy H1 a H2:

d(H1,H2) =2||w||

Maksymalizujemy d(H1,H2) lub minimalizujemy||w||

2.

SVM 6 / 24

Page 21: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Wektory podpierajace

Niech H1, H2 bedabrzegami marginesu;

Powinismy oprzec brzegi opunkty z próbkitreningowej

Te punkty nazywamywektoramipodpierajacymi

Równanie H1 i H2:

H1 :w · x + b = 1H2 :w · x + b = −1

Odległosc miedzy H1 a H2:

d(H1,H2) =2||w||

Maksymalizujemy d(H1,H2) lub minimalizujemy||w||

2.

SVM 6 / 24

Page 22: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Wektory podpierajace

Niech H1, H2 bedabrzegami marginesu;

Powinismy oprzec brzegi opunkty z próbkitreningowej

Te punkty nazywamywektoramipodpierajacymi

Równanie H1 i H2:

H1 :w · x + b = 1H2 :w · x + b = −1

Odległosc miedzy H1 a H2:

d(H1,H2) =2||w||

Maksymalizujemy d(H1,H2) lub minimalizujemy||w||

2.

SVM 6 / 24

Page 23: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Wektory podpierajace

Niech H1, H2 bedabrzegami marginesu;

Powinismy oprzec brzegi opunkty z próbkitreningowej

Te punkty nazywamywektoramipodpierajacymi

Równanie H1 i H2:

H1 :w · x + b = 1H2 :w · x + b = −1

Odległosc miedzy H1 a H2:

d(H1,H2) =2||w||

Maksymalizujemy d(H1,H2) lub minimalizujemy||w||

2.

SVM 6 / 24

Page 24: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Problem optymalizacyjny

Zadanie LSVM

Znalezc w i b które minimalizuja

||w||2

2

przy ograniczeniach

yi(w · xi + b)− 1 ≥ 0; i = 1, ...,n

Q: Jak rozwiazac tego typu zagadnienia?

A: Metoda gradientu?, symulowanego wyzrzania?,odwracanie macierzy? EM? Newton?PROGRAMOWANIE KWADRATOWE?

SVM 7 / 24

Page 25: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Pogramowanie kwadratowe QP

Znalezc

arg maxu

c + dTu +uTRu

2

przy załozeniach:A1u ≤ b1

orazA2u = b2

To zagadnienie jest dobrze zbadane i istnieja bardzoefektywne algorytmy rozwiazujace ten problem

SVM 8 / 24

Page 26: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Pogramowanie kwadratowe QP

Znalezc

arg maxu

c + dTu +uTRu

2przy załozeniach:

A1u ≤ b1

orazA2u = b2

To zagadnienie jest dobrze zbadane i istnieja bardzoefektywne algorytmy rozwiazujace ten problem

SVM 8 / 24

Page 27: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Pogramowanie kwadratowe QP

Znalezc

arg maxu

c + dTu +uTRu

2przy załozeniach:

A1u ≤ b1

orazA2u = b2

To zagadnienie jest dobrze zbadane i istnieja bardzoefektywne algorytmy rozwiazujace ten problem

SVM 8 / 24

Page 28: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Metoda Lagrange’a

Rozwiazywanie zagadnienia LSVM⇔ znalezieniepunktu siodłowego wielomianu Lagrange’a:

L(w,b, α) =12(w ·w)−

n∑i=1

αi {[(xi ·w)− b]yi − 1}

gdzie α = (α1, ..., αn) jest wektorem nieujemnychwspółczynników Lagrange’a

Punkt siodłowy = maksimum funkcji wzgledemαi ≥ 0 i minimum funkcji wzgledem w i b.

SVM 9 / 24

Page 29: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Metoda Lagrange’a

Rozwiazywanie zagadnienia LSVM⇔ znalezieniepunktu siodłowego wielomianu Lagrange’a:

L(w,b, α) =12(w ·w)−

n∑i=1

αi {[(xi ·w)− b]yi − 1}

gdzie α = (α1, ..., αn) jest wektorem nieujemnychwspółczynników Lagrange’aPunkt siodłowy = maksimum funkcji wzgledemαi ≥ 0 i minimum funkcji wzgledem w i b.

SVM 9 / 24

Page 30: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Metoda Lagrange’a (c.d.)

Twierdzenie Karusha-Kuhna-Tuckera: warunkiemkoniecznym istnienia punktu siodlowego jest

zerowanie sie gradientu wzg. w, czyli

w =

n∑i=1

yiαixi (1)

zerowanie sie pochodnej wzg. b, czyli

n∑i=1

αiyi = 0 (2)

spełnienie warunku:

αi {[(xi ·w0)− b0]yi − 1} = 0, for i = 1, ...,n (3)

SVM 10 / 24

Page 31: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Metoda Lagrange’a (c.d.)

Twierdzenie Karusha-Kuhna-Tuckera: warunkiemkoniecznym istnienia punktu siodlowego jest

zerowanie sie gradientu wzg. w, czyli

w =

n∑i=1

yiαixi (1)

zerowanie sie pochodnej wzg. b, czyli

n∑i=1

αiyi = 0 (2)

spełnienie warunku:

αi {[(xi ·w0)− b0]yi − 1} = 0, for i = 1, ...,n (3)

SVM 10 / 24

Page 32: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Metoda Lagrange’a (c.d.)

Twierdzenie Karusha-Kuhna-Tuckera: warunkiemkoniecznym istnienia punktu siodlowego jest

zerowanie sie gradientu wzg. w, czyli

w =

n∑i=1

yiαixi (1)

zerowanie sie pochodnej wzg. b, czyli

n∑i=1

αiyi = 0 (2)

spełnienie warunku:

αi {[(xi ·w0)− b0]yi − 1} = 0, for i = 1, ...,n (3)

SVM 10 / 24

Page 33: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Metoda Lagrange’a (c.d.)

Po uwzglednieniu tych warunków (na istnienie punktusiodłowego) mamy nowy problem optymalizacyjny:

Znalezc wektor α bedacy maksimum funkcji

W(α) =

n∑i=1

αi −12

n∑ij=1

αiαjyiyj(xi · xj) (4)

przy ograniczeniach

αi ≥ 0, i = 1, ..,n orazn∑

i=1

αiyi = 0 (5)

SVM 11 / 24

Page 34: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Metoda Lagrange’a (c.d.)

Po uwzglednieniu tych warunków (na istnienie punktusiodłowego) mamy nowy problem optymalizacyjny:

Znalezc wektor α bedacy maksimum funkcji

W(α) =

n∑i=1

αi −12

n∑ij=1

αiαjyiyj(xi · xj) (4)

przy ograniczeniach

αi ≥ 0, i = 1, ..,n orazn∑

i=1

αiyi = 0 (5)

SVM 11 / 24

Page 35: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Metoda Lagrange’a (c.d.)

Niech wektor (α01, ..., α

0n) bedzie rozwiazaniem

maksymalizujacym (4) przy ograniczeniach (5).

Z (3) wynika, ze jesli xi nie jest wektorempodpierajacym to α0

i = 0;Równania (4) i (5) odbywaja sie faktycznie tylko powektorach podpierajacych.Hyperpłaszczyzna rozdzielajaca ma postacw0x− b0 = 0 gdzie

w0 =∑

wektory podp.

yiα0i xi b0 =

12[(w0·x(1))+(w0·x(−1))]

tu x(1) i x(−1) sa dowolnymi wektoramipodpierajacymi z kazdej z klas.

SVM 12 / 24

Page 36: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Metoda Lagrange’a (c.d.)

Niech wektor (α01, ..., α

0n) bedzie rozwiazaniem

maksymalizujacym (4) przy ograniczeniach (5).Z (3) wynika, ze jesli xi nie jest wektorempodpierajacym to α0

i = 0;

Równania (4) i (5) odbywaja sie faktycznie tylko powektorach podpierajacych.Hyperpłaszczyzna rozdzielajaca ma postacw0x− b0 = 0 gdzie

w0 =∑

wektory podp.

yiα0i xi b0 =

12[(w0·x(1))+(w0·x(−1))]

tu x(1) i x(−1) sa dowolnymi wektoramipodpierajacymi z kazdej z klas.

SVM 12 / 24

Page 37: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Metoda Lagrange’a (c.d.)

Niech wektor (α01, ..., α

0n) bedzie rozwiazaniem

maksymalizujacym (4) przy ograniczeniach (5).Z (3) wynika, ze jesli xi nie jest wektorempodpierajacym to α0

i = 0;Równania (4) i (5) odbywaja sie faktycznie tylko powektorach podpierajacych.

Hyperpłaszczyzna rozdzielajaca ma postacw0x− b0 = 0 gdzie

w0 =∑

wektory podp.

yiα0i xi b0 =

12[(w0·x(1))+(w0·x(−1))]

tu x(1) i x(−1) sa dowolnymi wektoramipodpierajacymi z kazdej z klas.

SVM 12 / 24

Page 38: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Metoda Lagrange’a (c.d.)

Niech wektor (α01, ..., α

0n) bedzie rozwiazaniem

maksymalizujacym (4) przy ograniczeniach (5).Z (3) wynika, ze jesli xi nie jest wektorempodpierajacym to α0

i = 0;Równania (4) i (5) odbywaja sie faktycznie tylko powektorach podpierajacych.Hyperpłaszczyzna rozdzielajaca ma postacw0x− b0 = 0 gdzie

w0 =∑

wektory podp.

yiα0i xi b0 =

12[(w0·x(1))+(w0·x(−1))]

tu x(1) i x(−1) sa dowolnymi wektoramipodpierajacymi z kazdej z klas.

SVM 12 / 24

Page 39: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Liniowy SVM

Ostateczna funkcja decyzyjna:

f (x) = sgn(∑

wektory podp.

yiα0i (xi · x) + b0) (6)

SVM 13 / 24

Page 40: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Outline

1 Wprowadzenie

2 Brak liniowej separowalnosci danych

Nieznaczna nieseparowalnosc

Zmiana przetrzen atrybutów

3 Implementacja

SVM 14 / 24

Page 41: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Przypadek nieseparowalnosci

Załozenie o separowalnosci klas jest nienaturalna;

Modyfikacja:

w · xi + b ≥ 1− ξi, gdy yi = +1w · xi + b ≤ −1 + ξi, gdy yi = −1

gdzie stałe ξi spełniaja warunki:

ξi ≥ 0, i = 1, ...,n.

Zmodyfikowana funkcja do minimalizacji

||w||2

2+ C

n∑i=1

ξi

C jest stała “kara” za niespełnienie idealnychwarunków.

SVM 15 / 24

Page 42: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Przypadek nieseparowalnosci

Załozenie o separowalnosci klas jest nienaturalna;Modyfikacja:

w · xi + b ≥ 1− ξi, gdy yi = +1w · xi + b ≤ −1 + ξi, gdy yi = −1

gdzie stałe ξi spełniaja warunki:

ξi ≥ 0, i = 1, ...,n.

Zmodyfikowana funkcja do minimalizacji

||w||2

2+ C

n∑i=1

ξi

C jest stała “kara” za niespełnienie idealnychwarunków.

SVM 15 / 24

Page 43: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Przypadek nieseparowalnosci

Załozenie o separowalnosci klas jest nienaturalna;Modyfikacja:

w · xi + b ≥ 1− ξi, gdy yi = +1w · xi + b ≤ −1 + ξi, gdy yi = −1

gdzie stałe ξi spełniaja warunki:

ξi ≥ 0, i = 1, ...,n.

Zmodyfikowana funkcja do minimalizacji

||w||2

2+ C

n∑i=1

ξi

C jest stała “kara” za niespełnienie idealnychwarunków.

SVM 15 / 24

Page 44: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Przypadek nieseparowalnosci

Ogólne zadanie SVM

Znalezc w i b które minimalizuja

||w||2

2+ C

n∑i=1

ξi

przy ograniczeniach

w · xi + b ≥ 1− ξi, gdy yi = +1w · xi + b ≤ −1 + ξi, gdy yi = −1ξi ≥ 0, i = 1, ...,n.

SVM 16 / 24

Page 45: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Przypadek nieseparowalnosci

Mozna pokazac, ze zarówno i w tym przypadku,mozemy sprowadzic do problemu

Znalezc wektor (α01, ..., α

0n) bedacy maksimum funkcji

W(α) =

n∑i=1

αi −12

n∑ij=1

αiαjyiyj(xi · xj) (7)

przy ograniczeniach

C ≥ αi ≥ 0, i = 1, ..,n orazn∑

i=1

αiyi = 0 (8)

A nastepnie stosowac funkcje decyzyjna:

f (x) = sgn

∑wektory podp.

yiα0i (xi · x) + b0

(9)

SVM 17 / 24

Page 46: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Przypadek nieseparowalnosci

Mozna pokazac, ze zarówno i w tym przypadku,mozemy sprowadzic do problemu

Znalezc wektor (α01, ..., α

0n) bedacy maksimum funkcji

W(α) =

n∑i=1

αi −12

n∑ij=1

αiαjyiyj(xi · xj) (7)

przy ograniczeniach

C ≥ αi ≥ 0, i = 1, ..,n orazn∑

i=1

αiyi = 0 (8)

A nastepnie stosowac funkcje decyzyjna:

f (x) = sgn

∑wektory podp.

yiα0i (xi · x) + b0

(9)

SVM 17 / 24

Page 47: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Przypadek nieseparowalnosci

Mozna pokazac, ze zarówno i w tym przypadku,mozemy sprowadzic do problemu

Znalezc wektor (α01, ..., α

0n) bedacy maksimum funkcji

W(α) =

n∑i=1

αi −12

n∑ij=1

αiαjyiyj(xi · xj) (7)

przy ograniczeniach

C ≥ αi ≥ 0, i = 1, ..,n orazn∑

i=1

αiyi = 0 (8)

A nastepnie stosowac funkcje decyzyjna:

f (x) = sgn

∑wektory podp.

yiα0i (xi · x) + b0

(9)

SVM 17 / 24

Page 48: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Zanurzenie obserwacji w bogatszej przetrzeni

Przekształcimy dane w bogatszej przetrzeni cech:

φ : <p → F ⊆ <N, N � p

wystarczy zamienic iloczyny skalarne (xi · xj) wewszystkich wzorach na (φ(xi) · φ(xj))

SVM 18 / 24

Page 49: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Zanurzenie obserwacji w bogatszej przetrzeni

Przekształcimy dane w bogatszej przetrzeni cech:

φ : <p → F ⊆ <N, N � p

wystarczy zamienic iloczyny skalarne (xi · xj) wewszystkich wzorach na (φ(xi) · φ(xj))

SVM 18 / 24

Page 50: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

PROBLEM OBLICZENIOWY: czas wykonania iloczynuskalarnego (φ(xi) · φ(xj)) wynosi O(N2)

TRIK: Kernel functions

K((xi · xj)) = (φ(xi) · φ(xj))

Zmieniona funkcja:

W(α) =

n∑i=1

αi −12

n∑ij=1

αiαjyiyj(φ(xi) · φ(xj))

=

n∑i=1

αi −12

n∑ij=1

αiαjyiyjK(xi · xj)

SVM 19 / 24

Page 51: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

PROBLEM OBLICZENIOWY: czas wykonania iloczynuskalarnego (φ(xi) · φ(xj)) wynosi O(N2)

TRIK: Kernel functions

K((xi · xj)) = (φ(xi) · φ(xj))

Zmieniona funkcja:

W(α) =

n∑i=1

αi −12

n∑ij=1

αiαjyiyj(φ(xi) · φ(xj))

=

n∑i=1

αi −12

n∑ij=1

αiαjyiyjK(xi · xj)

SVM 19 / 24

Page 52: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

PROBLEM OBLICZENIOWY: czas wykonania iloczynuskalarnego (φ(xi) · φ(xj)) wynosi O(N2)

TRIK: Kernel functions

K((xi · xj)) = (φ(xi) · φ(xj))

Zmieniona funkcja:

W(α) =

n∑i=1

αi −12

n∑ij=1

αiαjyiyj(φ(xi) · φ(xj))

=

n∑i=1

αi −12

n∑ij=1

αiαjyiyjK(xi · xj)

SVM 19 / 24

Page 53: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Example

SVM 20 / 24

Page 54: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Outline

1 Wprowadzenie

2 Brak liniowej separowalnosci danych

Nieznaczna nieseparowalnosc

Zmiana przetrzen atrybutów

3 Implementacja

SVM 21 / 24

Page 55: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Uczenie SVM

Problem

Wejscie: D = {(x1, y1), ..., (xn, yn)}; K: funkcja jadrowa.Wyjscie: wektor (α0

1, ..., α0n) bedacy maksimum funkcji

W(α) =n∑

i=1

αi −12

n∑ij=1

αiαjyiyjK(xi · xj)

przy ograniczeniach

C ≥ αi ≥ 0, i = 1, ..,n orazn∑

i=1

αiyi = 0

SVM 22 / 24

Page 56: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Uczenie SVM

Problem

Wejscie: D = {(x1, y1), ..., (xn, yn)}; K: funkcja jadrowa.

Wyjscie: wektor (α01, ..., α

0n) bedacy maksimum funkcji

W(α) =n∑

i=1

αi −12

n∑ij=1

αiαjyiyjK(xi · xj)

przy ograniczeniach

C ≥ αi ≥ 0, i = 1, ..,n orazn∑

i=1

αiyi = 0

SVM 22 / 24

Page 57: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Uczenie SVM

Problem

Wejscie: D = {(x1, y1), ..., (xn, yn)}; K: funkcja jadrowa.Wyjscie: wektor (α0

1, ..., α0n) bedacy maksimum funkcji

W(α) =

n∑i=1

αi −12

n∑ij=1

αiαjyiyjK(xi · xj)

przy ograniczeniach

C ≥ αi ≥ 0, i = 1, ..,n orazn∑

i=1

αiyi = 0

SVM 22 / 24

Page 58: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Przykład metody gradientu dla QP

SVM 23 / 24

Page 59: SVM: Maszyny Wektorów Podpierajacychson/sysdec/W7-SVM.pdfTo zagadnienie jest dobrze zbadane i istnieja˛ bardzo efektywne algorytmy rozwiazuj˛ ace˛ ten problem SVM 8 / 24 Metoda

Działanie SVM

f (x) = sgn

∑wektory podp.

yiα0i K(xi · x) + b0

SVM 24 / 24