You are on page 1of 26

GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

Klasifikacija strojem s potpornim vektorima

Gordan Topić
(Ericsson Nikola Tesla d.d., Zagreb, Croatia)
gordan.topic@ericsson.com
Krapinska 45, Zagreb, Hrvatska
Telefon: +385 1 364 4618 Fax: +385 1 364 3219 E-mail: gordan.topic@ericsson.com

Abstract: Stroj s potpornim vektorima je jedan od najpopularnijih postupaka funkcijske


klasifikacije. Postao je popularan prije nekoliko desetaka godina koristeći se za rješavanje
problema u klasifikaciji, regresiji i kod neuobičajenih detekcija. Kao binarni klasifikator najčešće
koristi algoritme s linearnim odvajanjem klasa, ali koristi i nelinearne funcije u algoritmima
temeljenim na jezgrama ili kernelima. Od jezgri su najpoznatije polinomne i jezgre s radijanom
baznom funkcijom. Definiranje plohe razdvajanja među klasama izvodi se putem potpornih
vektora, tj. kritičnih točaka ili primjera koji su najbliži plohi razdvajanja.

Keywords: SVM, support vector machine, stroj s potpornim vektorima, kernel, jezgra,
klasifikacija, margina, problem razdvajanja

Sadržaj:
Klasifikacija strojem s potpornim vektorima .......................................................................... 1

1 Uvod ................................................................................................................................................ 2

2 Opis algoritma SVM-a.............................................................................................................. 3

2.1 Linearni SVM .................................................................................................................... 6

2.2 Linearno nerazdvajajući problem (“meka” margina) .................................... 9

2.3 Nelinearni SVM ............................................................................................................ 11

2.4 Višeklasni SVM ............................................................................................................. 15

3 Primjena SVM metode ......................................................................................................... 15

3.1 Primjena u bioinformatici ....................................................................................... 15

3.2 Primjena kod klasifikacije dokumenata ............................................................ 16

3.3 Ostale poslovne primjene ........................................................................................ 16

4 Primjeri klasifikacije metodom potpornih vektora ................................................ 16

4.1 Primjer s linearno razdvajajućim problemom ............................................... 16

1
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

4.2 Primjer linearno nerazdvajajućeg jednodimenzijskog problema ......... 22

5 Zaključak .................................................................................................................................... 24

6 References ................................................................................................................................. 24

1 Uvod

Stroj s potpornim vektorima (eng. Support Vector Machine - SVM) je nelinearna


generalizacija algoritma razvijenog još 60-ih godina 20. stoljeć a nazvanog
Generalized Portrait [1]. Iako se algoritam prvi put spominje u Vapnikovom radu
iz 1979. godine, osnovni oblik SVM-a razvijen je nešto kasnije u okviru AT&T Bell
Laboratories [2], [3], radi č ega je od početka, uz č vrsto uporište u statistič koj
teoriji uč enja, usmjeren na praktič nu primjenu [4].
Osnovni poticaj razvoju SVM-a proizašao je iz potrebe rješavanje problema
prenaučenosti (engl. overfitting). Za razliku od nekih drugih algoritama uč enja,
moguć e je izrač unati VC dimenziju SVM-a [5] koja se može shvatiti kao mjera
kapaciteta učećeg stroja izražena jednim brojem [7], tj. dimenzija razdvajanja
neke klase je funkcija definirana je kao najveći podskup od točaka koje ta klasa
funkcija može razdvojiti [1].
SVM se može smatrati prvom razradom statistič ke teorije uč enja koja pripada
široj klasi algoritama uč enja baziranih na jezgrama ili kernelima (eng. Kernel
methods), nastalih kombinacijom teorije strojnog uč enja, optimizacijskih
algoritama te funkcionalne analize [1]. Jezgrena funkcija, koja se može shvatiti
kao mjera slič nosti, omoguć ava konstruiranje rač unski efikasnih nač ina koji
omoguć uju korištenje višedimenzijskih nelinearnih transformacija.
Kombinacijom koncepata maksimalne margine (koja pokazuje već u otpornost na
šum), smanjenjem pojave prenaučenosti (koja inače umanjuje sposobnost
generalizacije) i jezgri, dobiven je moć ni nelinearni model s automatskom
regularizacijom [1]. Prednosti koje je model pokazao su [6]: jednostavnost
korištenja, mali broj slobodnih parametara, dobro snalaženje u situacijama
visoko višedimenzijskih problema poprać enih malim brojem primjera za uč enje,
optimizacijski problem s jedinstvenim rješenjem, prilično brzi proces
uč enja, implementacija novog skupa decizijskih funkcija može se izvršiti
promjenom samo jedne funkcije tj. jezgre itd.
Inicijalni rad na SVM algoritmu bio je povezan s konstruiranjem klasifikatora za
raspoznavanje strojno generiranih znakova (Optical character recognition - OCR).
Pokazavši se vrlo uspješnim, rad na SVM klasifikatorima se nastavlja s
proš irenjima koji omogućuju uspješ nu primjenu i na problemima regresije. SVM
danas predstavlja jedan od standardnih algoritama koriš tenih za rješ avanje
najraznovrsnijih problema koji variraju od raspoznavanja govora, kategorizacije

