You are on page 1of 59

SVM Support Vector Machines

Metoda wektorw nonych


JERZY STEFANOWSKI
Institute of Computing Sciences,
Pozna University of Technology
UM slajdy dodatkowe do wykadu
Plan wykadu
1. Liniowa separowalno w statystycznej
klasyfikacji
2. Podstawy metody SVM
3. Uoglnienie SVM (nie w peni separowalne
liniowo)
4. Funkcje jdrowe (kernal functions)
5. SVM dla danych separowalnych nieliniowo
6. Podsumowanie
7. Gdzie szuka wicej
Formalizacja problemu klasyfikacji
W przestrzeni danych (ang. measurement space) znajduj
si wektory danych x stanowice prbk uczc D, nalece
do dwch klas
Szukamy klasyfikatora pozwalajcego na podzia caej
przestrzeni na dwa rozczne obszary odpowiadajcej
klasom {1,-1} oraz pozwalajcego jak najlepiej klasyfikowa
nowe obiekty x do klas
Podejcie opiera si na znalezieniu tzw. granicy decyzyjnej
midzy klasami g(x)
( ) { }
N
i
i
p
i i i
c R x c D
1
} 1 , 1 { , | ,
=
= x
Separowalno liniowa
Dwie klasy s liniowo separowalne, jeli istnieje
hiperpaszczyzna H postaci g(x)
przyjmujca wartoci
Jak poszukiwa takiej hiperpaszczyzny granicznej?
b g
T
+ = x w x) (

<
>
1 0 ) (
1 0 ) (
i i
i i
g
g
x x
x x
Liniowa funkcja separujca
Funkcja liniowa separujca
Wyznacza podzia
przestrzeni na obszary
odpowiadajce dwm
klasom decyzyjnym.
Oryginalna propozycja
Fisher, ale take inne
metody (perceptron, itp..)
Uoglnienia dla wielu klas.
x
y
Support Vector Machines
Znajd liniow hiperpaszczyzn (decision boundary) oddzielajce
obszary przykadw z dwch rnych klas
Support Vector Machines
Jedno z moliwych rozwiza
Support Vector Machines
Inne moliwe rozwizanie
Support Vector Machines
Zbir wielu moliwych rozwiza
Support Vector Machines
Ktr z hiperpaszczyzn naley wybra? B1 or B2?
Czy mona to formalnie zdefiniowa?
Uwagi o marginesie
Hiperpaszczyzny b
i1
i b
i2
s otrzymane przez
rwnolege przesuwanie
hiperpaszczyzny
granicznej a do
pierwszych punktw z
obu klas.
Odlego midzy nimi
margines klasyfikatora
liniowego
Jaki margines wybiera?
Wsze czy szersze marginesy?
Support Vectors
Small Margin
Large Margin
Szerszy margines lepsze wasnoci generalizacji, mniejsza podatno na
ew. przeuczenie (overfitting)
Wski margines maa zmiana granicy, radykalne zmiany klasyfikacji
Teoria Structural risk minimization
Oszacowanie grnej granicy bdu ze wzgldu na bd uczcy
R
e
, liczb przykadw N i tzw. model complexity h z
prawdopodobiestwem 1- generalization error nie
przekroczy:
Prace teoretyczne h complexity dla modelu liniowego:
Models with small margins have higher capacity -complexity
because they are more flexivle and can fit many training sets
Take The hypothesis space with minimal VC-dimension
according to SRM
Reasumujc modele o wiekszej complexity maj gorsze
oszacowanie bdu
Dlatego wybieraj wikszy margines!
)
) log(
, (
N N
h
R R
e

+
Support Vector Machines
Znajd hiperpaszyczn, ktra maksymalizuje tzw. margines => B1
jest lepsze ni B2
Liniowe SVM hiperpaszczyzna graniczna
Vapnik poszukuj maximal margin classifier
gdzie w i b s parametrami modelu
Parametry granicy wyznaczaj tak, aby maksymalne
marginesy b
i1
i b
i2
byy miejscem geometrycznym punktw
x speniajcych warunki
Margines odlego midzy paszczyznami b
i1
i b
i2
0 = + b x w
1
1
2
1
= +
= +
b x w
b x w
i
i
b
b

< +
> +
=
0 1
0 1
b x w
b x w
y
Poszukiwanie parametrw hiperpaszczyzny
0 = + b x w
r r
1 = + b x w
r r
1 + = + b x w
r r

+
+
=
1 b x w if 1
1 b x w if 1
) (
r r
r r
r
x f
Ilustracje i sposb przeksztace
|| ||
2
w
margin =
|| ||
2
w
margin =
p
w
w
+
+
...
|| ||
2
1
2
w
Cel: Maksymalizuj
margines!
w
2
maximize
2
w
minimize

2
2
w
minimize

Linear Support Vector Machines
Sformuowanie mat. problemu:
Przy warunkach ograniczajcych
Jest to problem optymalizacji kwadratowej z liniowymi
ogr. uoglnione zadanie optymalizacji
rozwizywany metod mnonikw Lagrangea (tak
aby np. nie doj do w 0)
2
|| ||
2
min
w
w
=
N i b x w y
i i
, , 2 , 1 1 ) ( K = +
LSVM
Minimalizuj funkcj Lagrangea
parametry 0 mnoniki Lagrangea
Powinno si rniczkowa L po w i b nadal trudnoci w
rozwizaniu
Przy przeksztaceniach wykorzystuje si ograniczenia Karush-
Kuhn-Tucker na mnoniki:
W konsekwencji
i
s niezerowe wycznie dla wektorw
nonych x, pozostae s zerowe
Rozwizanie parametrw w i b zaley wycznie od wektorw
nonych.

=
+ =
N
i
i i i
b y b w L
1
2
) 1 ) ( (
2
1
) , , ( wx w
0 ] 1 ) ( [
0
= +

b x w y
i i i
i


LSVM sformuowanie dualne
Nadal zbyt wiele parametrw w,b, do oszacowania
Przechodzi si na posta dualn zadania optymalizacji
Maksymalizuj L()
Przy ograniczeniach
Rozwizanie (>0 dla iSV) ; b odpowiednio uredniane
Hiperpaszczyzna decyzyjna
( )
j i j i
N
i
N
j
j i
N
i
i y y x x

= = =

1 1 1
2
1

i i , 0 0
1
=

=
N
i
i i y

=
=
N
i
i i i
y
1
x w

=
= +
N
i
i i i
b y
1
0 x x
Rozwizanie LSVM
Klasyfikacja funkcja decyzyjna
O ostatecznej postaci hiperpaszczyzny decyduj wycznie
wektory none (
i
>0)
Im wiksza warto
i
tym wikszy wpyw wektora na granic
decyzyjn
Klasyfikacja zaley od iloczynu skalarnego nowego x z wektorami
nonymi x
i
ze zbioru uczcego
Pewne zaoenie metody stara si zbudowa klasyfikator
liniowy uywajc moliwie minimaln liczb wektorw z danych
treningowych (wektory none)
Funkcjonalnie klasyfikator podobny do niektrych sieci
neuronowej, metod jdrowych Parzena

=
+ =
N
i
i i i
b y sign x f
1
) ( ) ( x x
Przykad
Obliczmy wagi

= + = =
i
i i i
x y w 64 . 6 4871 . 0 ) 1 ( 5621 . 65 3858 . 0 1 5621 . 65
1 1

= + = =
i
i i i
x y w 32 . 9 611 . 0 ) 1 ( 5621 . 65 4687 . 0 1 5621 . 65
2 2

930 . 7 ) 4687 . 0 )( 32 . 9 ( 3858 . 0 ) 64 . 6 ( 1
'
= = b
928 . 7 ) 611 . 0 )( 32 . 9 ( 4871 . 0 ) 64 . 6 ( 1
' '
= = b
93 . 7 ) ( 5 . 0
' ' '
= + = b b b
Support Vector Machines
Co robi z LSVM gdy dane nie s w peni liniowo
separowalne?
Jak uy SVM dla dane liniowo nieseparowalnych
Zmienne dopeniajce
Zmienne osabiajce - interpretacja
Zmienne
i
0 dobiera si dla kadego przykadu
uczcego. Jej warto zmniejsza margines separacji.
(rodzaj zwisu punktu poza hiperpaszczyzn non)
Jeeli 0
i
1, to punkt danych (x
i
,d
i
) ley wewntrz
strefy separacji, ale po waciwej stronie
Jeeli
i
>1, punkt po niewaciwej stronie
hiperpaszczyzny i wystpi bd klasyfikacji
Modyfikacja wymaga dla wektorw nonych

+ = +
= +
1
1
2
1
b x w
b x w
i
i
b
b
Linear SVM niepena separowalno
w
For all
For
...for some positive
1 2 2 1 1 + + b x w x w
+ + 1 2 2 1 1 b x w x w
Task: Maximize the margin and minimise training errors
minimize

+
i
i
C ) (
2 2
2 2

w w
S E M O C E B
minimize
x
2
x
1
SVM z dodatkowymi zmiennymi
Jak przedefiniowa sformuowanie? Z dodatkowymi
zmiennymi dopeniajcym oraz kosztem bdu na danych
uczcych
Mimimalizuj wyraenie:
z ograniczeniami:

Drugi czynnik odpowiada za ew. bdy testowania (grne


oszacowanie tych bdw
Parametr C ocena straty zwizanej z kadym bdnie
klasyfikowanym punktem dla ktre >0
Przetarg szeroki margines to duo bdw i odwrotnie

+ +
+
=
i i
i i
1 b x w if 1
- 1 b x w if 1
) (

r r
r r
r
i
x f
|
.
|

\
|
+ =

=
N
i
k
i
C
w
w L
1
2
2
|| ||
) (
r
Rozwizanie problemu
Ponownie dojdziemy do
dualnego problemu:
Max: W() =
ogranicz:
(1)
(2)
|
.
|

\
|
= = =


j i j i
m
i
m
j
j i
m
i
i y y x x
1 1 1
2
1

i C i , 0

=
=
m
i
i i y
1
0
w
Programowanie kwadratowe (QP) :
trudnoci rozwiazania
przeformuuj problem
Globalne max
i
moe by
odnalezione
x
2
x
1
Nonlinear Support Vector Machines
Co zrobi gdy prby uczce powinny by
nieliniowo separowalne?
Nonlinear Support Vector Machines
Transformacja do wysoce wielowymiarowej przestrzeni
SVM Transformacje
Przykad transformacji 1D2D
Projekcja danych oryginalnych xR
p
w now m>p wielowymiarow
przestrze, w ktrej z duym prawdopodobiestwem bd separowalne
liniowo (Twierdzenia matem. np. Covera)
Przykad przeksztacenia wielomianowe wyszego stopnia gdzie do
zmiennych x docza si ich p-te potgi oraz iloczyny mieszane.
-1
0 +1
+
+ -
(1,0)
(0,0)
(0,1)
+
+ -
Przykad transformacji wielomianowej
Przykad transformacji wielomianowej
Oryginalna funkcja celu
Transformacja
Poszukujemy parametrw
Rozwizanie

> +
=
otherwise
x x
x x y
1
2 . 0 ) 5 . 0 ( ) 5 . 0 ( 1
) , (
2
2
2
1
2 1
) 1 , 2 , 2 , , ( ) , ( :
2 1
2
2
2
1 2 1
x x x x x x
0 2 2
0 2 1 1 2
2
2 3
2
1 4
= + + + + w x w x w x w x w
46 . 0
2
2
2 1
2
1
= + x x x x
Kilka definicji
Przykady danych do
klasyfikacji
Model nieliniowy SVM
Funkcja decyzyjna po przeksztaceniu
Zasady klasyfikacji
Sformuowanie problemu nieliniowego SVM
Podobnie jak poprzednio optymalizujemy funkcje z
mnonikami Lagrangea
Funkcja klasyfikujca
b g + = ) ( ) ( x w x
0 ) ( 1
0 ) ( 1
<
> +
x
x
g
g
2
|| ||
2
min
w
w
=
N i b x w y
i i
, , 2 , 1 1 ) ) ( ( K = +
( )
) ( )
1 1 1
2
1
x x ( j i j i
N
i
N
j
j i
N
i
i y y

= = =

=
+ =
N
i
i i i
b y sign x f
1
) ) ( ) ( ( ) ( x x
Curse of dimensionality and
Oblicz (x
i
)(x
j
)
Problem: Trudne obliczeniowo do wykonania!
Wiele parametrw do oszacowania - wielomian stopnia
p dla N atrybutw w oryginalnej przestrzeni prowadzi do
atrybutw w nowej rozszerzonej F feature space
Skorzystaj z dot product (iloczynu skalarnego) na
wektorach wejciowych jako miary podobiestwa
wektorw
Iloczyn moe by odniesiony do
podobiestwa wektorw w transformowanej
rozszerzonej przestrzeni
Idea kerneli (funkcji jdrowych)
Proste funkcje K dwch argumentw wektorowych
pozwalaj obliczy warto iloczynu skalarnego w
rozszerzonej przestrzeni
) (
P
N O
) ( ) (
j i
x x
j i
x x
Co to s funkcje jdrowe (Kernel function)
Wywodz si z bada liniowych przestrzeni
wektorowych, przestrzeni Hilberta, Banacha
Intuicyjnie s to stosunkowo proste symetryczne K(x
i
,x
j
)
zalene od odlegoci midzy x
i
i x
j
ktre speniaj
pewne wymagania matem.

> = = 0 ) ( , 1 ) ( , 0 ) (
2
du u uK du u K u K
K

Wniosek z twierdzenia Mercera


Wasno podstaw tzw. triku kernelowego (kernel trick ) :
... map the data into some other scalar product space (feature space)
F by means of a nonlinear mapping like the above, and perform the
linear algorithm (like decision boundary for 2 classes) in the feature
space F. In many cases the mapping cannot be explicitly computed,
due to the high-dimensionality of F. But this is not an obstacle, when
the decision function requires the evaluation of scalar products (x)
(y), and not the pattern (x) in explicit form.[Camastra]
every dot product is replaced by a non-linear kernel function.
Typowo stosowane jdra
Dopuszczalne typy jder zwizane z SVM
sigmoidalne
Wielomianowe
Normalne
(Gaussowskie)
}
2
) (
exp{ ) , (
2

j i
j i
K
x x
x x

=
p
j i j i
d K ) ( ) , ( + = x x x x
) ( ) , ( =
j i j i
tgh K x x x x
Przykad prostego przeksztacenia wielomianowego
SVM: the kernel trick
The kernel trick:
( ) ( )
) ( ) (
, 2 , , 2 , ) ( ) , (
2
2 2 1
2
1
2
2 2 1
2
1
2
j i
j j j j i i i i j i j i
x x x x x x x x K
x x
x x x x
=
= =
( )
j i j i
N
i
N
j
j i
N
i
i K y y x x
= = =


1 1 1
2
1

Original optimization
function:
Nie musimy zna funkcji , wystarczy zna jdro (kernel)
i mona pracowa w nowej przestrzeni.
Funkcja decyzyjna
Wykorzystanie funkcji jdrowych
Model klasyfikacji binarnej rozszerza si na
zagadnienie wieloklasowe K > 2
Specyficzne konstrukcje zoone:
one-versus-all
Pairwise classification (Hastie,)
( )
( ) b K y sign
b y sign f
N
i
i i i
N
i
i i i
+
+ =

=
=
1
1
) , (
) ( ) ( ) (
x x
x x x

Example 2: Cleveland heart data


Left: 2D MDS features, linear SVM, C=1, acc. 81.9%
Right: support vectors removed, margin is clear.
Gaussian kernel, C=10000, 10xCV, 100% train, 79.3 7.8 test
Gaussian kernel, C=1, 10xCV, 93.8% train, 82.6 8.0 test
Auto C=32 and Gaussian dispersion 0.004: about 84.4 5.1 on test
Przykadowe zastosowania
Mona si zapozna z list:
http://www.clopinet.com/isabelle/Projects/SVM/applist.html
A few interesting applications, with highly competitive results:
On-line Handwriting Recognition, zip codes
3D object recognition
Stock forecasting
Intrusion Detection Systems (IDSs)
Image classification
Detecting Steganography in digital images
Medical applications: diagnostics, survival rates ...
Technical: Combustion Engine Knock Detection
Elementary Particle Identification in High Energy Physics
Bioinformatics: protein properties, genomics, microarrays
Information retrieval, text categorization
Troch historii
Wczesne lata szedziesite zostaa
opracowana metoda support vectors w celu
konstruowania hiperpaszczyzn do
rozpoznawania obrazu ( Vapnik i Lerner 1963,
Vapnik i Czervonenkis 1964) liniowa SVM.
Pocztek lat 1990-sitych: uoglnienie metody
pozwalajce na konstruowanie nieliniowych
funkcji separujcych (Boser 1992, Cortes i
Vapnik 1995).
1995: dalsze rozszerzenie pozwalajce otrzyma
estymacj funkcji cigej na wyjciu regresja
(Vapnik 1995).
Kilka zagadn. efektywnego stosowania SVM
Normalizuj sygnay wejciowe
Dobrze wybierz warto C
Wybr funkcji jdrowej
Uoglnienia dla problemw
wieloklasowych
co jeszcze?
Na ile s skuteczne SVM w analizie
danych niezrwnowaonych
Par uwag podsumowujcych
Dane odwzorowane (przy pomocy funkcji jdrowych) w
now przestrze cech silna przewaga nad innymi
metodami
W nowej przestrzeni dane powinny by liniowo
separowalne
W porwnaniu do innych podej wielowymiarowo
przeksztacenia jest rozwizana przez trick kernelowy
Porednio ogranicza si niebezpieczestwo przeuczenia
Teoretycznie poszukuj minimum globalnego a nie
lokalnego (jak podejcia heurystyczne MLP)
Ograniczenia
Dobr parametrw
Skrajne podejcie black box
Jianfeng Feng, Sussex University
Mocne strony SVM
Stopie skomplikowania/pojemno jest niezalena od liczby
wymiarw.
Bardzo dobra podbudowa statystyczno-teoretyczna
Znajdowanie minimum glonalnego. Minimalizujemy funkcj
kwadratow co gwarantuje zawsze znalezienie minimum.
Algorytm jest wydajny i SVM generuje prawie optymalny
klasyfikator. Nie jest tez czuy na przetrenowanie.
Dobre uoglnianie dziki wielowymiarowej feature space.
Najwaniejsze: poprzez uycie odpowiedniej funkcji
jdra SVM bardzo dua skuteczno w praktyce
Sabe strony SVM
Powolny trening minimalizacja funkcji, szczeglnie
dokuczliwy przy duej iloci danych uytych do
treningu.
Rozwizania te s skomplikowane (normalnie >60%
wektorw uytych do nauki staje si wektorami
wspierajcymi), szczeglnie dla duych iloci danych.
Przykad (Haykin): poprawa o 1.5% ponad wynik
osignity przez MLP. Ale MLP uywa 2 ukrytych
wzw, a SVM 285 wektorw.
Trudno doda wasn wiedz (prior knowledge)
Jianfeng Feng, Sussex University
Przetarg midzy zoonoci modelu a
minimalizacj bdw
Model complexity
Min. number of
training errors,
Functions ordered in
increasing complexity
complexity +
min. training errors
Best trade-off
complexity min. training errors
Odnoniki literaturowe
T.Hastie, R.Tibshirani, J.Friedman: The Elements
of Statistical Learning. Springer poszukaj wersji
elektronicznej pdf
J.Koronacki, J.wik: Statystyczne systemy uczce
si (rozdz. 6)
M.Krzyko, W.Woyski, T.Grecki,M.Skorzybut:
Systemy uczce si.
S.Osowski: Sieci neuronowe w przetwarzaniu
informacji.
Inne materiay - internet
A.Bartkowiak: Wykady nt. Sieci Neuronowych:
w11 Kernele, siecie SVM i sieci GDA.
http://www.ii.uni.wroc.pl/~aba/
W.Duch: wyklady nt. Computational Intelligence
http://www.fizyka.umk.pl/~duch/Wyklady/NN_plan.
html
Angielska wersja Wikipedii
Thorsten Joachims: Support Vector and Kernel
Methods - SIGIR 2003 Tutorial
SVM Related Links
SVM Website
http://www.kernel-machines.org/
Representative implementations
LIBSVM: an efficient implementation of SVM, multi-class
classifications, nu-SVM, one-class SVM, including also various
interfaces with java, python, etc.
SVM-light: simpler but performance is not better than LIBSVM,
support only binary classification and only C language
SVM-torch: another recent implementation also written in C.
Inne odnoniki do literatury anglojzycznej
Statistical Learning Theory by Vapnik: extremely hard to understand,
containing many errors too.
C. J. C. Burges. A Tutorial on Support Vector Machines for Pattern
Recognition. Knowledge Discovery and Data Mining, 2(2), 1998.
Better than the Vapniks book, but still written too hard for
introduction, and the examples are so not-intuitive
The book An Introduction to Support Vector Machines by N.
Cristianini and J. Shawe-Taylor
Also written hard for introduction, but the explanation about the
mercers theorem is better than above literatures
The neural network book by Haykins
Contains one nice chapter of SVM introduction

You might also like