SVM: Maszyny Wektorów Podpieraja cych

Podobne dokumenty
WYKŁAD: Perceptron Rosenblatta. Maszyny wektorów podpierających (SVM). Empiryczne reguły bayesowskie. Zaawansowane Metody Uczenia Maszynowego

UCZENIE MASZYNOWE III - SVM. mgr inż. Adam Kupryjanow

7. Maszyny wektorów podpierajacych SVMs

Metoda Karusha-Kuhna-Tuckera

PROGRAMOWANIE KWADRATOWE

Metody systemowe i decyzyjne w informatyce

Definicja problemu programowania matematycznego

Rozwiazywanie układów równań liniowych. Ax = b

PROGRAMOWANIE NIELINIOWE

Wstęp do przetwarzania języka naturalnego. Wykład 11 Maszyna Wektorów Nośnych

Data Mining Wykład 6. Naiwny klasyfikator Bayes a Maszyna wektorów nośnych (SVM) Naiwny klasyfikator Bayesa.

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Optymalizacja

Programowanie liniowe

Elementy Modelowania Matematycznego Wykład 7 Programowanie nieliniowe i całkowitoliczbowe

Jądrowe klasyfikatory liniowe

Optymalizacja ciągła

Endomorfizmy liniowe

Elementy Modelowania Matematycznego

Optymalizacja ciągła

Diagonalizacja macierzy i jej zastosowania

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Programowanie matematyczne

1 Macierz odwrotna metoda operacji elementarnych

Maciej Grzesiak. Optymalizacja

Diagonalizacja macierzy i jej zastosowania

Obliczenia naukowe Wykład nr 6

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Regulator liniowo kwadratowy na przykładzie wahadła odwróconego

Klasyfikatory SVM. Przemysław Klęsk. 1 Wiadomości ogólne 1. 2 Margines separacji Wzór na odległość punktu od płaszczyzny...

Sterowanie optymalne

Zadania egzaminacyjne

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

Diagonalizacja macierzy i jej zastosowania

Równania różniczkowe liniowe wyższych rzędów o stałych współcz

W ostatnim wykładzie doszliśmy do tego, że problem znalezienia klasyfikatora optymalnego pod względem marginesów można wyrazić w następujący sposób:

Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.

INTERPOLACJA I APROKSYMACJA FUNKCJI

Metody numeryczne. Sformułowanie zagadnienia interpolacji

φ(x 1,..., x n ) = a i x 2 i +

5. Rozwiązywanie układów równań liniowych

Układy równań nieliniowych (wielowymiarowa metoda Newtona-Raphsona) f(x) = 0, gdzie. dla n=2 np.

Teoria systemów uczacych się i wymiar Vapnika-Chervonenkisa

Metody Obliczeniowe w Nauce i Technice

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

1 Formy hermitowskie. GAL (Informatyka) Wykład - formy hermitowskie. Paweł Bechler

2. Kombinacja liniowa rozwiązań zeruje się w pewnym punkcie wtedy i tylko wtedy, gdy zeruje się w każdym punkcie.

wiedzy Sieci neuronowe

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

5. Analiza dyskryminacyjna: FLD, LDA, QDA

Wektor, prosta, płaszczyzna; liniowa niezależność, rząd macierzy

3. Funkcje wielu zmiennych

Definicje i przykłady

Zaawansowane metody numeryczne

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

Popularne klasyfikatory w pakietach komputerowych

Wyk lad 14 Formy kwadratowe I

Metody Numeryczne Wykład 4 Wykład 5. Interpolacja wielomianowa

Wyk lad 11 1 Wektory i wartości w lasne

Entropia Renyi ego, estymacja gęstości i klasyfikacja

2. Układy równań liniowych

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Aproksymacja. j<k. L 2 p[a, b] l 2 p,n X = Lemat 1. Wielomiany ortogonalne P 0,P 1,...,P n tworza przestrzeni liniowej Π n. Dowód.

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

Zaawansowane metody numeryczne

Optymalizacja ciągła

1 Układy równań liniowych

Własności wyznacznika

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna

ALGORYTMY OPTYMALIZACJI wyklad 1.nb 1. Wykład 1

Programowanie liniowe

Mnożniki funkcyjne Lagrange a i funkcje kary w sterowaniu optymalnym

Zadania do wykładu Jakościowa Teoria Równań Różniczkowych Zwyczajnych