2
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

teksta, predviđanja vremenskih nizova, pa do detekcije kvarkova ili ekspresije


gena, pri č emu u već ini testova pokazuju jednake ili č ak i bolje generalizacijske
performanse u odnosu na ostale algoritme [5], [7], [8].

2 Opis algoritma SVM-a

Ako se pretpostavi da postoje dva skupa točaka koje pripadaju različitim


linearno razdvojivim klasama, pojavljuje se problem razdvajanja koji govori da
se između tih klasa može povući beskonačan broj ploha koje dobro razdvajaju
elemente te dvije klase [9], (Slika 1).

Slika 1: Problem razdvajanja, beskonačni broj ploha koje razdvajaju klase [18].

Stoga, potrebno je pronaći optimalnu ravninu koja razdvaje podatke tih dviju
klasa. Metoda potpornih vektora nalazi hiperravninu koja ima najveću marginu
razdvajanja klasa, jer ne postojanje točaka blizu plohe razdvajanja označava veću
sigurnost klasifikacijskih odluka. Margina je po definiciji udaljenost između
"kritičnih" točaka najbližih plohi razdvajanja (engl. decision boundary). Ako se
postavi što veći "razmak" tj. margina između dviju klasa, postoji manje
mogućnosti izbora za funkciju razdvajanja, što znači da se kapacitet modela
smanjuje, odnosno manje su šanse za prenaučenost (Slika 2).

3
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

Slika 2: Traženje što veće margine između dviju klasa [18].

Dakle, SVM maksimizira marginu oko hiperravnine, tj. plohe razdvajanja (engl.
separating hyperplane). Funkcija odluke kod SVM-a definirana je preko podskupa
točaka, tj. primjera iz skupa za učenje, tzv. potpornih vektora (engl. support
vectors), (Slika 3).

Slika 3: Potporni vektori i maksimalna margina kod razdvajanja klasa [18].

Osnovni princip jest da, u načelu, ploha razdvajanja mora što bolje razdvajati
klase. Ukoliko se pokaže da problem nije razdvojiv, dozvoljene su greške, uz
penaliziranje (Slika 3). Ako se definira konveksna ljuska (engl. convex hull) kao
najmanji konveksni skup koji sadrži sve točke skupa točaka {xi} prema slici (Slika
4).

4
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

Slika 4: Konveksna ljuska, razdvajajući i nerazdvajajući problem [18].

Stoga, za dva skupa {xi} i {yi} vrijedi, ako se njihove konveksne ljuske ne
preklapaju onda je riječ o problemu razdvajanja (Slika 4).
Logika nalaže da nakon pronalaženja konveksnih ljuski za svaku od klasa,
zadatak je pronaći dvije najbliže točke u svakoj konveksnoj ljusci te odrediti
ravninu koja prolazi između te dvije točke. Formalno, maksimalna margina se
određuje definiranjem:

 w: normala na hiperravninu razdvajanja


 xi: primjer (točka) i
 yi: pridružena oznaka klase primjera i (+1/-1)
 klasifikator određen funkcijom: sign(wTxi + b)
 margina xi određena funkcijom: yi (wTxi + b)

Primjeri tj. točke koji se nalaze najbliže plohi čine potporne vektore, gdje je
margina ρ plohe razdvajanja, upravo širina razdvajanja između potpornih
vektora suprotnih klasa, (Slika 5).

5
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

Slika 5: Margina definirana kao širina razdvajanja između potpornih vektora


suprotnih klasa i udaljenost r između plohe i određene točke x [18].

Sukladno opisanom, udaljenost r između plohe i točke x definirana je izrazom


(1):

𝐰𝐓𝐱 + b
r= (1)
‖𝐰‖

2.1 Linearni SVM

Kanonski se w i b određuju tako da se uzme jedinična razdaljina između najbližih


točaka, koje predstavljaju potporne vektore. Dakle, ukoliko se pretpostavi da za
sve točke vrijedi da se nalaze na distanci 1 od plohe razdvajanja (Slika 6), tada će
vrijediti dva ograničenja na skupu primjera za učenje {(xi ,yi)}:

wTxi + b ≥ 1 ako je yi = 1 (2)


wTxi + b ≤ -1 ako je yi = -1 (3)

Za potporne vektore nejednakosti postaju jednakosti, a margina će biti:

2
𝜌= (4)
‖𝒘‖

Ploha razdvajanja je: wTxi + b = 0, (5)

