SVM = Support Vector Machine = Metoda podpornih vektorjev

Similar documents
Reševanje problemov in algoritmi

Introduction to Support Vector Machines

Linearna regresija. Poglavje 4

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

Linearna algebra. Bojan Orel. Univerza v Ljubljani

OPTIMIZACIJSKE METODE skripta v pripravi

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO

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

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA. Tina Lešnik

TOPLJENEC ASOCIIRA LE V VODNI FAZI

An introduction to Support Vector Machines

Formulation with slack variables

Support Vector Machines

Learning with kernels and SVM

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO.

Problem umetnostne galerije

Support Vector Machines

Multipla korelacija in regresija. Multipla regresija, multipla korelacija, statistično zaključevanje o multiplem R

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Verjetnostni algoritmi za testiranje praštevilskosti

LIBSVM: a Library for Support Vector Machines (Version 2.32)

Gaps in Support Vector Optimization

LIBSVM: a Library for Support Vector Machines

OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ

Eulerjevi in Hamiltonovi grafi

ENAČBA STANJA VODE IN VODNE PARE

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO

AKSIOMATSKA KONSTRUKCIJA NARAVNIH

Support Vector Machine Regression for Volatile Stock Market Prediction

Support Vector Machines and Kernel Algorithms

Ekstrakcija časovnega znanja iz dogodkov v spletnih novicah

Support Vector Machine I

UNIVERZA V NOVI GORICI POSLOVNO-TEHNIŠKA FAKULTETA REŠEVANJE OPTIMIZACIJSKIH PROBLEMOV S PROGRAMSKIM PAKETOM SCICOSLAB DIPLOMSKO DELO.

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kvadratne forme nad končnimi obsegi

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

Discussion of Some Problems About Nonlinear Time Series Prediction Using ν-support Vector Machine

Support Vector Machines Explained

A Revisit to Support Vector Data Description (SVDD)

Hipohamiltonovi grafi

Support Vector Machines

Applied inductive learning - Lecture 7

MACHINE LEARNING. Support Vector Machines. Alessandro Moschitti

Convergence of a Generalized Gradient Selection Approach for the Decomposition Method

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Optimizacija 1 Course title: Optimization 1. Študijska smer Study field

Machine Learning. Lecture 6: Support Vector Machine. Feng Li.

OPTIMIZACIJA Z ROJEM DELCEV

Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK

Iskanje najcenejše poti v grafih preko polkolobarjev

Convex Optimization. Dani Yogatama. School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, USA. February 12, 2014

Kode za popravljanje napak

Support Vector Machine & Its Applications

An Improved Conjugate Gradient Scheme to the Solution of Least Squares SVM

Support Vector Machines. Maximizing the Margin

Support Vector Machines

Linearne enačbe. Matrična algebra. Linearne enačbe. Linearne enačbe. Linearne enačbe. Linearne enačbe

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

Dejan Petelin. Sprotno učenje modelov na podlagi Gaussovih procesov

Support Vector Machines for Classification: A Statistical Portrait

Hadamardove matrike in misija Mariner 9

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. O neeksaknotsti eksaktnega binomskega intervala zaupanja

Polyhedral Computation. Linear Classifiers & the SVM

NIKJER-NIČELNI PRETOKI

Attempt to prepare seasonal weather outlook for Slovenia

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO. Gregor Ambrož

TECHNICAL REPORT. No. CCLS Title: A Fractional Programming Framework for Support Vector Machine-type Formulations Authors: Ilia Vovsha

ICS-E4030 Kernel Methods in Machine Learning

Support Vector Machine (SVM) and Kernel Methods

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

Solving the SVM Optimization Problem

Machine Learning. Support Vector Machines. Manfred Huber

Solutions. Name and surname: Instructions

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

Statistical Machine Learning from Data

Outliers Treatment in Support Vector Regression for Financial Time Series Prediction

ν =.1 a max. of 10% of training set can be margin errors ν =.8 a max. of 80% of training can be margin errors

SVM and Kernel machine

Perceptron Revisited: Linear Separators. Support Vector Machines

Non-linear Support Vector Machines

A NEW MULTI-CLASS SUPPORT VECTOR ALGORITHM

UČNI NAČRT PREDMETA / COURSE SYLLABUS Numerical linear algebra. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

POLDIREKTNI PRODUKT GRUP

Izbrana poglavja iz algebrai ne teorije grafov. Zbornik seminarskih nalog iz algebrai ne teorije grafov

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Parcialne diferencialne enačbe Partial differential equations. Študijska smer Study field

Training Support Vector Machines: Status and Challenges

Univerza na Primorskem FAMNIT, MFI STATISTIKA 2 Seminarska naloga

Minimizacija učne množice pri učenju odločitvenih dreves

SLIKE CANTORJEVE PAHLJAµCE

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

Learning with Rigorous Support Vector Machines

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA

OPTIMIRANJE IZDELOVALNIH PROCESOV

A Tutorial on Support Vector Machine

Uvod v odkrivanje znanj iz podatkov (zapiski predavatelja, samo za interno uporabo)

A Study on Sigmoid Kernels for SVM and the Training of non-psd Kernels by SMO-type Methods

Študijska smer Study field. Samost. delo Individ. work Klinične vaje work. Vaje / Tutorial: Slovensko/Slovene

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

SMO Algorithms for Support Vector Machines without Bias Term

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

Iterativne metode podprostorov 2010/2011 Domače naloge

SVMC An introduction to Support Vector Machines Classification

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

Transcription:

Uvod 2/60 SVM = Support Vector Machine = Metoda podpornih vektorjev Vapnik in Lerner 1963 (generalized portrait) jedra: Aronszajn 1950; Aizerman 1964; Wahba 1990, Poggio in Girosi 1990 Boser, Guyon in Vapnik na COLT 1992 (osnovna oblika SVM, jedra) Cortes in Vapnik, Machine Learning 1995 (soft margin) poplava člankov po 1995 + dobro deluje v praksi + fleksibilna (različna jedra različni prostori hipotez) + robustna (kolikor toliko odporna na pretirano prilagajanje; ne moti je veliko število atributov) + dobro teoretično podprta malo teˇzje jo je razumeti; kompleksnejša implementacija modeli niso preveč razumljivi časovno zahtevnejša