Programowanie liniowe

Metody eksploracji danych 2. Metody regresji. Piotr Szwed Katedra Informatyki Stosowanej AGH 2017

Metody systemowe i decyzyjne w informatyce

Optymalizacja systemów

Równania różniczkowe liniowe rzędu pierwszego

Formy kwadratowe. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. wykład z algebry liniowej Warszawa, styczeń 2009


ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku

Przestrzeń unitarna. Jacek Kłopotowski. 23 października Katedra Matematyki i Ekonomii Matematycznej SGH

Równania różniczkowe liniowe II rzędu

jest rozwiązaniem równania jednorodnego oraz dla pewnego to jest toŝsamościowo równe zeru.

Metody systemowe i decyzyjne w informatyce

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Metody numeryczne. Równania nieliniowe. Janusz Szwabiński.

Metody systemowe i decyzyjne w informatyce

) a j x j b; x j binarne (j N) całkowitoliczbowe; przyjmujemy (bez straty ogólności): c j > 0, 0 <a j b (j N), P n

Rachunek różniczkowy funkcji dwóch zmiennych

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

Metody numeryczne I Równania nieliniowe

Informacja o przestrzeniach Sobolewa

Numeryczne metody optymalizacji Optymalizacja w kierunku. informacje dodatkowe

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku

6. Perceptron Rosenblatta

Wykład 3 Równania rózniczkowe cd

Zaawansowane metody numeryczne

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

1 Pochodne wyższych rzędów

Transkrypt:

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

Outline SVM 2 / 24 1 Wprowadzenie 2 Brak liniowej separowalności danych Nieznaczna nieseparowalność Zmiana przetrzeń atrybutów 3 Implementacja

Liniony klasyfikator SVM 3 / 24 Dana jest próbka treningowa D = {(x 1, y 1 ),..., (x n, y n )} gdzie y i { 1, 1}, x i R p

Liniony klasyfikator SVM 3 / 24 Dana jest próbka treningowa D = {(x 1, y 1 ),..., (x n, y n )} gdzie y i { 1, 1}, x i R p

Liniony klasyfikator SVM 3 / 24 Dana jest próbka treningowa D = {(x 1, y 1 ),..., (x n, y n )} gdzie y i { 1, 1}, x i R p

Liniony klasyfikator SVM 3 / 24 Dana jest próbka treningowa D = {(x 1, y 1 ),..., (x n, y n )} gdzie y i { 1, 1}, x i R p Klasyfikatorem liniowym nazywamy funkcję f w,b (x) = sgn(w x + b)

Liniony klasyfikator SVM 3 / 24 Dana jest próbka treningowa D = {(x 1, y 1 ),..., (x n, y n )} gdzie y i { 1, 1}, x i R p Klasyfikatorem liniowym nazywamy funkcję f w,b (x) = sgn(w x + b) Próbka D jest liniowo seperowana jeśli istnieje klasyfikator liniowy f w,b ( ) taki, że w x i + b +1, gdy y i = +1 w x i + b < 1, gdy y i = 1

Liniowy klasyfikator SVM 4 / 24

Liniowy klasyfikator SVM 4 / 24

Liniowy klasyfikator SVM 4 / 24

Liniowy klasyfikator SVM 4 / 24 Uproszczony warunek: y i (w x i + b) 1, dla każdego i.

Liniowy klasyfikator SVM 4 / 24 Uproszczony warunek: y i (w x i + b) 1, dla każdego i. Każda z tych linii dobrze seperuje punkty;

Liniowy klasyfikator SVM 4 / 24 Uproszczony warunek: y i (w x i + b) 1, dla każdego i. Każda z tych linii dobrze seperuje punkty; Która z nich jest najlepsza?

Margines klasyfikatora liniowego SVM 5 / 24 Margines = szerokość bezpiecznego obszaru po obu stronach hiperpłaszczyzny;

Margines klasyfikatora liniowego SVM 5 / 24 Margines = szerokość bezpiecznego obszaru po obu stronach hiperpłaszczyzny; Margines jest wyznaczony przez 2 hiperpłaszczyzny.

Margines klasyfikatora liniowego SVM 5 / 24 Margines = szerokość bezpiecznego obszaru po obu stronach hiperpłaszczyzny; Margines jest wyznaczony przez 2 hiperpłaszczyzny. Chcemy znaleźć klasyfikator z maksymalnym marginesem