uz ograničenja: mini=1,..,n |wTxi + b| = 1, (6)

dolazi se do margine razdvajanja:

wT(xa–xb) = 2 (7)

2
ρ = ‖xa − x‖ = (8)
‖𝐰‖

6
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

Slika 6: Ploha razdvajanja kod linearnog SVM-a udaljenosti točaka 1 [18].

Iz navedenog se formulira optimizacijski problem u kojem se mora pronaći w i b


na način da margina ρ maksimalna, gdje za sve zadane {(xi ,yi)} moraju vrijediti
izrazi (2) i (3). Međutim, bolja formulacija optimizacijskog problema je kao
minimizacijski, kvadratni optimizacijski problem uz ograničenja:

2
min‖𝐰‖ = max (9)
‖𝐰‖

Stoga je potrebno pronaći w i b takve da je Φ(w) =1 ⁄ 2 wTw, minimalno i da za


sve {(xi ,yi)} vrijedi yi (wTxi + b) ≥ 1. Ova formulacija minimizacije kvadratne
funkcije uz linearna ograničenja tj. nejednakosti se prevodi u dualni problem u
kojem se tzv. Lagrangeovim multiplikatorima penalizira svako ograničenje iz
primarnog problema.
Minimizira se funkcija ƒ (x) uz ograničenja jednakosti g(x)=0, a gdje je potrebno:

 naći minimum funkcije ƒ (x), xRd uz ograničenja g(x) = 0, i= 1...m


 tada postoje Lagrangeovi multiplikatori λ = (λ1, λ2, ... , λm) za koje u
minimumu (koji zadovoljava sva ograničenja) x vrijedi:

∇ƒ(𝐱) = λ1 ∇g1 (𝐱 ∗ ) + λ2 ∇g 2 (x∗ )+ . . . +λm ∇m(𝐱 ∗ ) (10)

Uvodeći Lagrangeovu funkciju L(x, λ) = ƒ(x) + ∑i λi gi(x), proizlazi da


vrijedi u x:

7
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

∂L
= g i (𝐱) = 0 (11)
∂λi

∇L(𝐱) = ∇ƒ(𝐱) + λ1 ∇g1 (𝐱) + λ2 ∇g 2 (𝐱)+ . . . +λm ∇m(𝐱) (12)

Potrebno je pronaći stacionarnu točku L(x, λ) s obzirom na x i λ!


Rješenje x može biti:

 unutar plohe gi(x) - tada vrijedi gi(x) > 0. U tom slučaju ograničenje i nije
aktivno, iz čega slijedi λi = 0.
 na gi(x) = 0, tada je ograničenje aktivno, iz čega slijedi λi ≥ 0.

Slika 7: Slučaj s ograničenjem u obliku nejednakosti i jednakosti [18].

Karush-Kuhn-Tucker (KKT) uvjeti, generalizacija Lagrangeove metode na


ograničenja u obliku nejednakosti:

 Rješenje za nelinearni optimizacijski problem tipa:


minx ƒ(x) gi(x) ≥ 0

 Dobiva se optimizacijom na x i λ:
L(x, λ) = ƒ(x) + ∑i λi gi(x), uz ograničenja u minimumu x* vrijedi:
gi(x*) ≥ 0, λi ≥ 0, λi gi(x*) = 0.

Primarna formulacija: min max L(𝐰, λ) (13)


𝐰 λ

Dualna formulacija: max min L(𝐰, λ) (14)


λ 𝐰

Za konveksni problem: min max L(𝐰, λ) = max min L(𝐰, λ) (15)


𝐰 λ λ 𝐰

8
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA


Wolfe dual (konveksni problem): max L(𝐰, λ) uz L(𝐰, λ) = 0 (16)
λ≥0 ∂𝐰

Kod dualne formulacije treba naći: λ1... λN tako da je:

1
Q(λ) = ∑ λi − ∑ ∑ λi λi yi yj 𝐱 𝐓i 𝐱 j (17)
2
i i j

te da vrijedi:
∑ λi yi = 0 − i, j = 1. . N (18)
i

λi ≥ 0 ∀𝑖 (19)

Rješenje optimizacijskog problema je:

∑ λi yi 𝐱 𝐢 b = yk − 𝐰 𝐓 𝐱 k za bilo koji 𝐱 k za koji je a k (20)


i
≠0

Svaki αi koji je različit od 0 zapravo znači da je taj xi potporni vektor, te konačno


klasifikacijska funkcija ima oblik:

ƒ(𝐱) = ∑ λi yi 𝐱 Ti 𝐱 k + b (21)
i

U rješavanju optimizacijskog problema također je korišten produkt xiTxj između


svih parova točaka skupa za učenje. Rješenje je proporcionalno sumi umnožaka
skalarnih produkata xiTx između novog primjera (tj. točke) i svih potpornih
vektora xi [9].

