Support vector machine
Transkript
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
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...
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...
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 ...
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...
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šı́.
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. ...
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...