Wektory podpierajace SVM 6 / 24 Maksymalizujemy d(h 1, H 2 ) lub minimalizujemy w 2.

Wektory podpierajace SVM 6 / 24 Maksymalizujemy d(h 1, H 2 ) lub minimalizujemy w 2.

Wektory podpierajace SVM 6 / 24 Niech H 1, H 2 będa brzegami marginesu; Maksymalizujemy d(h 1, H 2 ) lub minimalizujemy w 2.

Wektory podpierajace SVM 6 / 24 Niech H 1, H 2 będa brzegami marginesu; Powiniśmy oprzeć brzegi o punkty z próbki treningowej Maksymalizujemy d(h 1, H 2 ) lub minimalizujemy w 2.

Wektory podpierajace SVM 6 / 24 Niech H 1, H 2 będa brzegami marginesu; Powiniśmy oprzeć brzegi o punkty z próbki treningowej Te punkty nazywamy wektorami podpierajacymi Maksymalizujemy d(h 1, H 2 ) lub minimalizujemy w 2.

Wektory podpierajace SVM 6 / 24 Niech H 1, H 2 będa brzegami marginesu; Powiniśmy oprzeć brzegi o punkty z próbki treningowej Te punkty nazywamy wektorami podpierajacymi Równanie H 1 i H 2 : H 1 :w x + b = 1 H 2 :w x + b = 1 Maksymalizujemy d(h 1, H 2 ) lub minimalizujemy w 2.

Wektory podpierajace SVM 6 / 24 Niech H 1, H 2 będa brzegami marginesu; Powiniśmy oprzeć brzegi o punkty z próbki treningowej Te punkty nazywamy wektorami podpierajacymi Równanie H 1 i H 2 : H 1 :w x + b = 1 H 2 :w x + b = 1 Odległość między H 1 a H 2 : d(h 1, H 2 ) = 2 w Maksymalizujemy d(h 1, H 2 ) lub minimalizujemy w 2.

Problem optymalizacyjny SVM 7 / 24 Zadanie LSVM Znaleźć w i b które minimalizuja przy ograniczeniach w 2 2 y i (w x i + b) 1 0; i = 1,..., n Q: Jak rozwiazać tego typu zagadnienia? A: Metoda gradientu?, symulowanego wyżrzania?, odwracanie macierzy? EM? Newton? PROGRAMOWANIE KWADRATOWE?

Pogramowanie kwadratowe QP SVM 8 / 24 Znaleźć arg max c + u dt u + ut Ru 2 To zagadnienie jest dobrze zbadane i istnieja bardzo efektywne algorytmy rozwiazuj ace ten problem

Pogramowanie kwadratowe QP SVM 8 / 24 Znaleźć przy założeniach: arg max c + u dt u + ut Ru 2 A 1 u b 1 To zagadnienie jest dobrze zbadane i istnieja bardzo efektywne algorytmy rozwiazuj ace ten problem

Pogramowanie kwadratowe QP SVM 8 / 24 Znaleźć przy założeniach: oraz arg max c + u dt u + ut Ru 2 A 1 u b 1 A 2 u = b 2 To zagadnienie jest dobrze zbadane i istnieja bardzo efektywne algorytmy rozwiazuj ace ten problem

Metoda Lagrange a SVM 9 / 24 Rozwiazywanie zagadnienia LSVM znalezienie punktu siodłowego wielomianu Lagrange a: L(w, b, α) = 1 n 2 (w w) α i {[(x i w) b]y i 1} i=1 gdzie α = (α 1,..., α n ) jest wektorem nieujemnych współczynników Lagrange a

Metoda Lagrange a SVM 9 / 24 Rozwiazywanie zagadnienia LSVM znalezienie punktu siodłowego wielomianu Lagrange a: L(w, b, α) = 1 n 2 (w w) α i {[(x i w) b]y i 1} i=1 gdzie α = (α 1,..., α n ) jest wektorem nieujemnych współczynników Lagrange a Punkt siodłowy = maksimum funkcji względem α i 0 i minimum funkcji względem w i b.

Metoda Lagrange a (c.d.) SVM 10 / 24 Twierdzenie Karusha-Kuhna-Tuckera: warunkiem koniecznym istnienia punktu siodlowego jest zerowanie się gradientu wzg. w, czyli w = n y i α i x i (1) i=1