2.2 Linearno nerazdvajajući problem (“meka” margina)

Kad problem nije linearno razdvojiv, dodaju se koeficijent C i nove "labave"


varijable ξi (engl. slack variables), kojima se dopuštaju krive klasifikacije za teške
ili "šumovite" primjere, tj. toleriranje malih grešaka pri učenju (Slika 8).

9
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

Slika 8: "Slack" varijable za dopuštanje krivih klasifikacija ("šumoviti" primjeri)


[18].

U staroj formulaciji bilo je potrebno pronaći w i b takve da je Φ(w) = 1 ⁄ 2 wTw,


minimalno i da za sve {(xi ,yi)} vrijedi yi (wTxi + b) ≥ 1, međutim u novoj
formulaciji SVM-a s "mekom" marginom (engl. soft margin), potrebno je pronaći
w i b takve da je:
1 T
𝚽(𝐰) = 𝐰 𝐰 + C ∑ ξi minimalno (22)
2
i

da za sve {(xi ,yi)} vrijedi uvjet:

yi (𝐰 T 𝐱 i + b) ≥ 1 − ξi uz ξi ≥ 0 ∀i (23)

Dualni problem za SVM s "mekom" marginom treba naći λ1... λN tako da je:

1
Q(λ) = ∑ λi − ∑ λi λj yi yj 𝐱 Ti 𝐱 j (24)
2
i i

te da vrijedi:
∑ λi yi = 0
(25)
i

0 ≤ λi ≤ C λi (26)
I dalje vrijedi: xi sa λi > 0 su potporni vektori.

10
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

U dualnoj formulaciji nema slack varijabli, već samo ograničenje na λ (λ < C), pa
je rješenje dualnog problema s “mekom” marginom:

𝐰 = ∑ λi yi 𝐱 i (27)
i

b = yk (1 − ξk ) − 𝐰 T 𝐱 k gdje je k = arg max λk (28)


k

Klasifikacijska funkcija ima oblik (21), u kojem w nije potreban, kao i u


prijašnjem primjeru. Parametar C odabire korisnik i veći iznos C parametra
predstavlja veću “kaznu” za pogreške [5], drugim riječima C predstavlja faktor
pogreške, kojim se dozvoljavaju određene pogreške pri učenju, bez čega
pronalazak hiperravnine ne bi bio moguć [21].

2.3 Nelinearni SVM

Nelinearni SVM koristi se za probleme koji nisu linearno razdvojivi ili


neprihvatljivi uz neki razumni šum. U tom slučaju podaci se preslikavaju u
višedimenzijski prostor (Slika 9).

Slika 9: Slika A) - linearno razdvajajući problem, slika B) - linearno nerazdvajajući


problem, slika C) - preslikavanje problema u višedimenzijski prostor gdje je
razdvojivost moguća [18].

11
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

Osnovna ideja je temeljena na preslikavanje originalnog prostora varijabli u novi


višedimenzijski prostor u kojemu će problem biti rješiv, tj.linearno razdvojiv
(Slika 10).

Slika 10: Preslikavanje varijabli u novi višedimenzijski prostor [18].

Koristi se "kernel trik" kojim linearni SVM, tj. skalarni produkt između vektora
K(xi,xj)=xiTxj transformiramo na način da svaku točku preslikavamo u neki novi
prostor:
Φ : x → φ(x) (29)

tako da skalarni produkt izgleda:


K(xi,xj)= φ(xi) Tφ(xj) (30)

Jezgrena funkcija je funkcija koja korespondira skalarnom produktu u nekom


"ekspandiranom" prostoru novih varijabli. Kada se hiperravnina preslika natrag
u početni prostor dobiva se nelinearno razdvajanje I taj se postupak naziva
jezgrenim trikom [19].
Na taj način jezgre omogućavaju pretvaranje nerazdvojivih problema u
razdvojive gdje se vrši preslikavanje u neke "reprezentacijski" bolje
višedimenzijske prostore.

Primjeri uobičajeni jezgre su:

Linearni (Slika 11): K(xi, xj) = xiTxj (31)

Polinomni (Slika 12): K(xi, xj) = (1 + xiTxj)d (32)

2
Gaussov (Slika 13): K(xi, xj) = e(−γ‖𝐱−𝐱′‖) (33)

12
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

−‖xi −xj ‖
RBF1 (Slika 14): K(xi, xj) = e 2σ2 (34)

Sigmoidalni: K(xi, xj) = tanh( xiT xj + r) (35)

Primjeri navedenih jezgri prikazani su na slikama:


Kod linearne jezgre (Slika 11) faktor C je u izrazu Φ(w) =1 ⁄ 2 C Σξi [10].

Slika 11: Linearna jezgra[10].

