Algorytmy rozpoznawania obrazów
7. Maszyny wektorów podpieraj ˛ acych SVMs
dr in˙z. Urszula Libal Politechnika Wrocławska
2015
1. Maszyny wektorów podpieraj ˛ acych - SVMs
Maszyny wektorów podpieraj ˛ acych (ang. Support Vector Mashines, SVMs) nale˙z ˛ a do grupy klasyfikatorów liniowych. Obiekt reprezentowany przez x jest klasyfikowany do jednej z dwóch klas 1 i − 1 za pomoc ˛ a liniowej funkcji dyskryminacyjna
δ (x) = w
Tx + w
0w nast˛epuj ˛ acy sposób:
Ψ
SV M(x) =
1, je˙zeli w
Tx + w
0> 0
−1, je˙zeli w
Tx + w
0< 0
. (1)
Wektor w = (w
1, w
2, . . . , w
D) oraz wyraz wolny w
0s ˛ a tak dobierane, aby jak najszerzej
liniowo separowa´c klasy, je˙zeli jest to mo˙zliwe.
2 2.5 3 3.5 4 4.5 4
4.5 5 5.5 6 6.5 7 7.5 8
Makroklasa 1 Makroklasa 2 Wektory podpierajace
Rysunek 1. Wektory podpieraj ˛ ace dla liniowego klasyfikatora SVMs.
Zródło: opracowanie własne´
— Do treningu u˙zywamy ci ˛ agu ucz ˛ acego {(x
1, c
1), (x
2, c
2), . . . , , (x
N, c
N)}, gdzie x
kto D-wymiarowy wektor cech, a c
kto jego klasa pochodzenia.
— Dane musz ˛ a zosta´c unormowane, co oznacza, ˙ze indeksy klas przyjm ˛ a warto´sci 1 i −1.
— Klasyfikator SVM dany wzorem (1) klasyfikuje zgodnie ze znakiem funkcji dyskryminacyjnej δ (x) = w
Tx + w
0.
— Wyznaczenie na podstawie ci ˛ agu ucz ˛ acego parametrów w
i, i = 0, 1, 2, . . . , D
stanowi zadanie optymalizacyjne.
2. Maksymalizacja marginesu
Rysunek 2. Hiperpłaszczyzna rozdzielaj ˛ aca o maksymalnym marginesie.
Zródło: [5]´
Maksymalizacja marginesu polega na maksymalizacji odległo´sci mi˛edzy wektorami podpieraj ˛ acymi a hiperpłaszczyzn ˛ a rozdzielaj ˛ ac ˛ a. Odległo´s´c mi˛edzy hiperpłaszczyzn ˛ a δ (x) = w
Tx + w
0= 0 a pewnym wektorem x
nz ci ˛ agu ucz ˛ acego (n ∈ {1, 2 . . . , N}) wynosi
|δ (x
n)|
||w|| . (2)
Maksymalizacj˛e wyra˙zenia (2) mo˙zna sprowadzi´c do minimalizacji ||w||, lub równowa˙znie minimalizacji
1
2 ||w||
2. (3)
Bez zmniejszenia ogólno´sci rozwa˙za´n zakładamy, ˙ze marginesy b˛ed ˛ a postaci
w
Tx + w
0= 1 i w
Tx + w
0= −1. (4)
Wszystkie punkty z ci ˛ agu ucz ˛ acego musz ˛ a si˛e znale´z´c poza pasem mi˛edzy marginesami, ale tak aby wszystkie punkty z klasy 1 były po odpowiedniej stronie marginesu
w
Tx + w
0= 1, a wszystkie punkty z klasy −1 po odpowiedniej stronie marginesu w
Tx + w
0= −1 (patrz rys. 2). Sprowadzamy ten warunek do nierówno´sci
c
nw
Tx
n+ w
0≥ 1 (5)
dla ka˙zdego wektora x
nz ci ˛ agu ucz ˛ acego (n ∈ {1, 2 . . . , N}), gdzie c
nto jego klasa
pochodzenia.
Problem optymalizacyjny poszukiwania maksymalnego marginesu sprowadza si˛e do
min
w,w0 12||w||
2przy c
nw
Tx
n+ w
0≥ 1.
(6)
Metoda mno˙zników Lagrange’a polega na minimalizacji funkcji L
L (w, w
0, λ ) = 1 2 ||w||
2−
N n=1
∑
λ
nc
nw
Tx
n+ w
0− 1 . (7)
Ka˙zdy mno˙znik λ
n≥ 0 odpowiada jednemu wektorowi x
nz ci ˛ agu ucz ˛ acego
(n ∈ {1, 2 . . . , N}).
W celu minimalizacji funkcji L wyznaczamy jej pochodne i przyrównujemy je do zera
∂ L(w, w0, λ )
∂ w
= 0,
∂ L(w, w0, λ )
∂ w0
= 0,
∂ L(w, w0, λ )
∂ λ
= 0.
(8)
[przykład numeryczny dla D2]
3. Nieliniowe SVMs
Niestety nie zawsze klasyfikacja za pomoc ˛ a maszyn wektorów podpieraj ˛ acych SVMs (1) jest mo˙zliwa do przeprowadzenia. Mo˙ze si˛e zdarzy´c, ˙ze klasy nie s ˛ a liniowo separowalne.
Rysunek 3. Liniowo separowalne oraz nieseparowalne klasy.
W przypadku nierozdzielnych liniowo klas stosujemy trik z zastosowaniem funkcji j ˛ adrowych φ (kernel trick).
Inn ˛ a posta´c przyjmuje funkcja dyskryminacyjna δ (x) = w
Tφ (x) + w
0.
Rysunek 4. Wektory podpieraj ˛ ace dla nieliniowego klasyfikatora SVMs.
Zródło: [2]´
Funkcja L w metodzie mno˙zników Lagrange’a równie˙z ulega zmianie
L (w, w
0, λ ) = 1 2 ||w||
2−
N n=1
∑
λ
nc
nw
Tφ (x
n) + w
0− 1 . (9)
Minimalizacj˛e L sprowadzamy do problemu dualnego.
Maksymalizujemy teraz e L
e L (λ ) =
N
∑
n=1
λ
n− 1 2
N
∑
n=1 N
∑
m=1
λ
nλ
mc
nc
mκ (x
n, x
m) (10)
przy ograniczeniach
λ
n≥ 0, n = 1, 2, . . . , N, (11)
N
gdzie j ˛ adro κ przyjmuje posta´c
κ (x
n, x
m) = φ (x
n)
Tφ (x
m) . (13)
Funkcja j ˛ adrowa Matematyczna forma κ (x, y) wielomianowa p-tego rz˛edu κ (x, y) = x
Ty + r
pgaussowska (Radial Basis Function) κ (x, y) = exp(−
||x−y||2
2σ2
)
sigmoidalna κ (x, y) = tanh(x
Ty + r)
J ˛ adrowa (nieliniowa) wersja klasyfikatora SVM to wtedy
Ψ
kernel SV M(x) =
1, je˙zeli ∑
Nn=1λ
nc
nκ (x
n, x) + w
0> 0,
−1, je˙zeli ∑
Nn=1λ
nc
nκ (x
n, x) + w
0< 0.
(14)
a) b)
Rysunek 5. (a) Zbiór punktów nierozdzielny liniowo. (b) Ten sam zestaw danych przekształcony przez transformacj˛e [x
1, x
2] 7→ [x
1, x
2, x
21+ x
22].
Zródło: [6]´