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

Podobne dokumenty
7. Maszyny wektorów podpierajacych SVMs

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

SVM: Maszyny Wektorów Podpieraja cych

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

KLASYFIKACJA TEKSTUR ZA POMOCĄ SVM MASZYNY WEKTORÓW WSPIERAJĄCYCH

Popularne klasyfikatory w pakietach komputerowych

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:

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

5. Analiza dyskryminacyjna: FLD, LDA, QDA

Maszyny wektorów podpierajacych w regresji rangowej

Ontogeniczne sieci neuronowe. O sieciach zmieniających swoją strukturę

Oracle Data Mining 10g

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

Programowanie matematyczne

Metody klasyfikacji Danych wielowymiarowych by mgr inz. Marcin Kurdziel and mgr inz. Tomasz Arodz

Metody systemowe i decyzyjne w informatyce

Jądrowe klasyfikatory liniowe

Optymalizacja ciągła

RBF sieci neuronowe o radialnych funkcjach bazowych

Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner

FILTROWANIE SPAMU Z UŻYCIEM MASZYNY WEKTORÓW WSPIERAJĄCYCH

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74

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

Układy równań liniowych

PROGRAMOWANIE KWADRATOWE

INTERPOLACJA I APROKSYMACJA FUNKCJI

Klasyfikacja danych wielowymiarowych algorytmami SVM

Elementy Modelowania Matematycznego

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

ŁĄCZENIE RÓWNOLEGŁE MODELI KLASYFIKACJI OTRZYMANYCH METODĄ WEKTORÓW NOŚNYCH

Matematyka stosowana i metody numeryczne

Klasyfikacja wyników wyszukiwania zasobów internetowych

Konstrukcja biortogonalnych baz dyskryminacyjnych dla problemu klasyfikacji sygnałów. Wit Jakuczun

Równanie przewodnictwa cieplnego (I)

Programowanie liniowe

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Klasyfikacja LDA + walidacja

Metody numeryczne Wykład 4

Prof. Stanisław Jankowski

Sieć przesyłająca żetony CP (counter propagation)

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Techniki uczenia maszynowego nazwa przedmiotu SYLABUS

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

Praca domowa - seria 6

Automatyczna predykcja. Materiały/konsultacje. Co to jest uczenie maszynowe? Przykład 6/10/2013. Google Prediction API, maj 2010


Funkcje dwóch zmiennych

Metody systemowe i decyzyjne w informatyce

komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład I dr inż. 2015/2016

Wybór modelu i ocena jakości klasyfikatora

Metody klasyfikacji danych - część 2 p.1/55

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Metody tworzenia efektywnych komitetów klasyfikatorów jednoklasowych Bartosz Krawczyk Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

Optymalizacja systemów

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

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Metody systemowe i decyzyjne w informatyce

Lokalne klasyfikatory jako narzędzie analizy i

Funkcje charakterystyczne zmiennych losowych, linie regresji 1-go i 2-go rodzaju

Komputerowa Analiza Danych Doświadczalnych

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Biometria WYKŁAD 7: ROZPOZNAWANIE I KLASYFIKACJA OBIEKTÓW

Matematyka I. Bezpieczeństwo jądrowe i ochrona radiologiczna Semestr zimowy 2018/2019 Wykład 9

wiedzy Sieci neuronowe

Laboratorium 11. Regresja SVM.

Matematyka dyskretna

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

2. Definicja pochodnej w R n

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

VIII. Zastosowanie rachunku różniczkowego do badania funkcji. 1. Twierdzenia o wartości średniej. Monotoniczność funkcji.

Optymalizacja ciągła

Diagonalizacja macierzy i jej zastosowania

Pattern Classification

SPOTKANIE 7: Redukcja wymiarów: PCA, Probabilistic PCA

Informacja o przestrzeniach Sobolewa

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Metody Sztucznej Inteligencji II

Metody numeryczne. Sformułowanie zagadnienia interpolacji

Machine learning Lecture 4

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

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

Inteligentne systemy przeciw atakom sieciowym

27. RÓWNANIA RÓŻNICZKOWE CZĄSTKOWE

Sztuczne Sieci Neuronowe

Matematyka dyskretna

Definicja pochodnej cząstkowej

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka ADALINE.