Kazalo 3/60 Uvod. Razmejevanje dveh razredov z ravnino. Geometrija ravnine. SVM kot optimizacijski problem. Orodja iz teorije optimizacije. Izpeljava dualnega problema. Druge formulacije prvotnega optimizacijskega problema. Reševanje v praksi. Jedra. Razno. Programi. Literatura.

Razmejevanje točk z ravnino Učenje kot optimizacijski problem Optimizacijske metode Prehod na dualni problem Numerično reševanje Uvod

Motivacija 5/60 Imamo populacijo primerkov, ki so predstavljeni z vektorji iz R d. Imamo dva razreda, pozitivnega in negativnega. Vsak primerek spada v enega od teh dveh razredov. Učna množica: pari (x i, y i ) za i 1..l. x i R d je vektor, y i {1, 1} je njegova oznaka razreda. Radi bi dobili klasifikator (model, hipotezo), ki bi razločeval ta dva razreda. Za začetek se omejimo na to, da bi oba razreda razmejili z neko (hiper)ravnino.

Enačba ravnine 6/60 Ravnino prepoznamo po tem, da je cela pravokotna na neko smer. Vektor w, pravokoten na ravnino, imenujemo normala ravnine. Potem je vsak vektor, ki leži v celoti znotraj ravnine, pravokoten na w. Naj bo x 0 poljubna točka z ravnine. Potem za vsako točko x z ravnine velja: x x 0 w Dva vektorja, x in û, sta pravokotna natanko tedaj, ko je njun skalarni produkt enak 0. d (x, u) = x, u = x u = x T u = x i u i. Torej i=1 w T (x x 0 ) = 0 w T x w T x 0 = 0 w T x + b = 0 (za b = w T x 0 ) d w i x i + b = 0 i=1

Nad in pod ravnino 7/60 Začnimo v ravnini, v neki točki x, in se premaknimo v smeri w. Za naš novi poloˇzaj ˆx = x + λw velja: w T ˆx + b = w T (x + λw) + b = w T x + b + λw T w = λw T w > 0. Če bi se premikali v nasprotni smeri, bi za novi poloˇzaj veljalo w T ˆx + b < 0. Ravnina torej razdeli prostor na dva polprostora in za poljubno točko je zelo preprosto ugotoviti, v katerem leˇzi. Za naš problem bi bilo torej ugodno, če bi ravnino postavili tako, da bi pozitivni primerki ležali na eni strani ravnine, negativni pa na drugi. Potem bi vzeli preprosto: napoved(x) = sgn(w T x + b).

Razmejevanje učnih primerkov z ravnino 8/60 Pozitivni primerki naj ležijo na pozitivni strani, negativni pa na negativni: y i = +1 = w T x i + b 0 y i = 1 = w T x i + b 0, kar lahko združimo v: Toda: za vsak i : y i (w T x i + b) 0. Tej zahtevi mogoče ustreza veliko ravnin. Tej zahtevi mogoče ne ustreza nobena ravnina. Za katero ravnino naj se odločimo?

Rob 9/60 Ko računamo w T x + b za razne x, se pri vsaki točki pozna le to, kako daleč je od razmejitvene ravnine (in na kateri strani je). Torej si ne ˇzelimo, da bi bili učni primerki preblizu razmejitvene ravnine, ker postanemo potem bolj občutljivi na majhne spremembe in premike. Prostor med ravnini najbliˇzjima primerkoma na eni in na drugi strani imenujemo rob (margin) in si ˇzelimo, da bi bil čim širši.

Rob 10/60 Naj bo rob omejen z ravninama: w T x + b = γ in w T x + b = γ. Učni primerki nam torej postavljajo takšne pogoje: Kako širok je ta rob? y i (w T x + b) γ Postavimo se v neko točko x 1 na prvi ravnini: w T x 1 + b = γ Premikajmo se v smeri normale, dokler ne naletimo na drugo ravnino: Torej je w T x 2 + b = γ za x 2 = x 1 + λw. w T (x 2 x 1 ) = 2γ λw T w = 2γ λ = 2γ/ w 2 Širina roba je λw = λ w = 2γ w 2 w = 2γ/ w.

Širina roba 11/60 Vidimo: rob je pri dani γ tem širši, čim krajša je normala w. Parameter γ je odveč: Če ravnina w T x + b = 0 ustreza pogojem i : y i (w T x i + b) γ, lahko isto ravnino opišemo kot ŵ T x + ˆb za ŵ = γ 1 w, ˆb = b/γ in bo ustrezala pogojem: Torej ni nič narobe, če vzamemo γ = 1. i : y i (ŵ T x i + ˆb) 1. Rob je potem širok 2/ w in če hočemo najširši rob, moramo zahtevati najkrajšo normalo w.

Optimizacijski problem 12/60 Zdaj lahko zastavimo iskanje ravnine kot optimizacijski problem: Faktor 1 2 minimiziraj 1 2 w 2 pri pogojih i 1..l : y i (w T x i + b) 1 je tu le zaradi lepšega nadaljevanja izpeljave. Kaj pa, če pozitivnih in negativnih primerkov ne moremo razmejiti z ravnino? Vpeljimo kazenske spremenljivke ξ i in pogoj omilimo v y i (w T x i + b) 1 y i (w T x i + b) 1 ξ i za neko ξ i 0. Če gre s ξ i = 0, toliko lepše, drugače pa jo upoštevajmo v kriterijski funkciji: 1 minimiziraj 2 w 2 + C l i=1 ξ i pri pogojih i 1..l : y i (w T x i + b) 1 ξ i, ξ i 0 Zdaj potrebujemo kakšna matematična orodja, da se bomo lahko lotili tega problema.

Razmejevanje točk z ravnino Učenje kot optimizacijski problem Prehod na dualni problem Numerično reševanje Optimizacijske metode Pripomočki za optimizacijo