Kao što je vidljivo (Slika 12) linearna jezgra samo je specifični slučaj polinomne
jezgre, tj. on je polinomna jezgra prvog stupnja [10].

Slika 12: Polinomna jezgra, (C=const) [10].

1 (engl. Radial Basis Function)

13
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

Slika 13: Gaussova jezgra, (C=const) [10].

Odabirom parameara RBF jezgre i faktora C dobivaju se različiti rezultati vidljivi


na (Slika 14).

Slika 14: RBF jezgra [18].

14
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

Kad se govori o jezgrenim funkcijama, da bi se učio i primjenio SVM model,


potreban je samo skalarni produkt, tj. nije potrebno eksplicitno znati novi
prostor, osim kako se izračunava njegov skalarni produkt. Također, postoji tzv.
Mercerov teorem koji definira uvjete koje funkcija treba zadovoljiti da bi
predstavljala skalarni produkt u nekom vektorskom prostoru [19]. Svaka
funkcija koja zadovolji te uvjete može biti uspješno korištena kao jezgrena
funkcija. Drugim riječima Mercerov uvjet govori da li je ili nije, neka potencijalna
jezgra skalarni produkt u nekom prostoru, međutim uvjet na govori kako
konstruirati Φ [5].

2.4 Višeklasni SVM

SVM metoda je zamišljena za binarne klasifikacijske probleme i većina


algoritama je upravo binarnog pristupa. Daljnjim istraživanjem, razvijene su
ostale metode kojima se mogu rješavati višeklasni problemi [19]. Uobičajen
pristup za višeklasne probleme je pristup kojim se reduciraju problemi na više
klasifikacijskih problema. Tako npr. za K-klasni problem pristup može biti:

 Jedan-protiv-svih (engl. one against all) => (Kn - binarnih klasifikatora


bit će prisutno u rješavanju n-klasnog problema)
 Svaki-protiv-svakog => (K * (K-1) / 2 – binarnih klasifikatora)
 ECOC – (engl. Error Correcting Output Codes)

3 Primjena SVM metode

Budući da SVM metoda slovi za jednu od najuspješnijih ili bar


najupotrebljavanijih klasifikacijskih tehnika, upotrebljava se u različitim
područjima. Neka od njih su: bioinformatika, klasifikacija dokumenata i obrada
teksta, poslovna primjena, inženjerstvo u raznim područjima poput
elektrotehnike, mehanike, strojarstva, građevine i sl.

3.1 Primjena u bioinformatici

U bioinformatici SVM metoda se koristi za predviđanje “ponašanja” novih gena.


Svaki gen, odnosno protein, su predstavljeni vektorom dužine n, gdje svaka
dimenzija predstavlja vrijednost nekog eksperimenta ili varijablu koja definira
aktivnost gena. Vrše se različita predviđanja, npr. klasifikacijom:

 po osnovi lokalizacije gena/proteina,


 po osnovi super-familije kojoj bi gen/protein mogao pripadati
 otkrivanje homologije (odnos među strukturama bioloških organizama)
 preslikavanje gena/proteina na skup funkcija, itd.

15
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

3.2 Primjena kod klasifikacije dokumenata

Dvakom dokumentu se dodjeljuje jedna ili više klasa u ovisnosti od primjene ili
domene gdje se upotrebljava. Primjeri su različiti: npr:

 kategorizacija novinskih članaka velikih novinskih kuća (npr. Reuters),


 binarna klasifikacija validnih elektronskih poruka i spam-a,
 klasifikacija SMS i e-poruka i po temama (kategorizacija), itd.

3.3 Ostale poslovne primjene

SVM metoda ima brojne primjene u poslovanju i znanosti općenito, npr:

 procjenjivanje kreditne sposobnosti,


 profiliranje kupaca ili korisnika usluga,
 predviđanje kretanja na tržištima vrijednosnica [7],
 razna predviđanja u financijskom sektoru i trgovini,
 predviđanja progiba u građevinarstvu [19],
 analiza teksta, rudarenje i indeksiranje,
 analize izbornih rezultata u politici,
 prepoznavanje znakova u prometu [21],
 prepoznavanje lica i sl.

SVM metoda naročito je upotrebljva za numeričke podatke, njihovu klasifikaciju i


analizu [20].

4 Primjeri klasifikacije metodom potpornih vektora

Postoje brojni samostalni programski paketi i pomagala koja imaju SVM. N eka
od tih okruženja su SVM Torch, SVMLight, LibSVM, RapidMiner, WEKA,
MATLAB, itd. U sljedećim potpoglavljima, prikazana su dva primjera u kojima su
korištena pomagala: WEKA i QP solver.

4.1 Primjer s linearno razdvajajućim problemom

Prikazan je primjer SVM-a primjenjen na skupu jednostavnih podataka kako bi