Diagonalizacja macierzy i jej zastosowania

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

1. Logika, funkcje logiczne, preceptron.

PRACA DYPLOMOWA INŻYNIERSKA

Podstawy sztucznej inteligencji

TEORETYCZNE PODSTAWY INFORMATYKI

Transkrypt:

UCZENIE MASZYNOWE III - SVM mgr inż. Adam Kupryjanow

Plan wykładu Wprowadzenie LSVM dane separowalne liniowo SVM dane nieseparowalne liniowo Nieliniowy SVM Kernel trick Przykłady zastosowań

Historia 1992 wprowadzony przez Boser, Guyon & Vapnik Algorytm z mocnymi podstawami teoretycznymi, wywodzący się ze statystyki Teoria uczenia (Vapnik & Chervonenkis) z lat 60tych Dobrze przebadany eksperymentalnie i zastosowany w wielu dziedzinach: bioinformatyka, rozpoznawanie tekstu/obrazu,

Dane liniowo separowalne Dane {x i }, i = 1,, l, x i ϵ R d należące do dwóch klas określonych zmiennymi {y i }, i = 1,,l są liniowo separowalne, jeśli istnieje hiperpłaszczynza H postaci g(x): H: g(x) = w t x + b przyjmująca wartości (i = 1,, n):

Jak wyznaczyć hiperpłaszczyznę? Istnieje nieskończenie wiele funkcji rozdzielających dwie klasy

Liniowa maszyna wektorów nośnych LSVM Pomysł Vapnika metoda SVM (wektory nośne) Algorytm wyznaczanie hiperpłaszczyzny dąży do uzyskania jak największego marginesu w 1 g(x) = w t x + b = 0 g(x) = 1 hiperpłaszczyzna marginesowa g(x) = 0 w 2 g(x) = -1 - hiperpłaszczyzna marginesowa

Wyznaczanie marginesu Można wykazać, że maksymalna odległość pomiędzy marginesami w t x + b = 1 i w t x + b = -1 wynosi, gdzie Rozwiązanie powinno dążyć do uzyskania jak najkrótszego wektora w, ponieważ wtedy uzyskany margines będzie największy Postulaty: minimalizować wektor w -> największy margines próbki punktów uczących dla funkcji decyzyjnej mają dawać wartości 1 lub -1

LSVM - zagadnienie optymalizacji minimalizować po w wyrażenie przy warunku ograniczającym: Powyższe warunki prowadzą do uogólnionego równania Lagrange a gdzie α i to mnożnik Lagrange a i α i >0

LSVM - zagadnienie optymalizacji Równanie Lagrange a powinno różniczkować się po w i b Porównując pochodne L(w,b,α) względem w i b do zera otrzymujemy: Podstawiając otrzymane wartości do równania otrzymujemy funkcję decyzyjną g(x):

LSVM - zagadnienie optymalizacji Funkcja g(x) zależy bezpośrednio od mnożników Lagrange a (α i ) Mnożniki na podstawie twierdzenia KKT (Karush- Kuhn-Tucker) powinny spełniać warunek: Możliwe gdy: x i leży na marginesie -> α i dowolne x i leży poza marginesami -> α i równe zeru

Dane liniowo nieseparowalne w 1 Cortes i Vapnik wykazali, że możliwe jest zastosowanie wektorów nośnych stosują pewne rozszerzenie założeń w 2

Dane liniowo nieseparowalne w 1 Nowa zmienna ξ i nazywana zwisem (slack variable) Wartość ξ i powinna być mała, aby ją określić rozpatrujemy: w 2 ξ i / w Gdzie C to parametr generalizujący deklarowany przez użytkownika Jeżeli 0 ξ i 1 to punkt danych leży wewnątrz strefy separujące, po właściwej stronie Jeżeli ξ i >1, punkt po niewłaściwej stronie hiperpłaszczyny =błąd klasyfikacji

Zagadnienie optymalizacji -SVM minimalizuj wyrażenie: przy warunkach: Otrzymujemy Lagrangian: Wyznaczamy pochodne cząstkowe względem w, b i ξ, i podstawiamy otrzymane wartości do Lagrangianu. Z warunku zerowania pochodnej Lagrangianu względem ξ otrzymujemy:

