7. Maszyny wektorów podpierających
7-1 Postać dualna perceptronu Rosenblatta 7-2 Region separujący
7-3 Optymalna hiperpłaszczyzna decyzyjna 7-4 Minimalizacja z ograniczeniami (1) 7-5 Minimalizacja z ograniczeniami (2):
Problem dualny
7-6 Minimalizacja z ograniczeniami (3):
Warunki Kuhna-Tuckera
7-7 Optymalizacja dla hiperpłaszczyzny decyzyjnej 7-8 Zadanie dualne
7-9 Warunki Kuhna-Tuckera
7-10 Wyznaczenie obciążenia
7-13 SVM maksymalizujące margines 7-14 Przykłady SVM
7-15 Przykład: Maszyna wielomianowa dla problemu XOR 7-16 Klasy liniowo nierozdzielne
7-17 Liniowa kara za naruszenie ograniczeń 7-18 SVM dla liniowej kary
7-19 SVM dla liniowej kary – problem skalowania
Postać dualna perceptronu Rosenblatta
• optymalne wagi są liniową kombinacją obrazów treningowych
w
=
N
X
i=1
α
i uiℓ(u
i)
α
i— (dla jednostkowej szybkości uczenia) liczba błędnych klasyfikacji i-tego obrazu (siła obrazu)
• reprezentacja ta nie jest jednoznaczna
• perceptron — postać dualna
N
(u) = sign b + u
TN
X
i=1
α
i uiℓ(u
i)
= sign b +
N
X α
i(u
Ti u) ℓ(u
i)
Region separujący
• H(w, b) klasyfikuje poprawnie, jeśli dla pewnego ∆ > 0 ui∈ UL+ ⇒ b + wTui ≥ ∆
ui∈ UL− ⇒ b + wTui ≤ −∆
czyli b+ wTui ℓ(ui) ≥ ∆ dla ui ∈ UL
• margines funkcjonalny ∆f: największe możliwe ∆, tzn.
dla co najmniej jednego ui ∈ UL (obrazy podpierające US) b + wTui ℓ(ui) = ∆f
• region separujący {u ∈ Rn : |b + wTu| < ∆f}
• przypomnienie: odległość punktu u0 od hiperpłaszczyzny H(w, b) jest równa |wTkwku0+b|, odległość hiperpłaszczyzn H(w, b1), H(w, b2) jest równa |b1kwk−b2|
• szerokość regionu separującego 2∆kwkf
• postać kanoniczna ∆f = 1 (usunięta niejednoznaczność)
Optymalna hiperpłaszczyzna decyzyjna
• optymalna hiperpłaszczyzna decyzyjna H(w
∗, b
∗):
a. bezbłędnie klasyfikuje obrazy uczące ui
∈ U
L w∗Tui+ b
∗ℓ(u
i) ≥ 1 dla u
i∈ U
Lb. maksymalizuje
margines geometryczny tzn. odległość d(U
L, H(w, b))
∆
g= d(U
L, H(w
∗, b
∗)) =
kw1∗k• klasyfikator maksymalizujący margines geometryczny
N(u) = sign(w
∗Tu+ b
∗)
Minimalizacja z ograniczeniami (1)
• problem pierwotny znaleźć ϑ
∗minimalizujące funkcję f (ϑ), ϑ ∈ Θ ⊂ R
n, przy ograniczeniach
g
i(ϑ) ≤ 0, i = 1, . . . , k (g(ϑ) ≤ 0) h
j(ϑ) = 0, j = 1, . . . , m (h(ϑ) = 0)
• obszar dopuszczalny D = {ϑ ∈ Θ : g(ϑ) ≤ 0, h(ϑ) = 0}
• rozwiązanie (globalne) problemu pierwotnego ϑ
∗f (ϑ
∗) < f (ϑ) dla każdego
ϑ∈ D, ϑ 6= ϑ
∗• ograniczenie aktywne: g
i(ϑ
∗) = 0, ograniczenie nieaktywne: g
i(ϑ
∗) < 0
• funkcja Lagrange’a, mnożniki Lagrange’a
L(ϑ, α, β) = f (ϑ) +
k
X
i=1
α
ig
i(ϑ) +
m
X
j=1
β
jh
j(ϑ)
Minimalizacja z ograniczeniami (2):
Problem dualny
• problem dualny: znaleźć α
∗, β
∗maksymalizujące funkcję L
∗(α, β) = inf
ϑ∈Θ
L(ϑ, α, β) przy ograniczeniach α ≥ 0
• luka dualności: L = inf
ϑ∈Df (ϑ) − sup
α≥0, βL
∗(α, β)
• jeśli L = 0, to ϑ
∗, α
∗, β
∗są rozwiązaniami problemu pierwotnego i dualnego
• punkt siodłowy: luka dualności jest zerowa wtedy i tylko wtedy gdy (ϑ
∗, α
∗, β
∗) jest punktem siodłowym funkcji Lagrange’a tzn. dla każdego ϑ ∈ Θ, α ≥ 0, β
L(ϑ
∗, α, β) ≤ L(ϑ
∗, α
∗, β
∗) ≤ L(ϑ, α
∗, β
∗)
Minimalizacja z ograniczeniami (3):
Warunki Kuhna-Tuckera
• warunki Kuhna-Tuckera dla funkcji f wypukłej i ciągłej wraz z pochodnymi na zbiorze wypukłym Θ i afinicznych funkcji g
i, h
j:
ϑ∗
jest rozwiązaniem problemu pierwotnego wtedy i tylko wtedy, gdy istnieją
α∗, β
∗takie, że
∂L
∂ϑ
ϑ∗,α∗,β∗= 0 (K-T 1)
∂L
∂β
ϑ∗,α∗,β∗= 0 (K-T 2)
α
∗ig
i(ϑ
∗) = 0, i = 1, . . . , k (K-T 3a)
g
i(ϑ
∗) ≤ 0, i = 1, . . . , k (K-T 3b)
α
∗i≥ 0, i = 1, . . . , k (K-T 3c)
• dla ograniczeń aktywnych α
∗i≥ 0, dla ograniczeń nieaktywnych α
∗i= 0
Optymalizacja dla hiperpłaszczyzny decyzyjnej
• problem optymalizacji
minimalizować Q(w, b) =
12kwk
2funkcja wypukła na zbiorze R
n+1przy ograniczeniach ℓ(u
i) w
Tui+ b ≥ 1, i = 1, . . . , N afiniczne
• funkcja Lagrange’a
L(w, b ; α) =
12 wTw+
N
X
i=1
α
i1 − ℓ(u
i) w
Tui+ b
• zadanie dualne: programowanie kwadratowe, rozwiązanie numeryczne
=⇒• warunki Kuhna-Tuckera nie dają rozwiązania w postaci analitycznej, ale pozwalają
na określenie jego właściwości
=⇒Zadanie dualne
• funkcja dualna: ∂L
∂w = ∂L
∂b = 0 (K-T 1) czyli w∗ =
N
X
i=1
αiu∗i ℓ(ui) podstawiamy do funkcji Lagrange’a
N
X
i=1
αi ℓ(ui) = 0 ograniczenie w problemie dualnym czyli L∗(α) = −12 w∗Tw∗ +
N
X
i=1
αi =
N
X
i=1
αi − 1 2
N
X
i=1 N
X
j=1
αiαjℓ(ui) ℓ(uj) uTi uj
zadanie dualne: maksymalizować L∗(α) =
N
X
i=1
αi − 1 2
N
X
i=1 N
X
j=1
αi αjℓ(ui) ℓ(uj) uTi uj
przy ograniczeniach PN
i=1αiℓ(ui) = 0 αi ≥ 0, i = 1, . . . , N
• α∗ zależy od ui tylko poprzez iloczyny skalarne uTi uj k(ui, uj) = uTi uj
Warunki Kuhna-Tuckera
• warunki Kuhna-Tuckera
w∗=
N
X
i=1
α
i u∗iℓ(u
i),
N
X
i=1
α
iℓ(u
i) = 0 K-T 1
α
i1 − ℓ(u
i) w
∗Tui+ b
∗= 0, i = 1, . . . , N K-T 3a
ℓ(u
i) w
∗Tui+ b
∗≥ 1, i = 1, . . . , N K-T 3b
α
∗i≥ 0, i = 1, . . . , N K-T 3c
• dla obrazów innych niż podpierające α
∗i= 0 (K-T 3a) czyli
w∗= X
ui∈US
α
∗i uiℓ(u
i)
• numeryczne rozwiązanie problemu dualnego: programowanie kwadratowe
• optymalny margines geometryczny kw
∗k
2= w
∗TP
α
∗ℓ(u
i) u
i= P
α
∗1 − ℓ(u
i) b = P α
∗czyli
Wyznaczenie obciążenia
• b
∗można wyznaczyć z ograniczeń pierwotnych
1 − min
ui:ℓ(ui)=1 w∗Tui≤ b
∗≤ −1 − max
ui:ℓ(ui)=−1 w∗Tui, b
∗= −1
2 min
ℓ(ui)=1w∗Tui
+ max
ℓ(ui)=−1w∗Tui
• dla obrazów podpierających ℓ(u
i) w
∗Tui+ b
∗= 1 czyli
b
∗= ℓ(u
i) − w
∗Tui,
ui∈ U
SIloczyn skalarny w przestrzeni cech
• reguła klasyfikacji dla sieci jednowarstwowej, k(u
′, u
′′) = u
′Tu′′N(u) = sign
b
∗+ X
ui∈US
α
∗iℓ(u
i) u
Ti u• reguła klasyfikacji zastosowana dla cech
x= ϕ(u) N(u) = sign
b
∗+ X
ϕ(xi)∈XS
α
∗iℓ(u
i) ϕ(u
i)
Tϕ(u)= sign
b
∗+ X
ui∈US
α
∗iℓ(u
i) k(u
i, u)
• ϕ zadane pośrednio — tylko przez iloczyn skalarny k
•
przypomnienie: iloczyn skalarnysymetria: k(u′, u′′) = k(u′′, u′)
Warunek Mercera
• nie każdy iloczyn skalarny jest realizowany przez pewną przestrzeń cech
• warunek Mercera gwarantuje istnienie funkcji ϕ:
dla każdego skończonego podzbioru {u
1, . . . , u
N} ⊂ U macierz {k(u
i, u
j)} jest dodatnio półokreślona
• przykłady: k(u
′, u
′′) = (u
′Tu′′+ 1)
p, k(u
′, u
′′) = exp
−1
2σ2
ku
′− u
′′k
2• zwiększenie wymiaru przestrzeni cech zwiększa pojemność liniową klasyfikacji
SVM maksymalizujące margines
• α
∗: jest jednoznacznym rozwiązaniem problemu maksymalizacji funkcji
L
∗(α) =
N
X
i=1
α
i− 1 2
N
X
i=1 N
X
j=1
α
iα
jℓ(u
i) ℓ(u
j) k(u
i, u
j)
przy ograniczeniach P
Ni=1
α
iℓ(u
i) = 0 α
i≥ 0, i = 1, . . . , N
• reguła klasyfikacji w przestrzeni obrazów jest nieliniowa y(u) = sign
b
∗+ X
ui∈Us
α
∗iℓ(u
i) k u, u
i• b
∗dobrane tak, by spełniać warunek b
∗= ℓ(u
j) − X
ui∈Us
α
∗iℓ(u
i) k u
i, u
j, dla dowolnego u
j∈ U
SPrzykłady SVM
• maszyna wielomianowa
k(u
′, u
′′) = (u
′Tu′′+ 1)
p• maszyna radialna
k(u
′, u
′′) = exp −1
2σ
2ku
′−u
′′k
2• uogólnienie maszyny radialnej k(u
′, u
′′) = exp −1
2σ
2d(u
′, u
′′) gdzie d jest miarą odległości obrazów, np.
d(u
′, u
′′) = χ
2(u
′, u
′′) ≈
n
X
k=1
|u
′k− u
′′k|
2u
′k+ u
′′kW.M. ?
d(u
′, u
′′) = ku
′− u
′′k
p=
pv u u t
n
X
k=1
|u
′k− u
′′k|
pW.M. spełniony dla p = 1, 2
Przykład: Maszyna wielomianowa dla problemu XOR
• ui h
−1 −1 iT
, h
−1 1 iT
, h
1 −1 iT
, h 1 1
iT
ℓ(ui) -1, 1, 1, -1
• k(u′, u′′) = (1 + u′Tu′′)2
• problem dualny: minimalizować L∗(α) = αTi− 12 αT ℓ ℓT⊙Kα (⊙ - produkt Schura) przy ograniczeniach α ≥ 0, ℓTα ≥ 0
gdzie ℓ =
"−1
1 1
−1
#
, ℓ ℓT =
" 1 −1 −1 1
−1 1 1 −1
−1 1 1 −1 1 −1 −1 1
#
, K= {k(ui, uj)} =
9 1 1 1
1 9 1 1 1 1 9 1 1 1 1 9
• rozwiązanie dualne bez ograniczeń: α∗ = ℓ ℓT⊙K−1
i = 961
" 11 1 1 −1
1 11 −1 1 1 −1 11 1
−1 1 1 11
#
i = 18 i, ograniczenia dualne spełnione, wszystkie ui są podpierające
• reguła klasyfikacji y(u) = sign
b∗ +P
ui∈U α∗i ℓ(ui) k u, ui
• b∗ = ℓ(uj) −P
ui∈Us α∗i ℓ(ui) k ui, uj
dla uj ∈ US czyli b∗ = 0
• przestrzeń cech: poniewaź
k(u, u′) = (1 + uTu′)2 = 1 + 2 uTu′ + (uTu′)2
′ ′ ′ ′
Klasy liniowo nierozdzielne
• przypadek liniowo rozdzielny
wTui
+ b ℓ(u
i) ≥ 1 dla u
i∈ U
L• miękki margines: możliwość naruszenia warunków poprawnej klasyfikacji dla i-tego obrazu
wTui
+ b ℓ(u
i) ≥ 1 − ξ
i, ξ
i≥ 0, dla u
i∈ U
L,
• ξ
i- zmienne dopełniające (slack variables) 0 < ξ
i< 1
naruszony region rozdzielający
ξ
i> 1
brak separacji liniowej
Liniowa kara za naruszenie ograniczeń
• problem pierwotny (c kontroluje liczbę błędnych klasyfikacji) minimalizować funkcję Q(w, b, ξ) =
12kwk
2+ c P
Ni=1
ξ
iprzy ograniczeniach ξ
i≥ 0, ℓ(u
i) w
Tui+b ≥1 − ξ
i, i = 1,. . . ,N
• funkcja Lagrange’a L(w, b, ξ; α, λ)
=
12 wTw+ c
N
X
i=1
ξ
i+
N
X
i=1
α
i1 − ξ
i− ℓ(u
i) (w
Tui+ b) −
N
X
i=1
λ
iξ
i• warunki Kuhna-Tuckera
w∗ =N
X
i=1
αiuiℓ(ui),
N
X
i=1
αi ℓ(ui) = 0
µi + λi = c, i = 1, . . . , N (K-T 1)
αi
1 − ξi − ℓ(ui) wTui + b
= 0, λiξi = 0, i = 1, . . . , N (K-T 3a) ℓ(ui) wTui + b ≥ 1 − ξi, ξi ≥ 0, i = 1, . . . , N (K-T 3b)
α ≥ 0, λ ≥ 0, i = 1, . . . , N (K-T 3c)
SVM dla liniowej kary
• funkcja dualna
L
∗(α, λ) = −
12 w∗Tw∗+
N
X
i=1
α
i=
N
X
i=1
α
i− 1 2
N
X
i=1 N
X
j=1
α
iα
jℓ(u
i) ℓ(u
j) k(u
i, u
j)
• problem dualny: maksymalizować funkcję L
∗(α) = P
Ni=1
α
i−
12P
N i=1P
Nj=1
α
iα
jℓ(u
i) ℓ(u
j) k(u
i, u
j) przy ograniczeniach P
Ni=1
α
iℓ(u
i) = 0, 0 ≤ α
i≤ c, i = 1, . . . , N
• α
i> 0
ui— obraz (wektor) podpierający
α
i< c
ui— obraz spełniający ograniczenia (poza regionem separującym)
• reguła klasyfikacji w przestrzeni obrazów y(u) = sign
b
∗+ X
ui∈Us
α
∗iℓ(u
i) k u, u
i• b
∗dobrane tak, by spełniać warunek
ℓ(u
i) y(u
i) = 1 dla każdego i : 0 < α
∗i< c
• margines geometryczny ∆
g=
q P 1ui ∈US
P
uj ∈US α∗i α∗jℓ(ui) ℓ(uj) k(ui,uj)
SVM dla liniowej kary – problem skalowania
• zmodyfikowany problem dualny
maksymalizować funkcję L
∗(α) = −
12P
N i=1P
Nj=1
α
iα
jℓ(u
i) ℓ(u
j) k(u
i, u
j) przy ograniczeniach P
Ni=1
α
iℓ(u
i) = 0, P
Ni=1