Support vector machine

Transkript

Support vector machine
Support vector machines
metoda modelu pro klasifikaci
Lineárnı́ regrese na indikátory třı́dy
• problém – maskovánı́
• trochu se lze vyhnout expanzı́ vstupnı́ho prostoru – přidáme
druhé mocniny jednotlivých souřadnic a maskovánı́ v našem
přı́padu se vyhneme (ale v přı́kladu se čtyřmi třı́dami v řadě
obecně ne)
• možné přejı́t k logistické regresi či lineárnı́ či kvadratické
diskriminačnı́ analýze, kde k maskovánı́ tolik nedocházı́
Separujı́cı́ nadrovina, optimálnı́ separujı́cı́
nadrovina
• lineárnı́ regrese ”rozdělı́” prostor x nadrovinou na části
odpovı́dajı́cı́ jednotlivým třı́dám
• tato nadrovina nemusı́ být optimálnı́ (ani pro LDA; logistická
regrese ano, pokud existuje)
• Perceptron (neuronová sı́ť sestávajı́cı́ z jednoho neuronu) najde
bezchybnou separaci, pokud tato existuje
přesná pozice výsledné nadroviny závisı́ na (náhodně
zvolených) vstupnı́ch parametrech a pořadı́ vstupnı́ch přı́kladů
Optimálnı́ separujı́cı́ nadrovina (separabilnı́
přı́pad)
Můžeme definovat optimálnı́ separujı́cı́ nadrovinu jako takovou
nadrovinu, okolo které je maximálně široký pás nikoho, a na každé
straně jsou přı́klady jedné třı́dy.
Formálně:
max
β,β0 ,kβk=1
C
za podmı́nek yi ( xiT β + β0 ) ≥ C pro všechny přı́klady i = 1, . . . , N.
kβk = 1 mohu přesunout do podmı́nky (a změnit β0 ):
1
yi ( xiT β + β0 ) ≥ C
kβk
Platı́–li podmı́nka pro jedno β, β0 , platı́ i pro jejich kladné násobky,
proto můžeme zvolit kβk = C1 a dostaneme:
1
min kβk2
β,β0 2
za podmı́nek yi ( xiT β + β0 ) ≥ 1 pro i = 1, . . . , N.
Jde o konvexnı́ optimalizačnı́ úlohu, kterou řešı́me pomocı́
Lagrangeových funkcı́:
N
1
L P = kβk2 − ∑ αi [ yi ( xiT β + β0 ) − 1]
2
i =1
Derivace položı́me = 0 a dostaneme:
N
β=
∑ αi yi xi
i =1
N
0=
∑ αi yi
i =1
Dosazenı́m do L P dostaneme Wolfeho duálnı́ formu:
N
1
L D = ∑ αi −
2
i =1
N
N
∑ ∑ αiαk yi yk xiT xk
i =1 k =1
za podmı́nek αi ≥ 0
na což lze pustit standardnı́ software pro konvexnı́ optimalizačnı́
úlohy.
Řešenı́ navı́c splňuje Karush–Kuhn–Tucker podmı́nku:
αi [ yi ( xiT β + β0 ) − 1] = 0
pro každé i, proto pro každé αi > 0 musı́ [ yi ( xiT β + β0 ) − 1] = 0, tj.
xi je na hranici, a pro všechna xi vně hranice je αi = 0.
Výsledná hranice tedy záležı́ jen na vektorech na hranici, které
nazýváme support vectors.
Klasifikujeme pak na základě toho, na které straně přı́mky se přı́klad
nacházı́, tj.
Ĝ ( x) = sign( xT β + β0 )
Optimálnı́ separujı́cı́ nadrovina pro
neseparabilnı́ přı́pad
• Ne vždy existuje separujı́cı́ nadrovina. V takovém přı́padě
musı́me připustit špatně klasifikované trénovacı́ přı́klady.
Připustı́me tedy přı́klady v separujı́cı́m pruhu i na špatné straně
hranice, ale omezı́me součet jejich vzdálenosti od hranice.
Definujeme slack jednotlivých proměnných (ξ1 , . . . , ξ N ) = ξ takto:
• ξi značı́ vzdálenost přı́kladu i od hranice jeho třı́dy, pokud je
přı́klad i na špatné straně,
• a ξi = 0, je–li přı́klad na správné straně.
Součet těchto vzdálenostı́ omezı́me konstantou K.
Idea je následujı́cı́. Hodnota ξi měřı́, jak daleko je predikce
f ( xi ) = xiT β + β0 na špatné straně hranice. Omezenı́m ∑ ξi
omezujeme celkovou vzdálenost, jakou predikce padajı́ na špatnou
stranu jejich hranice. Špatná klasifikace nastane při ξi > 1, čili
omezenı́m ∑ ξi < K omezı́me maximum špatně klasifikovaných
přı́kladů čı́slem K.
Opět tedy řešı́m maximalizačnı́ úlohu
max
β,β0 ,kβk=1
C
jen se změnı́ podmı́nky na:
yi ( x T β + β 0 ) ≥ C − ξi
nebo
yi ( x T β + β 0 ) ≥ C ( 1 − ξi )
kde ∀i je ξi ≥ 0 a ∑iN=1 ξi ≤ K.
Dvě možnosti vedou k různým řešenı́m. Obě jsou stejně přirozené,
ale druhá vede ke standardnı́m SVM, proto se jı́ budeme držet.
Opět můžeme vynechat podmı́nku na kβk, definovat C =
převést na optimalizaci
min kβkza podmı́nek{
1
kβk
a
yi ( xT β + β0 ) ≥ (1 − ξi )∀i
ξi ≥ 0, ∑ ξi ≤ constant
Pozn. pro srovnánı́ – v lineárnı́ diskriminačnı́ analýze LDA je hranice určena kovariancı́ distribucı́ třı́d a a jejich centroidy. Logistická
regrese je vı́ce podobná SVM.
Řešı́me tedy úlohu
N
1
2
min kβk + γ ∑ ξi
β,β0 2
i =1
za podmı́nek ξi ≥ 0 a yi ( xT β + β0 ) ≥ (1 − ξi ) kde γ nahradilo
konstantu K, můžeme položit γ = ∞ pro separabilnı́ přı́pad.
(1)
Řešı́me opět pomocı́ Lagrangeových multiplikátorů αi , µi :
N
N
N
1
2
T
L P = kβk + γ ∑ ξi − ∑ αi [ yi ( xi β + β0 ) − (1 − ξi )] − ∑ µiξi
2
i =1
i =1
i =1
Položenı́m derivace rovné nula dostaneme:
N
β=
∑ αi yi xi
i =1
N
0=
∑ αi yi
i =1
αi = γ − µi
Dosazenı́m dostaneme Wolfe dual:
N
1
L D = ∑ αi −
2
i =1
N
∑
N
T
α
α
y
y
x
i
i
k
k
∑
i xk
i =1 k =1
a maximalizujeme L D za podmı́nek 0 ≤ αi ≤ γ a ∑iN=1 αi yi = 0.
Řešenı́ navı́c splňuje:
αi [ yi ( xiT β + β0 ) − (1 − ξi )]
= 0
µ iξ i
= 0
yi ( xiT β + β0 ) − (1 − ξi ) ≥ 0
Řešenı́: β̂ = ∑iN=1 α̂i yi xi
s nenulovými koeficienty αbi – což nastává pro body na hranici, kde
ξbi = 0 (a také platı́ 0 < αbi < γ), a body na špatné straně s ξbi > 0 (pro
které také platı́ αbi = γ. Kterýkoli z bodů na hranici může být použit
c0 , typicky se použı́vá průměr všech řešenı́ kvůli
pro výpočet β
numerické stabilitě.
c0 dopočteme z rovnice pro bod na hranici, kde ξi = 0:
β
h
i
Tb
c0 ) − (1 − 0) = 0
αi yi ( x β + β
Parametr γ musı́me určit laděnı́m.
Support vector machines
• Pokud jsou třı́dy skoro lineárně separabilnı́, stačı́ hledat
optimálnı́ separujı́cı́ nadroviny.
• Support vector machines zobecňujı́ přı́stup na lineárně
neseparabilnı́, překrývajı́cı́ se třı́dy.
Kernels – jádra
Zatı́m jsme jen hledali lineárnı́ hranici. Nynı́ rozšı́řı́me
dimenzionalitu prostoru přı́znaků (feature space). Zvolı́me M
vstupnı́ch funkcı́ hm ( x), m = 1, . . . , M. SVM klasifikátor pak použı́vá
vstup h( xi ) = (h1 ( x), . . . , h M ( x)) a vytvořı́ (nelineárnı́) funkci
b+β
c0 .
fb( x) = h(t)T β
SVM využı́vajı́ toho, že pro výpočet funkce pro klasifikaci
f ( x) = h( x)T β + β0 = ∑iN=1 αi yi hh( x), h( xi )i + β0
nenı́ třeba počı́tat jednotlivé transformace h(i ), ale stačı́ spočı́tat
skalárnı́ součin nového přı́kladu a trénovacı́ho přı́kladu v
transformovaném prostoru. Proto volı́me transformovaný prostor
tak, aby se snadno spočı́tal tento skalárnı́ součin – samotný
transformovaný prostor může mı́t hodně dimenzı́ (i nekonečně).
Funkce, počı́tajı́cı́ skalárnı́ součin v transformovaném prostoru, se
nazývajı́ jádrové funkce (kernal functions).
dth Degree polynomial:
K ( x, x| ) = (1 + h x, x| i)d
Radial basis
K ( x, x| )
Neural network
K ( x, x| ) =
=
−k x− x| k2
exp(
)
c
tanh(κ1 h x, x| i + κ2 )
Př. Polynom stupně 2 na dvourozměrném vstupu:
K ( x, x0 ) = (1 + h x, x0 i)2 =
(1 + 2x1 x01 + 2x2 x02 + ( x1 x01 )2 + ( x2 x02 )2 + 2x1 x01 x2 x02 ) tj. M = 6,
√
√
h1 ( x) = 1, h2 ( x) = 2x1 , h3 ( x) = 2x2 ,
√
2
2
h4 ( x) = x1 ,h5 ( x) = x2 ,h6 ( x) = 2x1 x2 .

Podobné dokumenty

Úvod do systémové a operační analysy

Úvod do systémové a operační analysy v těchto textech. Některá řešenı́ lze napřı́klad vyjádřit ve tvaru matematických vzorců, některá lze zı́skat numericky pomocı́ počı́tače. S tı́m souvisejı́cı́ algoritmizace a tvorba p...

Více

stáhnout zde - Petr Korviny

stáhnout zde - Petr Korviny 1. do buňky B1 nenı́ třeba zadávat žádnou hodnotu, pouze informačně lze uvést o jaký druh vstupnı́ho souboru se vlastně jedná, jestli je to soubor se vstupnı́mi daty (kriteriálnı́ matic...

Více

Základy funkcionáln´ı analýzy

Základy funkcionáln´ı analýzy spojitou funkcı́ na X . Věta 3.3. Zobrazenı́ f : X → Y je spojité v bodě x, právě když pro libovolnou posloupnost {xn }, která konverguje k bodu x, konverguje posloupnost {f (xn )} k bodu y ...

Více

Vyuºití evolu£ních technik v léka°°ské diagnostice

Vyuºití evolu£ních technik v léka°°ské diagnostice Evolučnı́ výpočetnı́ techniky (EVT) jsou netradičnı́ výpočetnı́ postupy inspirované vývojovými procesy v přı́rodě. Použı́vajı́ se k řešenı́ mnoha různých problémů, které je možn...

Více

Metody Pocítacového Videní (MPV) - Machine learning

Metody Pocítacového Videní (MPV) - Machine learning cı́lem trénovánı́ klasifikátoru je nalézt pro každý uzel s takové rozdělenı́, kdy nárůst rozmanitosti uzlu ∆I (s) je největšı́.

Více

Iterační metody, úvod do funkcionální analýzy

Iterační metody, úvod do funkcionální analýzy Definice 6 Konečnou množinu vektorů t~x1 , . . . , ~xn u nazýváme lineárně závislou, pokud existuje netriviálnı́ lineárnı́ kombinace těchto vektorů, která je rovna nulovému vektoru. ...

Více

důkaz elimanator

důkaz elimanator Důkaz: (sloupcový pohled): soustava má řešenı́ právě když vektor b ležı́ v lineárnı́m obalu sloupcových vektorů A1 , A2 , . . . , An , což je právě tehdy, když hod A = hod(A | b). V...

Více