Lineární klasifikátory
Lineární klasifikátory obsah: perceptronový algoritmus základní verze varianta perceptronového algoritmu přihrádkový algoritmus podpůrné vektorové stroje
Lineární klasifikátor navrhnout lineární klasifikátor bez ohledu na rozdělení dat výhoda jednoduché typicky výpočetně nenáročné předpoklad trénovací data jsou lineárně klasifikovatelná omezení klasifikace do dvou tříd ω a ω v d-dimenzionálním prostoru lineární klasifikátor... nadrovina g(x) T x kde d... dimenze vstupního prostoru (,..., d )... váhový vektor... práh 3
Lineární klasifikátor navrhnout lineární klasifikátor bez ohledu na rozdělení dat výhoda jednoduché typicky výpočetně nenáročné předpoklad trénovací data jsou lineárně klasifikovatelná omezení klasifikace do dvou tříd ω a ω v d-dimenzionálním prostoru lineární klasifikátor... nadrovina g(x) T x kde d... dimenze vstupního prostoru (,..., d )... váhový vektor... práh 4
Lineární klasifikátor nadrovina g(x) T x vzdálenost z bodu x od nadroviny z g( x) rozdělení prostoru na dvě části jedna strana... g(x) > druhá strana... g(x) < 5
Perceptronový algoritmus cíl nalezení parametrů a dělící nadroviny lineárně separabilní množiny existuje nadrovina *T x *T x > pro každý x z ω *T x < pro každý x z ω vztah platí i pro nadroviny neprocházející počátkem *T x * zavede se rozšířený (d)-dimenzionální prostor ( *, ) x (x,) a pak *T x * T x 6
Perceptronový algoritmus cíl nalezení parametrů a dělící nadroviny lineárně separabilní množiny existuje nadrovina *T x *T x > pro každý x z ω *T x < pro každý x z ω vztah platí i pro nadroviny neprocházející počátkem *T x * zavede se rozšířený (d)-dimenzionální prostor ( *, ) x (x,) a pak *T x * T x 7
Perceptronový algoritmus ztrátová funkce perceptronový algoritmus příklad optimalizačního problému ztrátová funkce ztrátová funkce J T ( ) ( δx x) x Y chybně klasifikované trénovací vzory parametr δ x -... pro bod x z ω... pro bod x z ω J() nezáporná J()... Y Ø J() >... (x je z ω & x klasifikován chybně) OR (x je z ω & x klasifikován chybně) J() spojitá po částech lineární funkce body, kde se mění počet chybně klasif. vzorů gradient není definován 8
Perceptronový algoritmus odvození iterativní algoritmus pro minimalizaci ztrátové funkce metoda snižování gradientu ( t ) ( t) ( ) J ρt (t)... odhad váhového vektoru v t-té iteraci ρ t... posloupnost reálných čísel... parametr učení () t derivace ztrátové funkce (tam, kde je definována) ( ) J x Y δ x x po dosazení ( t ) ( t) ρ t δ x Y x x 9
Perceptronový algoritmus odvození perceptronový algoritmus ( t ) ( t) ρ t δ x Y x x ()... libovolně inicializován δ x x... vektor opravy z nesprávně klasifikovaných vzorů x Y proces učení opakován, dokud nejsou všechny trénovací vzory klasifikovány správně
Perceptronový algoritmus geometrická interpretace geometrická interpretace
Perceptronový algoritmus konvergence podmínky konvergence... ρ t lim t k lim t t t k ρ ρ k k < např. ρ t c / t, kde c je konstanta volba ρ t... rychlost konvergence rychlost algoritmu perceptronový algoritmus zkonverguje k řešení v konečném počtu kroků důkaz v literatuře nalezená řešení nejednoznačná existuje více než jedna dělicí nadrovina
Perceptronový algoritmus konvergence podmínky konvergence... ρ t lim t k lim t t t k ρ ρ k k < např. ρ t c / t, kde c je konstanta volba ρ t... rychlost konvergence rychlost algoritmu perceptronový algoritmus zkonverguje k řešení v konečném počtu kroků důkaz v literatuře nalezená řešení nejednoznačná existuje více než jedna dělicí nadrovina 3
Perceptronový algoritmus příklad aktuální dělicí přímka (čárkovaná) x x.5 (t) (,,-.5) chybně klasifikované vzory (-.,.75) (.4,.5) ω ω aktualizace váhového vektoru (ρ t ρ.7) nová dělicí přímka.4x.5x.5 správná klasifikace všech trénovacích vzorů algoritmus končí 4
Perceptronový algoritmus příklad aktuální dělicí přímka (čárkovaná) x x.5 (t) (,,-.5) chybně klasifikované vzory (-.,.75) (.4,.5) ω ω aktualizace váhového vektoru (ρ t ρ.7).5 ( t ).7( ).5.7( ).4..4.75.5.5 nová dělicí přímka.4x.5x.5 správná klasifikace všech trénovacích vzorů algoritmus končí 5
6 Varianta perceptronového algoritmu modifikace trénovací vzory... cyklicky předkládány váhový vektor... změna po každém vzoru opakované předkládání trénovací množiny algoritmus aktualizace váhového vektoru konvergence v konečném počtu iterací ( ) ( ) ( ) ( ) () () ( ) ( ) jinak t t t a ω když ρ t t t a ω když ρ t t t t t t t t K K K x x x x x x vzor x t klasifikován správně
Perceptron klasifikace klasifikace neznámých vzorů předpoklad: konvergence k váhovému vektoru a prahu klasifikace T x > x do ω T x < x do ω perceptron f... nelineární skoková funkce f(ξ)... ξ f(ξ) -... ξ < 7
Přihrádkový algoritmus perceptronový algoritmus učení lineární separabilita tříd předpoklad není splněn není zaručena konvergence přihrádkový algoritmus učení konvergence k optimálnímu řešení i když množiny nejsou lineárně separabilní 8
Přihrádkový algoritmus Krok náhodná inicializace () přihrádkový vektor S čítač historie h S Krok aktualizace (t) podle perceptronového algoritmu h... počet správně klasifikovaných trénovacích vzorů pomocí (t) h > h S : S (t) h S h konvergence algoritmus s pravděpodobností konverguje k optimálnímu řešení řešení s nejmenším počtem chybně klasifikovaných trénovacích vzorů 9
Přihrádkový algoritmus Krok náhodná inicializace () přihrádkový vektor S čítač historie h S Krok aktualizace (t) podle perceptronového algoritmu h... počet správně klasifikovaných trénovacích vzorů pomocí (t) h > h S S (t) h S h konvergence algoritmus s pravděpodobností konverguje k optimálnímu řešení řešení s nejmenším počtem chybně klasifikovaných trénovacích vzorů
Podpůrné vektorové stroje (SVM) support vector machine (SVM) vstup lineárně separabilní třídy ω a ω trénovací vzory x,...,x n výstup klasifikační nadrovina g(x) g(x) T x správně klasifikuje trénovací vzory
SVM idea klasifikační nadrovina g(x) není určena jednoznačně kterou klasifikační nadrovinu zvolit? spolehlivá práce i s neznámými vzory... generalizace klasifikace trénovacích dat & největší okolí na obou stranách nadroviny
SVM idea klasifikační nadrovina g(x) není určena jednoznačně kterou klasifikační nadrovinu zvolit? spolehlivá práce i s neznámými vzory... generalizace klasifikace trénovacích dat & největší okolí na obou stranách nadroviny 3
SVM okolí umístění klasifikační nadroviny g(x) žádná třída nemá být zvýhodněná stejná vzdálenost (okolí) od nejbližších vzorů v třídách ω a ω umístit nadrovinu, aby okolí bylo maximální možné 4
SVM okolí umístění klasifikační nadroviny g(x) žádná třída nemá být zvýhodněná stejná vzdálenost (okolí) od nejbližších vzorů v třídách ω a ω umístit nadrovinu, aby okolí bylo maximální možné 5
SVM okolí nadrovina škálovací koeficient stejný škálovací koeficient jediná rovnice roviny volba a x nejbližší bod tříd ω g(x) x nejbližší bod tříd ω g(x) - 6
SVM zápis podmínek hledaná klasifikační nadrovina g(x) T x. velikost okolí ( ) g( x ) g x ω ω. správná klasifikace trénovacích vzorů T x... pro trénovací vzor z ω T x -... pro trénovací vzor z ω nejbližší bod: g(x) 7
SVM zápis podmínek indikátor třídy vzoru y i... x i z ω -... x i z ω problém parametry a nadroviny J() / minimální (*) za podmínky y i ( T x ) pro i,...,n (**) poznámky minimalizace normálového vektoru maximální okolí problém kvadratické optimalizace za podmínek lineárních nerovností 8
SVM řešení problém splňuje Karush-Kuhn-Truckerovy podmínky L(,,)... Lagrangeova funkce L existuje vektor Lagrangeových multiplikátorů po vyřešení n T T (,, ) i( yi( x ) ) () L(,, ) ( ) L(,, ) ( 3) i pro i,...,n T ( 4) ( y ( x ) ) pro i,..., n i i i 9
SVM řešení problém splňuje Karush-Kuhn-Truckerovy podmínky L(,,)... Lagrangeova funkce L n T T (,, ) i( yi( x ) ) existuje vektor Lagrangeových multiplikátorů () L(,, ) ( ) L(,, ) ( 3) i pro i,...,n T ( 4) ( y ( x ) ) pro i,..., n i i i po vyřešení n i yix i a iyi i n i 3
SVM vlastnosti (a) optimální řešení lineární kombinace n s (n s <n) trénovacích vzorů, které odpovídají i n s y x i i i i podpůrné vektory optimální klasifikační nadrovina... podpůrný vektorový stroj podpůrné vektory (4) i podpůrné vektory leží na jedné z nadrovin T x ± podpůrné vektory trénovací vzory nejbližší klasifikátoru kritické prvky trénovací množiny 3
SVM vlastnosti (b) trénovací vzory s i typicky vně oblasti definované T x ± degenerované případy na nadrovinách T x ± výsledná klasifikační nadrovina není citlivá na počet a umístění trénovacích vzorů, které nejsou podpůrnými vektory 3
SVM vlastnosti () vlastnosti problému funkce J() striktně konvexní funkce omezující podmínky (**) jsou lineární optimální klasifikační nadrovina jednoznačně určena 33
SVM vlastnosti (3) dopočtení parametrů z rovnic n i yix i a iyi i n i není snadné různé algoritmy malé soustavy... lze dopočítat přímo složitější soustavy... např. konvexní programování a Lagrangeova dualita typicky více řešení pro i stejná optimální klasifikační nadrovina 34
SVM příklad podpůrný vektorový stroj pro body ω ω : : a a optimální klasifikátor přímka g(x) x obecně rovnice klasifikační nadroviny g(x) x x výsledná optimální nadrovina g(x) x,, všechny body podpůrné vektory velikost okolí 35
SVM příklad podpůrný vektorový stroj pro body ω ω : : a a optimální klasifikátor přímka g(x) x obecně rovnice klasifikační nadroviny g(x) x x výsledná optimální nadrovina g(x) x,, všechny body podpůrné vektory velikost okolí 36
37 SVM příklad analytické řešení,, J() / minimální za podmínek y i ( T x ) pro i,...,4 dosazení do podmínek 4 3 K K K K x x x x
38 SVM příklad Lagrangeova funkce ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) y,, L 4 3 n i T i i T x
39 SVM příklad Karush-Kuhn-Truckerovy podmínky 7 rovnic pro 7 neznámých () ( ) ( ) ( ) ( ) ( ) ( ) ( ) 4,...,4 pro i 3 L L L je L 4 3 i 4 3 4 3 4 3 K K K
SVM příklad řešení 7 rovnic o 7 neznámých není snadné dá více řešení všechny vedou ke stejné optimální klasifikační nadrovině: 4