Zagadnienie optymalizacji -SVM W tej sytuacji można wyeliminować β i zastąpić przez α Do rozwiązania pozostaje problem dualny: gdzie, z ograniczeniami:

Jakiego C używać? Blanz i Vapnik zalecili stosowania C = 5, ale tak naprawdę C należy dobierać w zależności od danych uczących.

Nieliniowy SVM Transformacja do przestrzeni o wyższym wymiarze Projekcja danych oryginalnych xϵr d do przestrzeni wymiarowej n>d w której dane z dużym prawdopodobieństwem będą separowane liniowo

Przykład Mamy nieliniową funkcję mapującą ϕ: I=R 2 F=R 3 2- wymiarową przestrzeń wejściową (input space) do 3- wymiarowej przestrzeni zmiennych przekształconych (feature space) (x 1, x 2 ) (z 1, z 2, z 3 ) := (x 12, 2 0.5 x 1 x 2, x 2 ) hiperłaszczyzna: <w x> = 0

Model nieliniowy SVM funkcja decyzyjna g(x) = wϕ(x)+b problem optymalizacji minimalizuj wyrażenie: Przy warunkach ograniczających: Funkcja z mnożnikiem Lagrange a: gdzie Funkcja klasyfikująca:

Kernel trick Jak obliczyć K(x,z) = (x z) 2, x=(x 1, x 2 ), z= (z 1, z 2 ) K(x,z) = (x z) 2 = (x 1 z 1 + x 2 z 2 ) 2 = (x 12 z 12 + 2x 1 z 1 x 2 z 2 +x 22 z 22 ) = (x 12, 2x 1 x 2,x 2 2 ) (z 12, 2z 1 z 2,z 2 2 ) = ϕ(x) ϕ(z) Więc D ij można zapisać: nie trzeba znać funkcji ϕ(x), do operacji w wyższej przestrzeni wystarczy znajomość jądra (kernel)

Funkcje jądra (kernel functions) wielomianowe (polinomial): K(x, z) = (x z + d) p,p>0 gaussowskie (radial basis function): sigmoidalne:

Kilka uwag praktycznych Normalizuj danej wejściowe Rozpoczynaj od zastosowania jądra RBF Znajdź optymalne wartości C i σ. Jak? np. grid search W klasyfikatorze wykorzystaj parametry znalezione w grid-search

Grid-search znalezienie maksimum

Grid-search szukanie w okolicy maksimum

Klasyfikacja wieloklasowa- One-versus-all One-versus-all wiele klasyfikatorów dwuklasowych. Każdy klasyfikator dzieli dane wejściowe na klasę zainteresowania i na resztę. Decyzja o przynależności do klasy podejmowana może być w różny sposób np. głosowanie większościowe, pewność decyzji Konieczność wytrenowania tylu klasyfikatorów ile klas.

Klasyfikacja wieloklasowa- One-against-one One-against-one wiele klasyfikatorów dwuklasowych. Klasyfikatory dla każdej pary klas Decyzja podejmowana podobnie jak dla Oneversus-all Konieczność wytrenowania k(k-1)/2 klasyfikatorów, gdzie k to liczba klas

Implementacje C++ libsvm SVM light Java Weka Matlab: libsvm Spider

Bibilografia A.Bartkowiak: Wykłady nt. Sieci Neuronowych: w11 Kernele, siecie SVM i sieci GDA. http://www.ii.uni.wroc.pl/~aba/ J. STEFANOWSKI, SVM Support Vector Machines Metoda wektorów nośnych, http://www.cs.put.poznan.pl/jstefanowski/ml/svm.pdf J. Weston: Support Vector Machine (and Statistical Learning Theory) Tutorial, http://www.cs.columbia.edu/~kathy/cs4701/document s/jason_svm_tutorial.pdf http://www.kernel-machines.org/

Bibliografia C. Hsu, C. Chang, C. Lin, A practical guide to Support Vector Classification, April 2010, Taiwan. (http://www.csie.ntu.edu.tw/~cjlin/papers/guide/g uide.pdf) M. Hoffman, Support Vector Machines Kernels and the Kernel Trick, http://www.cogsys.wiai.unibamberg.de/teaching/ss06/hs_svm/slides/svm_s eminarbericht_hofmann.pdf

Dziękuję za uwagę!!!