Professional Documents
Culture Documents
Gordan Topić - SVM Metoda Potpornih Vektora 3
Gordan Topić - SVM Metoda Potpornih Vektora 3
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
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
1
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
5 Zaključak .................................................................................................................................... 24
6 References ................................................................................................................................. 24
1 Uvod
2
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
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
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).
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
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:
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
𝐰𝐓𝐱 + b
r= (1)
‖𝐰‖
2
𝜌= (4)
‖𝒘‖
wT(xa–xb) = 2 (7)
2
ρ = ‖xa − x‖ = (8)
‖𝐰‖
6
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
2
min‖𝐰‖ = max (9)
‖𝐰‖
7
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
∂L
= g i (𝐱) = 0 (11)
∂λi
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.
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.
8
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
∂
Wolfe dual (konveksni problem): max L(𝐰, λ) uz L(𝐰, λ) = 0 (16)
λ≥0 ∂𝐰
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)
ƒ(𝐱) = ∑ λi yi 𝐱 Ti 𝐱 k + b (21)
i
9
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
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
11
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
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)
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)
Kao što je vidljivo (Slika 12) linearna jezgra samo je specifični slučaj polinomne
jezgre, tj. on je polinomna jezgra prvog stupnja [10].
13
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
14
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
15
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
Dvakom dokumentu se dodjeljuje jedna ili više klasa u ovisnosti od primjene ili
domene gdje se upotrebljava. Primjeri su različiti: npr:
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.
16
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
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:
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
18
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
19
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
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:
20
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
21
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
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)
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:
23
GORDAN TOPIĆ STATISTIČKI MODELI ZA DUBINSKU ANALIZU PODATAKA
5 Zaključak
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.
[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.
[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.
[12] Martin Law: "A Simple Introduction to Support Vector Machines", Lecture for
CSE 802, Department of Computer Science and Engineering Michigan State
University.
[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.
[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
26