se dobio uvid u koncept SVM metode. Proizvoljno su definirane dvije skupine, tj.
klase podataka, na način da je među njima vrlo lako povući crtu, odnosno plohu
razdvajanja, što ih čini linearno razdvojivim klasama. Klase su definirane kao
dvije vrste točaka unutar dvodimenzijskog koordinatnog sustava, te su kao takve
korištene za klasifikaciju SVM metodom (Slika 15).

16
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

Slika 15: Prikaz u koordinatnom sustavu podataka primjera.

Učeni SVM ima funkciju vrednovanja ili bodovanja (engl. scoring function) koja
boduje svaki novi ulaz. Budući da je SVM binarni (dvoklasni) klasifikator. Ako
funkcija vrednovanja postiže negativnu vrijednost, onda je ulazni podatak
klasificiran tako da pripada klasi y = -1. Ako funkcija vrednovanja daje pozitivan
rezultat, ulaz se klasificira kao klasa y = 1. Funkcija vrednovanja u ovom
primjeru korištena je za izračunavanje ulaznog vektora x i ona je:

∑ αi y (i) K(x (i) , x) + b (36)


i=1

Ta se funkcija primjenjuje nad svim točkama skup primjera za učenje (engl.


training set) od i = 1 do m. U izrazu (36) varijable x(i) i y(i) ne predstavljaju
potencije, već predstavljaju i-ti učeći uzorak:

 x(i) je ulazni vektor koji može biti bilo koje dimenzije,


 y(i) je oznaka klase koja može imati jednu od dvije vrijednosti 1 i -1,
 α je koeficijent koji je povezan s i-tim primjerom, tj. učećim uzorkom,
 x je ulazni vektor kojeg nastojimo klasificirati,
 K je jezgrena funkcija, kojih ima različitih, a koja djeluje na dva vektora i
kao rezultat daje skalar,
 b je vrijednost skalara.

Bez obzira koliko ulaznih točaka skup učenja ima kao ulaz potrebno je primjeniti
ovu operaciju na sve podatke u skupu primjera za učenje. Na kraju, koeficijent α
bit će jednak nuli za sve klasificirane točke osim za potporne vektore.
Za SVM klasifikaciju nad ovim skupom primjera za učenje korišteno je besplatno
WEKA toolset pomagalo [11].

17
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

U WEKA explorer-u na kartici Preprocess otvori se datoteka s podacima skupa


primjera za učenje zapisanim u .csv formatu (Slika 16).

Slika 16: Učitavanje podataka u WEKA explorer-u, u Preprocess kartici.

Odabirom druge kartice Classify klikne se na Choose gumb da bi se selektirao


SMO klasifikator do kojeg vodi putanja: weka -> classifiers -> functions -> SMO.
SMO je optimizacijski algoritam koji je korišten za učenje nad SVM podacima
(Slika 17).

18
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

Slika 17: Classify kartica za odabir SMO klasifikatora u WEKA pomagalu.

Nakon toga klikne se na komandnu liniju klasifikatora kako bi se dobio prozor


dijaloga za editiranje argumenata komandne linije. U dijalogu je potrebno
promijeniti "filter type" na vrijednost "No normalization/standardization"
čime će se poslići lakša interpretacija rezultata. Također klikom na komandnu
liniju "kernel" svojstva, pojavit će se prozor dijaloga koji omogućuje specifikaciju
jezgrine funkcije. Potrebno je postaviti svojstvo "exponent" na vrijednost 2,
(Slika 18).

19
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

Slika 18: Podešavanje tipa filtera i jezgrine funkcije.

Iako je ovaj skup podataka linearno razdvojiv, ustvari eksponent 2 na jezgri nije
bio potreban. Međutim eksponent 2 je potrebno izabrati da bi se WEKA
pomagalo natjeralo koristiti potporne vektore, jer bi u protivnom dalo
jednostavnu linearnu jednadžbu kao rezultat funkcije vrednovanja, a što nebi
pomoglo u razumjevanju ovog SVM primjera.
Nakon pokretanja algoritma učenja opcijom Start, na sredini će pomagalo
prikazati rezultat kao sljedeći izraz:

0.0005 * <7 2 > * X]


- 0.0006 * <9 5 > * X]
+ 0.0001 * <4 7 > * X]
+ 2.7035

To predstavlja funkciju vrednovanja s vrijednostima. Brojevi navedeni u


zagradama〈7 2〉,〈9 5〉 i〈4 7〉 predstavljaju potporne vektore, tj. točke
obilježene s "x" na slici rezultata klasifikacije (Slika 19).

20
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

Slika 19: Rezultati klasifikacije i grafički prikaz razdvajanja klasa.

Koeficijent α nalazi se u tablici uz vrijednosti svake točke pripadajućeg


