Strojno učenje. Metoda potpornih vektora (SVM Support Vector Machines) Tomislav Šmuc

Similar documents
Strojno učenje. Metoda potpornih vektora (SVM Support Vector Machines) Tomislav Šmuc

Support Vector Machines II. CAP 5610: Machine Learning Instructor: Guo-Jun QI

SUPPORT VECTOR MACHINE

Strojno učenje 3 (II dio) Struktura metoda/algoritama strojnog učenja. Tomislav Šmuc

TEORIJA SKUPOVA Zadaci

KLASIFIKACIJA NAIVNI BAJES. NIKOLA MILIKIĆ URL:

Perceptron Revisited: Linear Separators. Support Vector Machines

Geometrijski smisao rješenja sustava od tri linearne jednadžbe s tri nepoznanice

ZANIMLJIV NAČIN IZRAČUNAVANJA NEKIH GRANIČNIH VRIJEDNOSTI FUNKCIJA. Šefket Arslanagić, Sarajevo, BiH

Support Vector Machines. Introduction to Data Mining, 2 nd Edition by Tan, Steinbach, Karpatne, Kumar

Support Vector Machine & Its Applications

Support'Vector'Machines. Machine(Learning(Spring(2018 March(5(2018 Kasthuri Kannan

PRIPADNOST RJEŠENJA KVADRATNE JEDNAČINE DANOM INTERVALU

Linear classifiers selecting hyperplane maximizing separation margin between classes (large margin classifiers)

Linear, threshold units. Linear Discriminant Functions and Support Vector Machines. Biometrics CSE 190 Lecture 11. X i : inputs W i : weights

Linear Classification and SVM. Dr. Xin Zhang

Strojno učenje. Ansambli modela. Tomislav Šmuc

Support Vector Machine (continued)

CS145: INTRODUCTION TO DATA MINING

Projektovanje paralelnih algoritama II

Linear classifiers selecting hyperplane maximizing separation margin between classes (large margin classifiers)

Support Vector Machine (SVM) and Kernel Methods

Fajl koji je korišćen može se naći na

Jeff Howbert Introduction to Machine Learning Winter

Introduction to Support Vector Machines

Support Vector Machine

CS249: ADVANCED DATA MINING

Support Vector Machine (SVM) and Kernel Methods

Support Vector Machines. Maximizing the Margin

Constrained Optimization and Support Vector Machines

Algoritam za množenje ulančanih matrica. Alen Kosanović Prirodoslovno-matematički fakultet Matematički odsjek

Linear classifiers selecting hyperplane maximizing separation margin between classes (large margin classifiers)

Formule za udaljenost točke do pravca u ravnini, u smislu lp - udaljenosti math.e Vol 28.

LINEARNI MODELI STATISTIČKI PRAKTIKUM 2 2. VJEŽBE

Data Mining - SVM. Dr. Jean-Michel RICHER Dr. Jean-Michel RICHER Data Mining - SVM 1 / 55

Support Vector Machine (SVM) and Kernel Methods

Red veze za benzen. Slika 1.

Support Vector Machines (SVM) in bioinformatics. Day 1: Introduction to SVM

FIND A FUNCTION TO CLASSIFY HIGH VALUE CUSTOMERS

An introduction to Support Vector Machines

Vektori u ravnini i prostoru. Rudolf Scitovski, Ivan Vazler. 10. svibnja Uvod 1

A Tutorial on Support Vector Machine

Support Vector Machine (SVM) & Kernel CE-717: Machine Learning Sharif University of Technology. M. Soleymani Fall 2012

Non-Bayesian Classifiers Part II: Linear Discriminants and Support Vector Machines

Learning with kernels and SVM

Mathcad sa algoritmima

Support Vector Machine. Natural Language Processing Lab lizhonghua

Uvod u relacione baze podataka

Support Vector Machines

(Kernels +) Support Vector Machines

Neural Networks. Prof. Dr. Rudolf Kruse. Computational Intelligence Group Faculty for Computer Science

Support Vector Machines. CAP 5610: Machine Learning Instructor: Guo-Jun QI

Chapter 9. Support Vector Machine. Yongdai Kim Seoul National University

Ariana Trstenjak Kvadratne forme

Pattern Recognition 2018 Support Vector Machines

Lecture 18: Kernels Risk and Loss Support Vector Regression. Aykut Erdem December 2016 Hacettepe University

Support Vector and Kernel Methods

Kernelized Perceptron Support Vector Machines

Statistical Methods for NLP

Support Vector Machines and Kernel Methods

Položaj nultočaka polinoma

Kernel Methods and Support Vector Machines

Linear Support Vector Machine. Classification. Linear SVM. Huiping Cao. Huiping Cao, Slide 1/26

Support Vector Machines for Classification: A Statistical Portrait

L5 Support Vector Classification

O aksiomu izbora, cipelama i čarapama

Cheng Soon Ong & Christian Walder. Canberra February June 2018

Outline. Basic concepts: SVM and kernels SVM primal/dual problems. Chih-Jen Lin (National Taiwan Univ.) 1 / 22

Funkcijske jednadºbe

Support Vector Machines

Introduction to Support Vector Machines

Support Vector Machines Explained

Support Vector Machine for Classification and Regression

1 Konveksni skupovi i konveksne funkcije

Statistical Methods for SVM

Support Vector Machines

Linear vs Non-linear classifier. CS789: Machine Learning and Neural Network. Introduction

Quasi-Newtonove metode

Machine Learning and Data Mining. Support Vector Machines. Kalev Kask

ZEYNEP CAN. 1 Introduction. KoG Z. Can, Ö. Gelişgen, R. Kaya: On the Metrics Induced by Icosidodecahedron...

A GENERAL FORMULATION FOR SUPPORT VECTOR MACHINES. Wei Chu, S. Sathiya Keerthi, Chong Jin Ong

Polyhedral Computation. Linear Classifiers & the SVM

Strojno učenje 7 Linearne metode & SVM. Tomislav Šmuc

Review: Support vector machines. Machine learning techniques and image analysis

Support Vector Machines

Introduction to Support Vector Machines

Statistical Methods for Data Mining

10/05/2016. Computational Methods for Data Analysis. Massimo Poesio SUPPORT VECTOR MACHINES. Support Vector Machines Linear classifiers

SVMC An introduction to Support Vector Machines Classification

Machine Learning And Applications: Supervised Learning-SVM

Support Vector Machines

Slika 1. Slika 2. Da ne bismo stalno izbacivali elemente iz skupa, mi ćemo napraviti još jedan niz markirano, gde će

Neural networks and support vector machines

Support Vector Machines.

Lecture 10: Support Vector Machine and Large Margin Classifier

CS6375: Machine Learning Gautam Kunapuli. Support Vector Machines

Support Vector Machines. CSE 6363 Machine Learning Vassilis Athitsos Computer Science and Engineering Department University of Texas at Arlington

Formulation with slack variables

ML (cont.): SUPPORT VECTOR MACHINES

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku DIOFANTSKE JEDNADŽBE

Transcription:

Strojno učenje Metoda potpornih vektora (SVM Support Vector Machines) Tomislav Šmuc

Generativni i diskriminativni modeli Diskriminativni Generativni (Učenje linije koja razdvaja klase) Učenje modela za svaku pojedinu klasu 2

Diskriminativni algoritmi x 2 LDA C( x) arg max ( x) k C k x 2 { x : ( x) ( x)} k l QDA 6-Mar-13 TS: Strojno učenje Linearne metode & SVM 3

Koja hiper-ravnina je najbolja? Separabilni problem: Između točaka možemo provudi velik broj (beskonačan) ploha koje dobro razdvajaju primjere dvije klase 4

Metoda potpornih vektora (metoda jezgrenih funkcija) SVM - Support Vector Machines SVM nalazi hiper-ravninu koja ima najvedu marginu razdvajanja klasa margina - udaljenost između kritičnih točaka najbliže blizu plohi razdvajanja (en. decision boundary) Intuicija: Ako ne postoje točke blizu plohe razdvajanja, to znači da nemamo nesigurnih klasifikacijskih odluka!? 5

Druga intuicija Ako postavimo što je mogude vedi razmak (marginu) između dviju klasa, postoji manje mogudnosti izbora za funkciju razdvajanja kapacitet modela se smanjuje (manje šanse za overfitting)!! 6

SVM dakle maksimiziraju marginu m oko hiperravnine (plohe) razdvajanja. (en. large margin classifiers) Potporni vektori Kod SVM - funkcija odluke definirana je preko podskupa primjera iz skupa za učenje tzv. Potpornih vektora (en. support vectors) Problem određivanja SV: kvadratni optimizacijski problem (en. quadratic programming) Max. margina 7

Separabilni i neseparabilni problemi Ako se pokaže da problem nije linearno separabilan: - Dozvoljene su greške uz penaliziranje Osnovni princip ostaje: - Ploha razdvajanja u principu mora što bolje razdvajati klase TS: Strojno učenje Linearne metode & 6-Mar-13 8 SVM

SVM linearno separabilni podaci (2 klase) Geometrijska intuicija - konveksna ljuska (Convex hull) K.LJ. najmanji konveksni skup koji sadrži sve točke skupa točaka {x i } Za dani skup točaka {x i } K.LJ. je skup točaka definiran sa: Separabilni problem Neseparabilni problem za dva skupa {x i } i {y i } vrijedi ako se njihove K.LJ. ne preklapaju onda se radi o linearno separabilnom problemu! 9

SVM linearno separabilni podaci (2 klase) Geometrijska intuicija - Konveksne ljuske K.LJ. najmanji konveksni skup koji sadrži sve točke Zadatak nadi konveksnu ljusku za svaku od klasa Nadi dvije najbliže točke u dvije konveksne ljuske Odrediti ravninu koja prolazi između te dvije točke 10

Formalizacija- određivanje maksimalne margine w: normala na hiperravninu razdvajanja x i : primjer (točka) i y i : klasa primjera i ( +1/-1) Klasifikator je određen funkcijom sign(w T x i + b) margina x i je određena sa y i (w T x i + b) 11

Pojam - geometrijske margine Primjeri najbliže plohi su potporni vektori. Margina ρ plohe razdvajanja je širina razdvajanja između potpornih vektora suprotnih klasa x w r ρ Udaljenost između plohe i točke x r w T x b w 12

Linearni SVM - izvod Pretpostavimo da vrijedi da se sve točke nalaze na distanci 1 od plohe razdvajanja Tada vrijede dva ograničenja na skupu primjera za učenje {(x i,y i )} w T x i + b 1 ako je y i = 1 w T x i + b -1 ako je y i = -1 Za potporne vektore (točke koje se nalaze na margini), ove nejednakosti su jednakosti; S obzirom da je udaljenost svakog primjera od plohe razdvajanja: T w x b r w 2 Margina je: w TS: Strojno učenje Linearne metode & 6-Mar-13 13 SVM

Linearni SVM ρ w T x a + b = 1 Ploha razdvajanja w T x + b = 0 w T x b + b = -1 Uz ograničenja: min i=1,,n w T x i + b = 1 Dolazimo do vrijednosti za marginu razdvajanja: w T (x a x b ) = 2 ρ = x a x b = 2/ w w T x + b = 0 14

Linearni SVM - formulacija optimizacijskog problema Pronađi w i b tako da je 2 => maksimalna w a za sve zadane {(x i, y i )} mora vrijediti: w T x i + b 1 ako je y i =1; w T x i + b -1 ako je y i = -1 15

Linearni SVM - formulacija optimizacijskog problema Bolja formulacija kao minimizacijski problem (kvadratni optimizacijski problem uz ograničenja): min w = max (2/ w ) Nadi w i b - takve da je: Φ(w) =½ w T w je minimalno; A za sve {(x i,y i )} vrijedi : y i (w T x i + b) 1 16

Rješavanje optimizacijskog problema => optimizacija uz ograničenja Nađi w i b - takve da je: Φ(w) =½ w T w - minimalno; A za sve {(x i,y i )} vrijedi : y i (w T x i + b) 1 Ova formulacija minimizacija kvadratne funkcije uz linearna ograničenja (nejednakosti) Dobro poznati i rješivi problem puno (više ili manje složenih) algoritama za njihovo rješavanje (MATLAB, MATHEMATICA) Standardno za SVM - prevođenje u dualni problem u kojem se tzv. Lagrangeovim multiplikatorima (težinski faktori koji penaliziraju svako ograničenje iz primalnog problema) 17

Lagrange-ovi multiplikatori => optimizacija uz ograničenja x * 18

Lagrange-ovi multiplikatori => optimizacija uz ograničenja x A 19

Lagrange-ovi multiplikatori => optimizacija uz ograničenja Slučaj sa ograničenjem u obliku nejednakosti f(x) Slučaj sa ograničenjem u obliku jednakosti f(x) f(x) b) Ograničenje nije aktivno Min f(x) (neograničeni minimum) Min L(x) (ograničeni minimum f(x) 20

Lagrange-ovi multiplikatori => optimizacija uz ograničenja 21

Lagrange-ova funkcija i min-max dualnost Dualna formulacija: TS: Strojno učenje Linearne metode & 6-Mar-13 22 SVM

SVM - optimizacijski problem Dualna formulacija: Nadi λ 1 λ N tako da je: Q(λ) =Σ λ i - ½ΣΣ λ i λ j y i y j x it x j - maksimalno Te da vrijedi (1) Σ λ i y i = 0 - i,j =1,N (2) λ i 0 α i TS: Strojno učenje Linearne metode & 6-Mar-13 23 SVM

Rješenje optimizacijskog problema w =Σ λ i y i x i b= y k - w T x k za bilo koji x k za koji je α k 0 Svaki α i koji je različit od 0 zapravo znači da je taj x i potporni vektor. Konačno klasifikacijska funkcija ima ovaj oblik: f(x) = Σ λ i y i x it x + b Rješenje je proporcionalno sumi umnožaka - unutarnjih produkta x it x između nove točke (primjera) x i svih potpornih vektora x i! Treba zapamtiti i da je u rješavanju optimizacijskog problema također korišten produkt x it x j između svih parova točaka skupa za učenje. 24

Što ako problem nije linearno separabilan? Dodajemo nove varijable ξ i (en. slack variables) - dozvoljavanje krivih klasifikacija za teške ili šumovite primjere ξ i ξ i 25

Izvod SVM s mekanom marginom (en. Soft margin) Stara formulacija: Nađi w i b - takve da je: Φ(w) =½ w T w is minimalno; A za sve {(x i,y i )} vrijedi : y i (w T x i + b) 1 Nova formulacija sa ξ i : Nađi w i b - takve da je: Φ(w) =½ w T w + CΣξ i - minimalno; A za sve {(x i,y i )} vrijedi: y i (w T x i + b) 1 ξ i te da vrijedi ξ i 0 za sve i 26

Rješenje - SVM s mekanom marginom (en. Soft margin) Dualni problem za SVM s mekanom marginom : Nađi λ 1 λ N tako da je max Q(λ) =Σ λ i - ½ΣΣ λ i λ j y i y j x it x j Te da vrijedi (1) Σ λ i y i = 0 (2) 0 λ i C λ i I dalje vrijedi: x i sa λ i >0 su potporni vektori. U dualnoj formulaciji nema slack varijabli, samo ograničenje na λ (λ < C) Rješenje dualnog problema (soft margin): w =Σ λ i y i x i b= y k (1- ξ k ) - w T x k gdje je k = argmax λ k k w nije potreban kod procesa klasifikacije kao i prije! f(x) = λ i y i x it x + b 27

Klasifikacija Uz novu točku (x 1,x 2 ), Odrediti projekciju na normalu plohe razdvajanja: 2 dimenzije: p = w 1 x 1 +w 2 x 2 +b. To ustvari znači (wx + b = Σ λ i y i x it x + b) Dodatno => ako stavimo neku graničnu mjeru t >0 (pouzdanost) f > t: => 1 f < -t: => -1 Inače: suzdržan 28

Linearni SVM - sažetak Klasifikator je posebno određena ploha razdvajanja (en. separating hyperplane) Najvažnije točke - točke iz skupa za učenje koje definiraju plohu razdvajanja - potporni vektori Potporni vektori se pronalaze optimizacijskim algoritmima Rješavani problem je kvadratni optimizacijski problem s linearnim ograničenjima. U dualnoj formulaciji problema i rješenja potporni vektori odnosno točke iz skupa za učenje se pojavljuju u skalarnim produktima: Nađi λ 1 λ N tako da je Q(λ) =Σ λ i - ½ΣΣ λ i λ j y i y j x it x j (1) Σ λ i y i = 0 - maksimalno i vrijedi: (2) 0 λ i C λ i f(x) = Σ λ i y i x it x + b 29

Nelinearni SVM Za problem koji su linearno separabilni (i uz razumni šum) Linearni SVM je OK : No, što ako to ne vrijedi? 0 x 0 x mapiranje podataka u (još) više-dimenzionalni prostor? : x 2 0 TS: Strojno učenje SVM 6-Mar-13 30 x

Nelinearni SVM: prostori novih dimenzija (atributa) Osnovna ideja: originalni prostor varijabli možemo mapirati u novi-višedimenzionalni prostor - gdje de naš problem biti (linearno) separabilan (rješiv) Φ: x φ(x) 31

Kernel trik Linearni SVM - skalarni produkt između vektora K(x i,x j )=x it x j Transformacija kojom svaku točku mapiramo u neki novi prostor Φ: x φ(x) Sada bi skalarni produkt trebao izgledati drukčije: K(x i,x j )= φ(x i ) T φ(x j ) Kernel funkcija - funkcija koja korespondira nutarnjem produktu u nekom ekspandiranom prostoru novih varijabli 32

Kernel trik Primjer: originalni prostor 2-dimenzionalni vektori x=[x 1 x 2 ]; Neka je K(x i,x j )=(1 + x it x j ) 2, Pokažimo da vrijedi K(x i,x j )= φ(x i ) T φ(x j ), ako je φ(x) = [1, x 12, 2 x 1 x 2, x 2 2, 2x 1 2x 2 ] K(x i,x j )=(1 + x it x j ) 2,= 1+ x i12 x j1 2 + 2 x i1 x j1 x i2 x j2 + x i22 x j2 2 + 2x i1 x j1 + 2x i2 x j2 = = [1 x i1 2 2 x i1 x i2 x i2 2 2x i1 2x i2 ] T [1 x j1 2 2 x j1 x j2 x j2 2 2x j1 2x j2 ] = φ(x i ) T φ(x j ) 33

Kerneli Zašto? Omogudavaju pretvaranje neseparabilnih problema u separabilne. Mapiranje u bolje (reprezentacijski) višedimenzionalne prostore Uobičajeni kerneli Linearni K(x i,x j ) = (x it x j ) Polinomijalni K(x i,x j ) = (1+x it x j ) d RBF K xi x 2 2 ( xi,x j ) e j Sigmoid T K( x,x ) tanh( x x r) i j i j 34

Linearni SVM efekt različitih vrijednosti parametra C Prisjetimo se gdje smo vidjeli C Φ(w) =½ w T w + CΣξ i 35

Odabir kernela efekti Polinomni kerneli (C=const.) Linearni kernel polinom 2 stupnja polinom 5 stupnja 36

Odabir parametara kernela efekti Gaussian kernel, C=const. 37

Odabir parametara parametara kernela i faktora C RBF kernel, C=1, =1 RBF kernel, C=10, =1 RBF kernel, C=100, =1 RBF kernel, C=1, =10 RBF kernel, C=10, =10 RBF kernel, C=100, =10 38

SVM - Sa dvije klase na više klasa Vedina SVM metoda je za binarne klasifikacijske probleme Uobičajen pristup za višeklasne probleme je preko redukcije problema na više binarnih klasifikacijskih problema, npr. za K-klasni problem: Jedan-nasuprot-ostalih => (K binarnih klasifikatora) Svaki-protiv-svakog => (K*(K-1)/2 binarnih klasifikatora) ECOC Error Correcting Output Codes ( u jednom od slijededih predavanja) 39

SVM Regresija Problem 40

Karakteristike SVM-a Jedna od najboljih metoda strojnog učenja ukupno gledajudi Popularna i vrlo dobri rezultati text mining U praksi mnoge druge metode rade otprilike isto dobro Postoji mnogo komparacija koje to pokazuju Važno je: Razumijevanje i iskustvo za efektivno korištenju Odabir kernela, odabir parametara (C, parametri kernela) Dobro je kombinirati selekciju varijabli i SVM u praktičnim primjerima RapidMiner, Matlab, R (više SVM varijanti + vizualizacija) 41

Sažetak Definiranje plohe razdvajanja preko potpornih vektora Potporni vektor = kritične točke (primjeri) najbliži plohi razdvajanja Pojam kernela: Modan alat za mapiranje u visoko-dimenzionalne prostore, kao i (re)definiranje metrika sličnosti Samostalni paketi i okruženja koja imaju SVM: SVM Torch; SVMLight; LibSVM RapidMiner, WEKA, MATLAB, R... www.kernel-machines.org 42

Literatura SVM literatura i materijali The Elements of Statistical Learning Hastie, Tibshirani, Friedman (1st ed - ch. 11) A Tutorial on Support Vector Machines for Pattern Recognition (1998) Christopher J. C. Burges Christopher M. Bishop Pattern recognition and machine learning, Springer, 2006. Kristin P. Bennet and Campbell Support Vector Machines: Hype or Hallelujah? SIGKDD Explorations, vol. 2, 2000 A User's Guide to Support Vector Machines, Ben-Hur & Weston T. Joachims, Learning to Classify Text using Support Vector Machines. Kluwer, 2002. Classic Reuters data set: http://www.daviddlewis.com /resources /testcollections/reuters21578/ 43