Metoda Lagrange a (c.d.) SVM 10 / 24 Twierdzenie Karusha-Kuhna-Tuckera: warunkiem koniecznym istnienia punktu siodlowego jest zerowanie się gradientu wzg. w, czyli w = n y i α i x i (1) i=1 zerowanie się pochodnej wzg. b, czyli n α i y i = 0 (2) i=1

Metoda Lagrange a (c.d.) SVM 10 / 24 Twierdzenie Karusha-Kuhna-Tuckera: warunkiem koniecznym istnienia punktu siodlowego jest zerowanie się gradientu wzg. w, czyli w = n y i α i x i (1) i=1 zerowanie się pochodnej wzg. b, czyli n α i y i = 0 (2) i=1 spełnienie warunku: α i {[(x i w 0 ) b 0 ]y i 1} = 0, for i = 1,..., n (3)

Metoda Lagrange a (c.d.) SVM 11 / 24 Po uwzględnieniu tych warunków (na istnienie punktu siodłowego) mamy nowy problem optymalizacyjny: Znaleźć wektor α będacy maksimum funkcji W(α) = n α i 1 n α i α j y i y j (x i x j ) (4) 2 i=1 ij=1

Metoda Lagrange a (c.d.) SVM 11 / 24 Po uwzględnieniu tych warunków (na istnienie punktu siodłowego) mamy nowy problem optymalizacyjny: Znaleźć wektor α będacy maksimum funkcji W(α) = n α i 1 n α i α j y i y j (x i x j ) (4) 2 i=1 ij=1 przy ograniczeniach α i 0, i = 1,.., n oraz n α i y i = 0 (5) i=1

Metoda Lagrange a (c.d.) SVM 12 / 24 Niech wektor (α1 0,..., α0 n) będzie rozwiazaniem maksymalizujacym (4) przy ograniczeniach (5).

Metoda Lagrange a (c.d.) SVM 12 / 24 Niech wektor (α1 0,..., α0 n) będzie rozwiazaniem maksymalizujacym (4) przy ograniczeniach (5). Z (3) wynika, że jeśli x i nie jest wektorem podpierajacym to αi 0 = 0;

Metoda Lagrange a (c.d.) SVM 12 / 24 Niech wektor (α1 0,..., α0 n) będzie rozwiazaniem maksymalizujacym (4) przy ograniczeniach (5). Z (3) wynika, że jeśli x i nie jest wektorem podpierajacym to αi 0 = 0; Równania (4) i (5) odbywaja się faktycznie tylko po wektorach podpierajacych.

Metoda Lagrange a (c.d.) SVM 12 / 24 Niech wektor (α1 0,..., α0 n) będzie rozwiazaniem maksymalizujacym (4) przy ograniczeniach (5). Z (3) wynika, że jeśli x i nie jest wektorem podpierajacym to αi 0 = 0; Równania (4) i (5) odbywaja się faktycznie tylko po wektorach podpierajacych. Hyperpłaszczyzna rozdzielajaca ma postać w 0 x b 0 = 0 gdzie w 0 = wektory podp. y i α 0 i x i b 0 = 1 2 [(w 0 x (1) )+(w 0 x ( 1) )] tu x (1) i x ( 1) sa dowolnymi wektorami podpierajacymi z każdej z klas.

Liniowy SVM SVM 13 / 24 Ostateczna funkcja decyzyjna: f (x) = sgn( y i αi 0 (x i x) + b 0 ) (6) wektory podp.

Outline SVM 14 / 24 1 Wprowadzenie 2 Brak liniowej separowalności danych Nieznaczna nieseparowalność Zmiana przetrzeń atrybutów 3 Implementacja

Przypadek nieseparowalności SVM 15 / 24 Założenie o separowalności klas jest nienaturalna;

Przypadek nieseparowalności SVM 15 / 24 Założenie o separowalności klas jest nienaturalna; Modyfikacja: w x i + b 1 ξ i, gdy y i = +1 w x i + b 1 + ξ i, gdy y i = 1 gdzie stałe ξ i spełniaja warunki: ξ i 0, i = 1,..., n.

Przypadek nieseparowalności SVM 15 / 24 Założenie o separowalności klas jest nienaturalna; Modyfikacja: w x i + b 1 ξ i, gdy y i = +1 w x i + b 1 + ξ i, gdy y i = 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 idealnych warunków.