potpornog vektora. Predznak koeficijenta dobiva se iz oznake klase, npr. točka
〈9 5〉pripada klasi y = -1, a točka〈7 2〉pripada klasi y = 1. U izvornoj funkciji
vrednovanja naveden je izraz αi y(i), pa će vrijednosti koeficijenta uvijek biti veće
ili jednake 0, tako da predznak koeficijenta dolazi iz izraza oznake klase y(i).
Krajnja vrijednost iznosa 2.7035 je vrijednost skalara b.
Kada se dobiveni podaci uvrste u funkciju vrednovanja (36), dobiva se:

(1)(0.0005)(7x1 + 2x2)2 + (-1)(0.0006)(9x1 + 5x2)2 + (1)(0.0001)(4x1 +


(37)
7x2)2 + 2.7035

gdje su x1 i x2 komponente ulaznog vektora za kojeg želimo izračunati


vrednovanje. Iako se sumiranje radi nad svim točkama iz skupa učenja u izrazu
su uključeni samo potporni vektori, jer je koeficijent α jednak 0 za sve ostale
točke podataka, stoga ti izrazi nestaju u konačnom obliku [13].
Ako se konačni izraz unese u Google pretraživač u obliku:

plot z = 0.0005(7x + 2y)^2-0.0006(9x+5y)^2+0.0001(4x+7y)^2+2.7035 (38)

21
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

dobiva se slika grafa (Slika 20).

Slika 20: Graf funkcije dobiven preko Google plot funkcionalnosti.

Funkcija vrednovanja tvori plohu u tri dimenzije. Tamo gdje presjeca os z = 0


ploha tvori liniju koja je ustvari linija razdvajanja (granica odluke). S lijeve strane
od linije razdvajanja ulazi imaju vrijednost veću od 0 te su dodijeljeni klasi y = 1.
Ulazi postavljeni desno od linije razdvajanja imaju vrijednost manju od 0 te su
dodijeljeni klasi y = -1.

4.2 Primjer linearno nerazdvajajućeg jednodimenzijskog problema

Drugi jednostavni primjer koristi 5 različitih jednodimenzijskih točaka koje su


definirane kao: x1 = 1, x2 = 2, x3 = 4, x4 = 5, x5 = 6, gdje točke 1, 2 i 6 pripadaju klasi
1, a točke 4 i 5 pripadaju klasi 2. Iz toga slijedi da y1 =1, y2 =1, y3 = -1, y4 = -1, y5 = 1.
Korištena jezgra je drugostupanjska polinomna jezgra oblika [12]:

K(x , y) = (xy + 1)2 (39)

Parametar C je podešen na 100, te se prvo pronalazi αi (gdje je i = 1, …, 5) preko


izraza:

22
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

5 5 5
1
𝑚𝑎𝑥. ∑ 𝛼𝑖 − ∑ ∑ 𝛼𝑖 𝛼𝑗 𝑦𝑖 𝑦𝑗 (𝑥𝑖 𝑥𝑗 + 1)2 (40)
2
𝑖=0 𝑖=1 𝑗=0

gdje vrijedi:
5

100 ≥ 𝛼𝑖 𝑦𝑖 ≥ 0, ∑ 𝛼𝑖 𝑦𝑖 = 0
𝑖=1
(41)

Za rješavanje tog kvadratnog problema korišteno je pomagalo QP solver koje je


dio Computational Geometry Algorithms Library-a [14] da bi se dobila
diskriminacijska funkcija (Slika 21):

ƒ(z) = 2.5(1)(2z + 1)2 + 7.333(-1)(5z + 1)2 + 4.833(1)(6z + 1)2 + b


= 0.6667z2 - 5.333z + b (42)

Parametar b se dobiva rješavanjem ƒ(2)=1, ƒ(5)=-1 ili ƒ(6)=1, kao x2 i x5 koji leže na
liniji Φ(w)T Φ(x) + b = 1, te x4 koji leži na liniji Φ(w)T Φ(x) + b = -1. U sva tri slučaja
parametar b = 9, što uvršteno u izraz (42) daje funkciju:

ƒ(z) = 0.6667z2 - 5.333z + 9 (43)

Slika 21: Funkcija razdvajanja između klasa primjera.

Graf diskriminacijske funkcije prikazan je na slici (Slika 21).

23
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

5 Zaključak

SVM osnovni algoritam služi za binarnu klasifikaciju, pri čemu se klasifikator