Lagrangeovi multiplikatorji 14/60 Recimo, da imamo takšen optimizacijski problem: minimiziraj f(x) (f imenujemo kriterijska funkcija) pri pogojih x R d, i 1..l : f i (x) 0 Če x ustreza vsem pogojem f i (x) 0, pravimo, da je dopustna rešitev. Mnoˇzico vseh dopustnih rešitev označimo s Φ. Nasvet: vpeljimo Lagrangeove multiplikatorje u = (u 1,..., u l ) (ki bodo vedno nenegativna realna števila) in definirajmo Lagrangeovo funkcijo L(x, u) := f(x) l i=1 u if i (x). Izpeljimo iz nje dve novi funkciji: ˆf(x) := max L(x, u) in g(u) := min L(x, u). u (R + 0 )l x Rd Hitro se vidi: In x, u: Torej tudi: ˆf(x) = { f(x), če x Φ +, če x Φ g(u) = min L( x, u) L(x, u) max L(x, ũ) = f(x). x R d ũ (R + 0 )l max u (R + 0 )l g(u) min x R d ˆf(x).

Sedla 15/60 L(x, u) ima v točki (x s, u s ) sedlo natanko tedaj, ko velja: x : L(x, u s ) L(x s, u s ) in u : L(x s, u) L(x s, u s ). V (x s, u s ) ima torej L minimum po x in maksimum po u. Zato je ˆf(x s ) = L(x s, u s ) = g(u s ). Na prejšnji strani smo videli, da je x, u : ˆf(x) g(u), torej tudi za u = u s : x : ˆf(x) g(u s ) = ˆf(x s ). Zato doseže ˆf(x) v x = x s svoj minimum. Podobno mora pri x = x s veljati u : g(u) ˆf(x s ) = g(u s ), zato doseˇze g v u = u s svoj maksimum. Tedaj je torej ˆf(x s ) = min x ˆf(x) = maxu g(u) = g(u s ). Slaterjev zadostni pogoj za obstoj sedla: f in f i morajo biti vse konveksne in obstajati mora x, za katerega je i : f i (x) > 0 (strogo dopustna rešitev).

Karush-Kuhn-Tuckerjev izrek 16/60 V sedlu (x s, u s ) doseˇze L svoj minimum po x R d. Torej morajo biti tu njeni odvodi po x enaki 0: L x j (x s, u s ) = 0 oz. x L(x s, u s ) = 0. Obenem pa v sedlu gotovo velja: ˆf(x s ) = L(x s, u s ) = f(x s ) + l i=1 us i f i(x s ); in ˆf(x s ) = f(x s ), ker je x s dopustna rešitev; torej je l i=1 us i f i(x s ) = 0. Toda ker so Lagrangeovi multiplikatorji nenegativni, je u s i 0; in ker je x s dopustna rešitev, je f i (x s ) 0; zato je zgornji pogoj izpolnjen le, če je i 1..l : u s i f i (x s ) = 0. Z besedami: ali v pogoju velja enakost ali pa je ustrezni Lagrangeov multiplikator enak 0. Če naloga ustreza Slaterjevim pogojem, velja izrek tudi v obratno smer: če za nek (x s, u s ) velja x L(x s, u s ) = 0 in u s i f i(x s ) = 0 in u s i 0, je tu sedlo in optimum.

Razmejevanje točk z ravnino Učenje kot optimizacijski problem Prehod na dualni problem Numerično reševanje Optimizacijske metode Rešitev optimizacijskega problema in druge formulacije

Optimizacija 18/60 Naš optimizacijski problem: minimiziraj f(w, b, ξ) := 1 2 w 2 + C l i=1 ξ i pri pogojih i 1..l : y i (w T x i + b) 1 ξ i, ξ i 0 Vpeljimo Lagrangeove multiplikatorje α = (α 1,..., α l ) in µ = (µ 1,..., µ l ). d l l l L(w, }{{ b, ξ }, α, }{{} µ ) = 1 2 wj 2 + C ξ i α i [y i (w T x i + b) 1 + ξ i ] µ i ξ i. x u j=1 i=1 i=1 i=1 Iščemo pa g(α, µ) = min w,b,ξ L(w, b, ξ), zato poglejmo, kje so odvodi L-ja po w j -jih, b-ju in x i -jih enaki 0. L/ w j = w j l i=1 α iy i x ij = 0 w = l i=1 α iy i x i, L/ b = l i=1 α iy i = 0 l i=1 α iy i = 0, L/ ξ i = C α i µ i = 0 α i + µ i = C. Upoštevajmo te pogoje v L.

Prehod k dualni nalogi 19/60 Upoštevajmo: w = l i=1 α iy i x i, l i=1 α iy i = 0, α i + µ i = C. 1 2 L(w, b, ξ, α, µ) = 1 2 wt w + C l i=1 ξ i l i=1 α i[y i (w T x i b) 1 + ξ i ] l i=1 µ iξ i = l l l l l l α i α j y i y j x T j x i + C ξ i α i [y i ( α j y j x T j x i b) 1 + ξ i ] µ i ξ i = 1 2 l i=1 i=1 j=1 l α i α j y i y j x T j x i j=1 1 2 l i=1 l i=1 i=1 i=1 l α i α j y i y j x T j x i + i=1 l α i α j y i y j x T j x i b j=1 j=1 l α i y i + i=1 l α i y i b + i=1 l α i + i=1 1 2 l α i + i=1 i=1 l (C α i µ i )ξ i = i=1 l (C α i µ i )ξ i = i=1 l i=1 l α i α j y i y j x T j x i + Dobili smo dualno nalogo: maksimiziraj 1 l l 2 i=1 j=1 α iα j y i y j x T j x i + l i=1 α i pri pogojih i 1..l : 0 α i C in l i=1 α iy i = 0. j=1 l α i. i=1

Dualna naloga 20/60 Če obrnemo predznak kriterijski funkciji: minimiziraj g(α) := 1 l l 2 i=1 j=1 α iα j y i y j x T i x j l pri pogojih i 1..l : 0 α i C in l i=1 α iy i = 0. To je problem kvadratnega programiranja. Kriterijsko funkcijo lahko zapišemo tudi v matrični obliki: g(α) = 1 2 αt Qα 1 T α, kjer je Q matrika z elementi Q ij = y i y j x T i x j, 1 = (1, 1,..., 1) T pa vektor samih enic. i=1 α i Ko poiščemo optimalno α, lahko izrazimo normalo na ravnino po formuli w = l α i y i x i. Kako pridemo do praga b, bomo videli kasneje. Lahko bi izrazili tudi ξ (ko bi imeli b), a tega za klasifikacijo niti ne potrebujemo. i=1

Podporni vektorji 21/60 KKT izrek nam o optimalni rešitvi zagotavlja, za vsak i 1..l: α i [y i (w T x i + b) 1 + ξ i ] = 0 in µ i ξ i = 0. Spomnimo se, da velja še: α i + µ i = C, α i 0, µ i 0, y i (w T x i + b) 1 + ξ i 0. Ločimo tri možnosti: 1. α i = 0. Tedaj je µ i = C 0 in zato ξ i = 0, zato pa y i (w T x i + b) 1. To so vektorji na pravi strani roba. 2. 0 < α i < C. Tedaj je µ i = C α i > 0 in zato spet ξ i = 0, vendar pa zdaj y i (w T x i + b) = 1. Ti vektorji so na pravi strani roba, vendar ravno še na meji. 3. α i = C. Tedaj je µ i = 0 in y i (x T x i + b) 1 ξ i. Zdaj je mogoče, da je ξ i > 0; če je ξ i 1, je tak vektor narobe klasificiran. V izraˇzavi w = l i=1 α iy i x i nastopajo le vektorji iz druge in tretje skupine, ki jim zato pravimo podporni vektorji. Izkaˇze se: če bi iz učne mnoˇzice zavrgli vse ostale vektorje in se ponovno učili, bi dobili isto rešitev. Ti vektorji so nekako najbliˇzje razmejitveni ravnini, z obeh strani jo podpirajo, da se ne bi kam premaknila.

Določanje praga b 22/60 w T x + b = 1 w T x + b = 0 w T x + b = 1 1. Načeloma za poljuben vektor iz 2. skupine velja y i (w T x i + b) = 1, torej b = y i w T x i ; bolje je vzeti povprečje po vseh teh vektorjih. 2. Ali pa: b = 1 [ ] min 2 i:α i <C,y i =+1 wt x i + max i:α i <C,y i = 1 wt x i. 3. Lahko si pomagamo s fitanjem sigmoide. 4. Z validacijsko mnoˇzico [CRS02] so opazili, da je lahko to veliko bolje.

Trdi rob (hard margin) 23/60 Pri tej različici ne dovolimo napak na učni množici. Prvotna naloga: Dualna naloga: minimiziraj f(w, b) = 1 2 w 2 pri pogojih i 1..l : y i (w T x i + b) 1 minimiziraj g(α) = 1 2 αt Qα 1 T α pri pogojih i 1..l : α i 0 in l i=1 α iy i = 0. Tu se lahko zgodi, da prvotna naloga sploh nima dopustnih rešitev. Pri dualni nalogi, kjer α i zdaj navzgor niso omejene (kot prej s C), gre lahko v takem primeru g prek vseh meja.

Ničeln prag 24/60 Pri tej različici fiksiramo prag na b = 0, torej se omejimo na ravnine, ki gredo skozi koordinatno izhodišče. minimiziraj f(w, ξ) = 1 2 w 2 + C l i=1 ξ i pri pogojih i 1..l : y i w T x i 1 ξ i, ξ i 0 S tem odpade iz dualne naloge pogoj α T y = 0. minimiziraj g(α) = 1 2 αt Qα 1 T α pri pogojih i 1..l : 0 α i C. V zameno učnim vektorjem pogosto dodamo še eno komponento, ki je pri vseh enaka 1: ˆx i = (x i, 1). Zato ima tudi w še eno komponento, ki torej učinkuje podobno kot prag: ŵ = (w, b). Učinek je torej tak, kot če bi imeli: minimiziraj f(w, b, ξ) = 1 2 ( w 2 + b 2 ) + C l i=1 ξ i pri pogojih i 1..l : y i (w T x i + b) 1, ξ i 0

Kvadratna kazen 25/60 Tu vzamemo vsoto kvadratov kazenskih spremenljivk: minimiziraj f(w, b, ξ) = 1 2 w 2 + C l i=1 ξ2 i pri pogojih i 1..l : y i (w T x i + b) 1 ξ i Omejitve ξ i 0 ne potrebujemo tako ali tako se ne bi splačalo vzeti negativnega ξ i, kajti namesto njega je ξ i = 0 tudi dober, pa še f bo manjši. V dualni nalogi se spremeni matrika drugih odvodov. Po diagonali dobi še vrednosti 1/2C, kar je numerikom v veliko veselje, ker je tako bolje pogojena: minimiziraj g(α) = 1 2 αt (Q + 1 2C I)α 1T α pri pogojih i 1..l : α i 0 in l i=1 α iy i = 0. Tu ni več pogoja α i C ali česa podobnega, vendar se vseeno ni bati, da bi kakšna α i ušla v neskončnost, saj imamo v kriterijski funkciji zdaj člen 1 4C α2 i. To radi kombinirajo z ničelnim pragom, da se znebijo nadležnega pogoja z enakostjo.

Izbira parametra C 26/60 minimiziraj f(w, b, ξ) := 1 2 w 2 + C l i=1 ξ i pri pogojih i 1..l : y i (w T x i + b) 1 ξ i, ξ i 0 C mora posredovati med teˇznjami k širšemu robu (spomnimo se, da je rob širok 2/ w ) in težnjami po čim manjših napakah (ξ i ) na učni množici. Ker je v pogojih 1 fiksna, se tudi ξ i gibljejo tam nekje: ξ i = 2 vedno pomeni napako za celotno širino roba, ipd. Za w 2 pa ni tovrstnih omejitev. Če se vsi x i pomnoˇzijo z λ, mi pa bi ˇzeleli isto ravnino kot prej, bo ŵ = (1/λ)w ustrezala pogojem z istimi ξ i in b. Toda v kriterijski funkciji je zdaj prvi člen λ 2 -krat manjši, torej bi čutili napake veliko huje. Zato bi morali vzeti Ĉ = C/λ2. Do istega problema pride pri jedrih, kjer učne vektorje tudi nekako preslikamo.

Izbira parametra C 27/60 Teorija: Recimo, da vsi naši vektorji, učni in kasneje testni, ležijo v krogli s središčem v koordinatnem izhodišču in polmerom R. Za neko konstanto k velja: Naj bo f poljuben klasifikator oblike napoved(x) = sgn w T x; naj bodo ξ i njegove napake na učni mnoˇzici, tako da je y i (w T x) 1 ξ i ; potem z verjetnostjo vsaj 1 δ velja: verjetnost napake(f) k l ( ( w 2 R 2 + ξ 2 ) log 2 l log δ ). Edino, na kar lahko vplivamo, je w 2 R 2 + ξ 2, kar je isto kot R 2 ( w 2 + R 2 ξ 2 ). Mi pri učenju minimiziramo w 2 + C ξ 2 ; desna stran bo torej najmanjša pri C = R 2. Ta nasvet sicer predpostavlja ničeln prag b in kvadratno kazen pri optimizaciji, vendar je tudi pri linearni lahko koristen. V praksi: prečno preverjanje.

Izbira parametra C 28/60 Reuters-21578, ModApte, ship 1 20 F1 0.75 0.5 0.25 0 F 1 na učni množici F 1 na testni množici čas učenja [s] 15 10 5 0 čas učenja [s] 0.001 0.01 0.1 1 10 100 1000 10000 C Zelo neugodno je, če vzamemo premajhen C. Če vzamemo prevelik C, nam to ne škoduje tako zelo, pač pa učenje po nepotrebnem traja dlje.

Razmejevanje točk z ravnino Učenje kot optimizacijski problem Prehod na dualni problem Numerično reševanje Optimizacijske metode Numerično reševanje

Kvadratno programiranje 30/60 Numerično moramo rešiti nalogo minimiziraj g(α) = 1 2 αt Qα 1 T α pri pogojih i 1..l : α i 0, i y iα i = 0. Matematiki že dolgo poznajo razne postopke za to, vendar večinoma odpovejo pri velikih problemih. Pri nas je l število učnih primerkov in Q je matrika reda l l, tako da pogosto niti ne gre cela hkrati v pomnilnik. Vendar pa, če nekaj spremenljivk fiksiramo, nam ostane problem enake oblike na manj spremenljivkah. Zato lahko standardne postopke uporabimo tako, da fiksiramo večino spremenljivk in optimiziramo le po preostalih (delovna množica). Potem optimiziramo po neki drugi skupini spremenljivk in tako naprej. S KKT pogoji lahko kadarkoli preverimo, če smo ˇze pri optimalni rešitvi. Za vsak i mora veljati: α i = 0 = y i (w T x i + b) 1 0 < α i < C = y i (w T x i + b) = 1 α i = C = y i (w T x i + b) 1

Chunking 31/60 To je predlagal že Vapnik (1979): 1. Izberimo prvih nekaj spremenljivk kot delovno mnoˇzico in optimizirajmo po njih. 2. Ko to naredimo, odstranimo iz delovne mnoˇzice tiste z α i = 0 in dodajmo vanjo tiste, ki prej niso bile v DM, se pa trenutna ravnina na njih zmoti (imajo y i (w T x i + b) < 1). 3. Spet optimiziramo na novi DM in to ponavljamo. Tu se zanašamo na dejstvo, da se rezultat ne spremeni, če iz učne množice zavržemo vse ne-podporne vektorje. Torej je dovolj, če se učimo samo na podpornih; z gornjim postopkom skušamo ugotoviti, kateri so podporni. Različica: decomposition (Osuna et al., 1997) v delovno množico vedno sprejmemo le toliko novih spremenljivk, kolikor smo jih prej odvzeli iz nje. Očitno moramo dovoliti vsaj tako veliko DM, da bodo šli vanjo vsi podporni vektorji.

Joachimsova različica dekompozicije 32/60 Za delovno množico si izberemo q spremenljivk; optimiziramo; to ponavljamo, dokler ne konvergira. Predlaga q = 10. Spremenljivke si izberemo takole: kriterijska funkcija ima odvode g(α) = 1 2 αt Qα 1 T α α g(α) = Qα 1 T. Spremenljivke α i z negativnim odvodom g/ α i bi bilo treba povečevati, tiste s pozitivnim zmanjševati. Da bomo lahko spoštovali pogoj l i=1 y iα i = 0, si moramo izbrati nekaj (npr. q/2) takih α i, pri katerih se bo vrednost y i α i povečevala, in nekaj takih, pri katerih se bo zmanjševala. Pri tem seveda ignoriramo tiste, ki jih ne bi mogli premikati v željeni smeri (če so ˇze na robu intervala [0, C]). Shrinking: če neka α i veliko iteracij ostaja pri vrednosti 0 (ali C), je v bodoče sploh ne gledamo več. Čez čas preverimo, če je njena vrednost še sprejemljiva.

Zaporedna minimalna optimizacija (SMO) 33/60 Platt (1999) je opazil: Ker imamo pogoj l y i α i = 0, i=1 ne moremo spreminjati le po ene α i moramo vsaj dve naenkrat, da bomo lahko ohranjali to enakost. Izberimo le dve, α i in α j. Od gornjega pogoja nam ostane zdaj y i α stara i + y j α stara j = y i α nova i + y j α nova j. Torej: ko spremenimo npr. α i v αi nova, je s tem ˇze točno določena tudi edina sprejemljiva vrednost za α j. Torej imamo v bistvu en sam parameter spremembo α i. g je kvadratna funkcija tega in brez težav poiščemo minimum. Hevristika za izbor dveh spremenljivk: 1. α i naj bo tista, ki najhuje krši svoj KKT pogoj. 2. α j tista, ki v paru z α i obeta največji premik.

Časovna zahtevnost učenja SVMjev 34/60 10000 Čas učenja T [s] 1000 100 10 10000 Število učnih primerkov N poskusi T = N 1.51 /19152 100000 Mnoˇzica 118924 učnih primerkov in njene podmnoˇzice. Linearna regresija pravi: [čas učenja] 1 19152.342 [število učnih primerkov]1.51725 s. Časovna zahtevnost je med linearno in kvadratno, različni avtorji navajajo različne eksponente.

Nelinearni modeli in jedra

Prehod na nelinearne modele 36/60 Recimo, da bi pred učenjem vse učne vektorje preslikali v nek nov vektorski prostor F: φ : R d F x φ(x) Če pišemo φ(x) = (φ 1 (x), φ 2 (x),...), so φ i (x) oblike ali značilke ( features) primerka x, F je prostor značilk ( feature space). Naš optimizacijski problem je bil prej Zdaj pa je: minimiziraj f(w, b, ξ) := 1 2 w 2 + C l i=1 ξ i pri pogojih i 1..l : y i (w T x i + b) 1 ξ i, ξ i 0. minimiziraj f(ŵ, b, ξ) := 1 2 ŵ 2 F + C l i=1 ξ i pri pogojih i 1..l : y i ( ŵ, φ(x i ) F + b) 1 ξ i, ξ i 0. ŵ ˇzivi v F in, F je skalarni produkt v F. ŵ 2 F = ŵ, ŵ F je norma v prostoru F.

Prehod na nelinearne modele 37/60 Dualna naloga je bila prej: minimiziraj g(α) := 1 l l 2 i=1 j=1 α iα j y i y j x T i x j l pri pogojih i 1..l : 0 α i C in l i=1 α iy i = 0. i=1 α i Zdaj pa je: minimiziraj g(α) := 1 l l 2 i=1 j=1 α iα j y i y j φ(x i ), φ(x j ) F l pri pogojih i 1..l : 0 α i C in l i=1 α iy i = 0. Prej se je normala izraˇzala kot Zdaj: Klasifikator je bil prej: Zdaj: w = l i=1 α iy i x i. ŵ = l i=1 α iy i φ(x i ). napoved(x) = sgn(w T x + b). i=1 α i napoved(x) = sgn( ŵ, φ(x) F + b) = sgn(b + l i=1 α iy i φ(x i ), φ(x) F ).

Jedra 38/60 Videli smo: nikjer nam ni treba eksplicitno delati s slikami φ(x). Dovolj je, če znamo računati skalarne produkte med njimi: Taki funkciji pravimo jedro (kernel). K(x, ˆx) = φ(x), φ(ˆx) F. Lahko bi si najprej izbrali φ in F ter potem poskušali najti primerno K. (Takšno, ki jo bo preprosto računati.) Pogosto pa kar vzamemo nek K in se moramo le še prepričati, da obstajata neka φ in F, ki jima K ustreza.

Zadostni pogoji, da je K jedro 39/60 Mercerjev izrek: Omejimo se na neko kompaktno (zaprto in omejeno) podmnoˇzico C R d. g je kvadratno integrabilna na C ntk. C g 2 (x)dx <. K naj bo simetrična in za vsaki kvadratno integrabilni f, g naj velja: f(x)k(x, ˆx)g(ˆx)dxdˆx 0. Potem je K jedro. Še en zadosten pogoj: C C Za vsako končno mnoˇzico {x 1,..., x l } mora biti matrika K = (k ij ) z elementi k ij := K(x i, x j ) pozitivno semidefinitna.

Bolj človeški pogoji 40/60 Če so K 1, K 2, K 3 jedra, so tudi tole jedra: K(x, ˆx) = K 1 (x, ˆx) + K 2 (x, ˆx) K(x, ˆx) = λk 1 (x, ˆx) za poljubno λ R K(x, ˆx) = K 1 (x, ˆx)K 2 (x, ˆx) K(x, ˆx) = f(x)f(ˆx) za poljubno f : R d R K(x, ˆx) = K 3 (φ(x), φ(ˆx)) za poljubno φ : R d R m K(x, ˆx) = x T Aˆx za poljubno pozitivno semidefinitno A

Polinomska jedra 41/60 K(x, ˆx) = (x T ˆx + 1) p Na primer: recimo, da naši učni vektorji ˇzivijo v 2-d prostoru: x = (x 1, x 2 ), ˆx = (ˆx 1, ˆx 2 ). Potem je za p = 2: K(x, ˆx) = (x 1ˆx 1 + x 2ˆx 2 + 1) 2 = = x 2 1ˆx 2 1 + x 2 2ˆx 2 2 + 2x 1 x 2ˆx 1ˆx 2 + 2x 1ˆx 1 + 2x 2ˆx 2 + 1 = = (x 2 1, x 2 2, 2x 1 x 2, 2x 1, 2x 2, 1)(ˆx 2 1, ˆx 2 2, 2ˆx 1ˆx 2, 2ˆx 1, 2ˆx 2, 1) T. Torej deluje K(x, ˆx) tako, kot da bi oba vektorja preslikali s preslikavo φ : R 2 R 6, φ(x) = (x 2 1, x 2 2, 2x 1 x 2, 2x 1, 2x 2, 1) T in potem v R 6 naredili navaden skalarni produkt. Ko se naučimo neko normalo ŵ = (A, B, C, D, E, F ) T R 6, dobimo klasifikator napoved(x) = sgn(ŵ T φ(x) + b) = sgn(ax 2 1 + Bx 2 2 + Cx 1 x 2 + Dx 1 + Ex 2 + F + b). Torej smo 2-d ravnino, v kateri ležijo naši x, razmejili z neko stožernico. V splošnem je tako, kot da bi φ slikala v nek ( ) p+d p -razseˇzni prostor.

Radialna jedra (radialne bazne funkcije) 42/60 ] x ˆx 2 K(x, ˆx) = exp [ ali exp [ γ x ˆx 2] 2σ 2 To ustreza preslikavi φ v nek -razseˇzen prostor F. Klasifikator: napoved(x) = sgn ( b + si lahko predstavljamo takole: ) l α i y i K(x i, x) i=1 1.0 0.8 0.6 0.4 0.2 0.0-1.0-0.5 0.0 0.5 1.0 f(t) = exp( 3t 2 ) Vsak učni primerek x i glasuje za svoj razred y i. Na koncu vzamemo uteˇzeno vsoto teh glasov in jo primerjamo s pragom b. Pri glasovanju damo večjo težo tistim učnim primerkom x i, ki so bliˇze novemu vektorju x. Utež primerka x i je K(x i, x), torej Gaussova (zvonasta) funkcija razdalje x i x. Večja ko je γ, oˇzji so zvonovi in manjši je vpliv posameznega primerka.

Sigmoidna jedra 43/60 K(x, ˆx) = th(κx T ˆx + Θ) Sploh niso jedra: na primer, K(x, x) bi moral biti > 0, pa ni, če je κ > 0, Θ < 0 in x < Θ/κ. 1.00 0.75 0.50 0.25 0.00-0.25 Sigmoidna krivulja: -0.50-0.75 th t = et e t e t + e = 1 2-1.00. t e 2t -3-2 -1 0 1 2 3 + 1 Θ določa, kje bo prehod: f(t) = th(κt + Θ) ima ničlo pri t = Θ/κ κ določa, kako strm bo prehod: f ima v ničli odvod κ

Jedra za nize 44/60 Naj bo x = a 1 a 2... a n niz n znakov nad abecedo Σ. Niz u = b 1 b 2... b m se pojavlja kot podniz v x, če i 1,..., i m : 1 i 1 < i 2 < < i m n, a i1 = b 1,..., a im = b m. Dajmo tej pojavitvi vrednost λ (i m i 1 +1) m (za neko λ [0, 1]). Definirajmo φ u (x) = vrednost te pojavitve. In: Potem lahko definiramo jedro: po vseh pojavitvah u v x φ : Σ R Σm, φ(x) := φ u (x) u Σ m. K(x, ˆx) = u Σ m φ u (x)φ u (ˆx) Računamo ga lahko z dinamičnim programiranjem v O(m x ˆx ). Menda se je na besedilih obneslo tako dobro kot tradicionalna jedra, včasih še malo bolje (Lodhi et al., 2000).

Posplošena jedra 45/60 Pri jedrih dobimo klasifikator oblike in pri učenju minimiziramo 1 2 l i=1 l j=1 α iα j y i y j K(x i, x j ) + C l i=1 ξ i napoved(x) := sgn(b + l j=1 α jy j K(x, x j )) pri i 1..l : y i (b + l j=1 α jk(x i, x j )) 1 ξ i, ξ i 0. Od tod izvira pogoj, da K ne more biti kakršna koli funkcija biti mora jedro, torej pozitivno definitna, sicer so lahko pri optimizaciji težave. Mangasarian je predlagal drugačen optimizacijski problem (generalized SVM): minimiziraj 1 2 l i=1 l j=1 α ih ij α j + C i ξ i pri pogojih i 1..l : y i (b + l j=1 α jk(x i, x j )) 1 ξ i, ξ i 0. Ta problem je dovolj lep, čim je H = (H ij ) pozitivno definitna ne glede na to, kakšna funkcija je K. Klasifikator je tak kot zgoraj.

Posplošena jedra 46/60 Najpreprostejša različica: H = I, minimizirajmo i α2 i. Kot bi ˇzeleli čim preprostejši model (veliko α i = 0). Optimizacijski problem minimiziraj 1 2 l i=1 α2 i + C i ξ i pri pogojih i 1..l : y i (b + l j=1 α jk(x i, x j )) 1 ξ i, ξ i 0. je ekvivalenten temu, da bi x preslikali v φ(x) := (K(x, x 1 ), K(x, x 2 ),..., K(x, x l )) R l in iskali v prostoru R l ravnino oblike α T φ(x) + b: minimiziraj 1 2 α 2 + C i ξ i pri pogojih i 1..l : y i (b + α T φ(x i )) 1 ξ i, ξ i 0. Torej je ta formulacija takšna, kot da bi si rekli: primerka x in ˆx sta si podobna (imata velik φ(x), φ(ˆx) F ), če so vrednosti K(x, x i ) pribliˇzno take kot K(ˆx, x i ); torej: če imata enak vzorec podobnosti do učnih primerkov (x i, i 1..l).

Razno

SVM kot nevronska mreža 48/60 K(, x1 ) α 1 y 1 K(, x 2 ) α 2 y 2 x Σ sgn napoved(x) K(, x l ) α l y l b Na prvem nivoju je l celic; i-ta računa K(x, x i ). Na drugem nivoju je ena celica, ki izračuna uteˇzeno vsoto b + l i=1 α iy i K(x, x i ) in vrne njen predznak.

Transduktivni SVM 49/60 Tu imamo poleg običajne učne množice še nekaj neoznačenih vektorjev x j, j 1..m (ki pa prihajajo iz iste verjetnostne porazdelitve). Vapnik (1998) je priporočil: Pripišimo vsakemu od neoznačenih primerkov oznako (+1 ali 1) in to tako, da bo potem pri učenju na obojih skupaj mogoče doseči čim manjšo vrednost kriterijske funkcije. minimiziraj f(w, b, ξ, ξ, y ) := 1 2 w 2 + C l i=1 ξ i + C m j=1 ξ i pri pogojih i 1..l : y i (w T x i + b) 1 ξ i, ξ i 0 j 1..m : yj (wt x j + b) 1 ξ j, ξ j 0, y j {1, 1} Tega ne moremo kar minimizirati, saj so spremenljivke y j diskretne.

Transduktivni SVM 50/60 minimiziraj f(w, b, ξ, ξ, y ) := 1 2 w 2 + C l i=1 ξ i + C m j=1 ξ i pri pogojih i 1..l : y i (w T x i + b) 1 ξ i, ξ i 0 j 1..m : yj (wt x j + b) 1 ξ j, ξ j 0, y j {1, 1} Zato je Joachims (1999) predlagal hevristiko: 1. Najprej se naučimo le na prvotni učni mnoˇzici. Dobljena w in b uporabimo, da označimo ostale primerke: nekaj x j z najvišjimi wt x j dobi oznako +1, ostali 1. 2. Pripravimo nov model na vseh primerkih. Dokler gre, poskušamo zamenjati oznaki kakšnih takih x j 1 in x j 2, ki sta različno označena in se dosedanji model zmoti na obeh (torej: napove nasprotno oznako od tiste, ki smo jima jo pripisali mi). Če je ob ponovnem učenju f manjša, zamenjavo obdržimo. 3. Ko to ne gre več, vpliv neoznačenih primerkov (C ) povečamo in ponovimo prejšnjo točko. Ponavljamo, dokler ne postane C = C.

Vračanje verjetnosti 51/60 Lepo je, če klasifikator vrne aposteriorno verjetnost P (Y = y X = x); SVM pa vrne le vrednost f(x) = w T x + b (oz. njen predznak). 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 5 4 3 2 1 0 1 2 3 4 5 Na abscisi so vrednosti f, na ordinati pa delež pozitivnih primerkov znotraj košarice širine 0,1.

Vračanje verjetnosti 52/60 Zato je Platt (1999) predlagal, da bi na f-je položili sigmoido: P (Y = 1 F = f) = 1, P (Y = 1 F = f) = 1 P (Y = 1 F = f). 1 + exp( Af + B) A in B izberimo tako, da se maksimizira l P (Y = y i F = w T x i + b) oziroma logaritem tega. To je verjetnost, da, če dobimo ravno take primerke, kot jih imamo mi tule (torej x i, i 1..l), imajo ti primerki tudi ravno take oznake, kot jih vidimo mi (torej y i ). Koristno je vzeti ločeno validacijsko množico, ne iste kot za učenje prediktorja f. To nam ponudi tudi malo drugačen klasifikator: { +1, če P (Y = +1 F = w napoved(x) = T x + b) 1/2 1, sicer. Učinek je tak, kot če bi spremenili prag: To včasih izboljša točnost. i=1 napoved(x) = sgn(w T x + b B/A)

Večrazredni problemi 53/60 Imamo r razredov, vsak primerek spada v natanko enega od njih. Moramo ga preoblikovati v več dvorazrednih problemov. Eden proti ostalim: naučimo r modelov, ki ločujejo po en razred od ostalih. Če jih več razglasi primerek za pozitivnega, vzamemo tistega z največjo w T x + b (ali pa največjo P (Y = 1 f)). Eden proti enemu: za vsak par razredov naučimo model, ki ju razločuje. Nov primerek pokažemo vsem modelom in se odločimo za razred, ki dobi največ glasov. DAGSVM: različica prejšnje strategije. Če model za {c i, c j } reče, da je primerek v c i, to sicer še ne pomeni, da je res v c i, pač pa, da skoraj gotovo ni v c j. Kodne matrike: naučimo m modelov; vrednost M ij { 1, 0, 1} pove, kako uporabimo primerke razreda c i pri učenju j-tega modela. Nov primerek pokaˇzemo vsem, dobimo vrstico napovedi, ki jo primerjamo z vrsticami matrike M. Razne ideje glede matrike M: gosta, redka, maksimalna, ECC. Allwein et al. (2000) ter Hsu in Lin (2001) priporočajo pristop eden proti enemu.

Regresijski SVM 54/60 Radi bi napovedovali takole: y = w, x + b. To si lahko predstavljamo kot ravnino v (d + 1)-razsežnem prostoru. Učni primerki (x i, y i ) naj vsi ležijo čim bližje te ravnine. y i w, x i + b < ε Če velja to, ležijo vse (x i, y i ) znotraj pasu širine 2ε/ 1 + w 2. Torej je spet dobro minimizirati w. 1 minimiziraj 2 w 2 + C l i=1 (ξ i + ξi ) pri pogojih ( i 1..l) : y i w, x i + b + ε + ξi y i w, x i + b ε ξi ξi 0, ξi 0 ε si izberemo vnaprej za majhne napake se sploh ne zmenimo. To spet lahko predelamo v dualni problem in rešujemo s kvadratnim programiranjem.

ν-svm (Schölkopf et al., 1998) 55/60 Namesto parametra C uporabimo ν [0, 1]: minimiziraj f(w, b, γ, ξ) := 1 2 w 2 νγ + 1 l l i=1 ξ i pri pogojih ( i 1..l) : y i (w T x i + b) γ ξ i ξ i 0, γ 0 Širina roba je zdaj 2γ/ w. Pokazati se da: delež učnih primerkov, ki niso na pravi strani roba ν delež podpornih vektorjev ν če bi dobivali vse več učnih podatkov in če porazdelitev, iz katere prihajajo, ni preveč čudna, bi v gornjih dveh neenačbah konvergirali k enakosti. S parametrom ν nadziramo deleˇz podpornih vektorjev in napak, tako kot s C v prvotni formulaciji, le da z ν bolj neposredno.

ROMMA (relaxed on-line maximum margin algorithm, Li & Long, 2002) 56/60 On-line učenje: sproti, ko prihajajo novi učni primerki, ˇzelimo popravljati model. Omejimo se na b = 0 in trdi rob. SVMjev optimizacijski problem bi bil: minimiziraj 1 2 w 2 pri pogojih ( i 1..l) : y i w T x i 1 origin Iščemo torej tisto točko w iz dopustne mnoˇzice, ki je najbliˇzja koordinatnemu izhodišču. Več ko je primerkov, bolj je dopustna mnoˇzica zapletena. Naj bo w 1 najkrajša normala v dopustni mnoˇzici. Če zamenjamo vse pogoje z enim samim: w T w 1 w 1 2, je nova dopustna množica nadmnožica stare, najkrajši w v njej pa je še vedno w 1.

ROMMA 57/60 Postopek je torej tak: Prvi učni primerek nam da kot pogoj le eno linearno neenačbo: y 1 w T x 1 1 Za vsak naslednji učni primerek (x t, y t ): Dosedanji neenačbi w T u t 1 v t 1 se pridruˇzi še tista od trenutnega učnega primerka: y t w T x t 1. Izračunajmo najkrajši w, ki ustreza obema; recimo mu w t. Zamenjajmo obe neenačbi z eno samo: w T w t w t 2. Torej imamo u t = w t, v t = w t 2. Vpeljati je mogoče tudi neke vrste kvadratno kazen (+C i ξ2 i ). Jedru po diagonali prištejemo 1/2C: K novo (x i, x j ) := K staro (x i, x j ) + (1/2C) δ ij. Pri linearnem jedru je to enako, kot če bi vsak x i podaljšali z l komponentami, ki so same ničle, razen i-te, ki je enica. Očitno je, da je problem potem res linearno separabilen.

Programi 58/60 SvmLight (T. Joachims): Posebej hiter pri linearnem jedru. Podpira običajno in transduktivno formulacijo klasifikacijskega SVM, v zadnji verziji podpira tudi regresijo. LibSvm (C.-C. Chang, C.-J. Lin): Poleg običajnega SVM podpira še ν-svm, regresijo in ocenjevanje podpore porazdelitev. Podpira večrazredne probleme (strategija eden proti enemu ). MySvm (S. Rüping), itd., itd. Demo v javi: http://svm.cs.rhul.ac.uk/pagesnew/gpat.shtml

Literatura 59/60 C. J. C. Burges: A tutorial on support vector machines for pattern recognition. Data Mining and Knowledge Discovery, 2(2):121 167, June 1998. Delavnice na NIPS (Neural Information Processing Systems): NIPS 97: B. Schölkopf, C. J. C. Burges, A. J. Smola (eds.): Advances in kernel methods: Support vector learning. MIT Press, 1998. NIPS 98: A. J. Smola, P. J. Bartlett, B. Schölkopf, D. Schuurmans: Advances in large-margin classifiers. MIT Press, 2000. NIPS 99: Machine Learning, special issue on SVMs and kernel methods, 46(1 3), January March 2002. NIPS 2000: Journal of Machine Learning Research, special issue on kernel methods, December 2001.

Literatura 60/60 Knjige: N. Christianini, J. Shawe-Taylor: An introduction to Support Vector Machines and other kernel-based methods. Cambridge University Press, 1999. [www.support-vector.net] B. Schölkopf, A. J. Smola: Learning with kernels. MIT Press, 2001. [www.learning-with-kernels.org] R. Herbrich: Learning kernel classifiers. MIT Press, 2001. [www.learning-kernel-classifiers.org] V. N. Vapnik: Statistical learning theory. Wiley-Interscience, 1998. V. N. Vapnik: The nature of statistical learning theory. Springer, 1995, 2 1999. Web site: www.kernel-machines.org