Przypadek nieseparowalności SVM 16 / 24 Ogólne zadanie SVM Znaleźć w i b które minimalizuja w 2 2 + C n i=1 ξ i przy ograniczeniach w x i + b 1 ξ i, gdy y i = +1 w x i + b 1 + ξ i, gdy y i = 1 ξ i 0, i = 1,..., n.

Przypadek nieseparowalności SVM 17 / 24 Można pokazać, że zarówno i w tym przypadku, możemy sprowadzić do problemu Znaleźć wektor (α1 0,..., α0 n) będacy maksimum funkcji n W(α) = α i 1 n α i α j y i y j (x i x j ) (7) 2 i=1 ij=1 A następnie stosować funkcję decyzyjna:

Przypadek nieseparowalności SVM 17 / 24 Można pokazać, że zarówno i w tym przypadku, możemy sprowadzić do problemu Znaleźć wektor (α1 0,..., α0 n) będacy maksimum funkcji n W(α) = α i 1 n α i α j y i y j (x i x j ) (7) 2 i=1 przy ograniczeniach C α i 0, i = 1,.., n ij=1 oraz n α i y i = 0 (8) i=1 A następnie stosować funkcję decyzyjna:

Przypadek nieseparowalności SVM 17 / 24 Można pokazać, że zarówno i w tym przypadku, możemy sprowadzić do problemu Znaleźć wektor (α1 0,..., α0 n) będacy maksimum funkcji n W(α) = α i 1 n α i α j y i y j (x i x j ) (7) 2 i=1 przy ograniczeniach C α i 0, i = 1,.., n ij=1 oraz n α i y i = 0 (8) A następnie stosować funkcję decyzyjna: f (x) = sgn y i αi 0 (x i x) + b 0 (9) wektory podp. i=1

Zanurzenie obserwacji w bogatszej przetrzeni SVM 18 / 24 Przekształcimy dane w bogatszej przetrzeni cech: φ : R p F R N, N p

Zanurzenie obserwacji w bogatszej przetrzeni SVM 18 / 24 Przekształcimy dane w bogatszej przetrzeni cech: φ : R p F R N, N p wystarczy zamienić iloczyny skalarne (x i x j ) we wszystkich wzorach na (φ(x i ) φ(x j ))

PROBLEM OBLICZENIOWY: czas wykonania iloczynu skalarnego (φ(x i ) φ(x j )) wynosi O(N 2 ) SVM 19 / 24

SVM 19 / 24 PROBLEM OBLICZENIOWY: czas wykonania iloczynu skalarnego (φ(x i ) φ(x j )) wynosi O(N 2 ) TRIK: Kernel functions K((x i x j )) = (φ(x i ) φ(x j ))

SVM 19 / 24 PROBLEM OBLICZENIOWY: czas wykonania iloczynu skalarnego (φ(x i ) φ(x j )) wynosi O(N 2 ) TRIK: Kernel functions Zmieniona funkcja: K((x i x j )) = (φ(x i ) φ(x j )) W(α) = = n α i 1 n α i α j y i y j (φ(x i ) φ(x j )) 2 i=1 n α i 1 2 i=1 ij=1 n α i α j y i y j K(x i x j ) ij=1

Example SVM 20 / 24

Outline SVM 21 / 24 1 Wprowadzenie 2 Brak liniowej separowalności danych Nieznaczna nieseparowalność Zmiana przetrzeń atrybutów 3 Implementacja

Uczenie SVM SVM 22 / 24 Problem

Uczenie SVM SVM 22 / 24 Problem Wejście: D = {(x 1, y 1 ),..., (x n, y n )}; K: funkcja jadrowa.

Uczenie SVM SVM 22 / 24 Problem Wejście: D = {(x 1, y 1 ),..., (x n, y n )}; K: funkcja jadrowa. Wyjście: wektor (α1 0,..., α0 n) będacy maksimum funkcji W(α) = n α i 1 2 i=1 n α i α j y i y j K(x i x j ) ij=1 przy ograniczeniach C α i 0, i = 1,.., n oraz n α i y i = 0 i=1

Przykład metody gradientu dla QP SVM 23 / 24

Działanie SVM SVM 24 / 24 f (x) = sgn y i αi 0 K(x i x) + b 0 wektory podp.