automatski generira. Model je formula, a ne skup pravila, tj. klasa se izračunava.
Metoda definira plohu razdvajanja među klasama izvodi se putem potpornih
vektora, tj. kritičnih točaka ili primjera koji su najbliži plohi razdvajanja.
Kod linearnog SVM-a klasifikator je posebno određena ploha razdvajanja, a
najvažnije točke iz skupa za učenje su one koje definiraju tu plohu razdvajanja.
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. Moguće je kod nekih linearno
nerazdvojivih problema uvesti “labave” tzv. slack varijable kojima se dopušta
“meka” margina nad zašumljenim primjerima. Međutim, za linearno
nerazdvojive klase se uvodi pojam jezgre kao moćnog pomagala koji se koristi za
preslikavanje originalnog prostora varijabli u višedimenzijske prostore, kao i za
definiranje i redefiniranje metrike sličnosti.
Karakteristike SVM-a čine metodu kao jedna od najboljih metoda strojnog
učenja, budući da daje vrlo dobre rezultate, a što ju čini vrlo popularnom. Vrlo je
važno ispravno razumijevanje i iskustvo za efektivno korištenje ove metode, što
znači: odabir jezgre, parametara, kombiniranje selekcije varijabli i vektora u
praktičnim primjerima.

6 References

[1] B. Schoelkopf, A.J. Smola: “Learning with Kernels: Support Vector Machines”,
Regularization, Optimization, and Beyond, (2002.), London: MIT Press.

[2] B.E. Boser, I.M. Guyton, V.N. Vapnik: "A Training Algorithm for Optimal Margin
Classifiers", Proceedings Fifth ACM Workshop on Computational Learning
Theory, COLT 1992. Pittsburgh, PA, SAD, 27.-29.07.1992. Pittsburgh: str. 144–
152.

[3] C. Cortes, V.N. Vapnik: "Support-Vector Networks", (1995.) MachineLearning. 20.


str. 273-297.

[4] A.J. Smola, B. Schoelkopf: “A tutorial on support vector regression. Statistics and
computing.” 14(3), (2004.), str. 199-222.

[5] C.J.C. Burges: "Tutorial on Support Vector Machines for Pattern Recognition. Data
Mining and Knowledge Discovery 2", Kluwer Academic Publishers, Boston
(1998.), str.121-167.

24
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

[6] V.N. Vapnik: "An overview of statistical learning theory", Neural Networks, IEEE
Transactions on. 10(5), 1999, str. 988-999.

[7] Ingrid Hrga: "Primjena stroja s potpornim vektorima za predviđanje kretanje na


tržištima vriednosnica", diplomski rad, Sveučilište Jurja Dobrile u Puli, Fakultet
ekonomije i turizma "Dr. Mijo Mirković", 2015.

[8] http://en.wikipedia.org/wiki/Support_vector_machine (16.01.2017.).

[9] P.K. Bennet, C. Campbell: "Support Vector Machines: Hype or Hallelujah?",


SIGKDD Explorations, vol.2, 2000.

[10] A. Ben-Hur, J Weston: "A User's Guide to Support Vector Machines", Department
of Computer Science Colorado State University, NEC Labs America, Princeton, NJ
08540 USA.

[11] http://www.cs.waikato.ac.nz/ml/weka/ (16.01.2017.).

[12] Martin Law: "A Simple Introduction to Support Vector Machines", Lecture for
CSE 802, Department of Computer Science and Engineering Michigan State
University.

[13] http://mccormickml.com/2013/04/16/trivial-svm-example/ (16.01.2017.).

[14] http://doc.cgal.org/latest/Manual/packages.html#PkgQPSolverSummary
(16.01.2017.).

[15] Y.S. Abu-Mostafa, M. Magdon-Ismail, H.T. Lin: "Learning from data." (2012.),
AMLbook.com + dodatna poglavlja, http://www.amlbook.com/support.html
(25.04.2015.).

[16] T. Joachims, Learning to Classify Text using Support Vector Machines, Kluwer
Academic Publishers / Springer International Series in Engineering and
Computer Science, Series Volume: 668, 2002, ISBN 978-1-4615-0907-3.

[17] www.kernel-machines.org (16.01.2017.).

[18] T. Šmuc, “Strojno učenje: Metoda potpornih vektora (SVM – Support Vector
Machines)”, prezentacija, Prirodoslovno-matematički fakultet, Zagreb,
file:///C:/Users/etktpg/AppData/Local/Temp/SU_2013_SVM.pdf
(16.01.2017.).

25
GORDAN TOPIĆ  STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA

[19] D. Čizmar, V. Rajčić, A. Vlašić: "Predviđanje progiba ovješenog mosta",


GRAĐEVINAR 61 (2009) 7, UDK 624.5.001.8:624.043.

[20] N. Mitić: “Klasifikacija upotrebom SVM”, predmet R374: Istraživanje podataka,


proljetni semestar 2015/2016, Matematički fakultet, Univerzitet u Beogradu.

[21] A. Sabol: "Prepoznavanje objekata klasifikacijom histograma orijentacije


gradijenta strojem s potpornim vektorima", diplomski rad br. 1557, Fakultet
elektrotehnike i računarstva, Sveučilište u Zagrebu, lipanj 2010.

26

You might also like