Optimální rozdělující nadplocha 4. Support vector machine. Adaboost.

Podobné dokumenty
Lineární diskriminační funkce. Perceptronový algoritmus.

Support Vector Machines (jemný úvod)

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

Lineární klasifikátory

Úvod do optimalizace, metody hladké optimalizace

Výpočetní teorie učení. PAC učení. VC dimenze.

Preceptron přednáška ze dne

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Klasifikace a rozpoznávání. Lineární klasifikátory

Přednáška 13 Redukce dimenzionality

Dnešní látka: Literatura: Kapitoly 3 a 4 ze skript Karel Rektorys: Matematika 43, ČVUT, Praha, Text přednášky na webové stránce přednášejícího.

Kybernetika a umělá inteligence, cvičení 10/11

Interpolace, ortogonální polynomy, Gaussova kvadratura

ANALÝZA A KLASIFIKACE DAT

Vytěžování znalostí z dat

ANALÝZA A KLASIFIKACE DAT

Strojové učení Marta Vomlelová

Úloha - rozpoznávání číslic

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Rosenblattův perceptron

KLASIFIKACE DOKUMENTŮ PODLE TÉMATU

Aplikovaná numerická matematika

Co jsme udělali: Au = f, u D(A)

Vojtěch Franc. Biometrie ZS Poděkování Janu Šochmanovi za slajdy vysvětlující AdaBoost

Klasifikace a rozpoznávání. Extrakce příznaků

Statistická teorie učení

Strukturální regresní modely. určitý nadhled nad rozličnými typy modelů

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

1 Linearní prostory nad komplexními čísly

Fakulta informačních technologií VUT Brno. Předmět: Srovnání klasifikátorů Autor : Jakub Mahdal Login: xmahda03 Datum:

Trénování sítě pomocí učení s učitelem

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Numerická matematika 1

0.1 Úvod do lineární algebry

Numerické metody optimalizace - úvod

Lineární algebra : Metrická geometrie

Matematika 2 pro PEF PaE

19 Hilbertovy prostory

Parametrická rovnice přímky v rovině

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

Lineární programování

PROSTORY SE SKALÁRNÍM SOUČINEM. Definice Nechť L je lineární vektorový prostor nad R. Zobrazení L L R splňující vlastnosti

Matematika I 12a Euklidovská geometrie

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Necht L je lineární prostor nad R. Operaci : L L R nazýváme

Asociativní sítě (paměti) Asociace známého vstupního vzoru s daným výstupním vzorem. Typická funkce 1 / 44

Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda

15 Maticový a vektorový počet II

K oddílu I.1 základní pojmy, normy, normované prostory

Martin NESLÁDEK. 14. listopadu 2017

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Miroslav Čepek. Fakulta Elektrotechnická, ČVUT. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava

14. přednáška. Přímka

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

Numerické metody a programování. Lekce 4

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group

oddělení Inteligentní Datové Analýzy (IDA)

Eukleidovský prostor a KSS Eukleidovský prostor je bodový prostor, ve kterém je definována vzdálenost dvou bodů (metrika)

CVIČNÝ TEST 2. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

7. přednáška Systémová analýza a modelování. Přiřazovací problém

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

Báze konečněrozměrných vektorových prostorů, lineární zobrazení vektorových prostorů

Podobnostní transformace

3. Vícevrstvé dopředné sítě

1 Báze a dimenze vektorového prostoru 1

Teorie her a ekonomické rozhodování. 2. Maticové hry

Dnes budeme učit agenty, jak zlepšit svůj

Třídy složitosti P a NP, NP-úplnost

Hammingův odhad. perfektní kódy. koule, objem koule perfektní kód. triviální, Hammingův, Golayův váhový polynom. výpočet. příklad

CVIČNÝ TEST 43. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014

1. července 2010

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých mocnin). Rozhodněte o definitnosti kvadratické formy κ(x).

EUKLIDOVSKÉ PROSTORY

Typy příkladů na písemnou část zkoušky 2NU a vzorová řešení (doc. Martišek 2017)

2. prosince velikosti symboly a, b, je b ω a b = a b cosω (1) a. ω pro ω π/2, π platí a b = b a a (3) a b = a 1 b 1 + a 2 b 2 + a 3 b 3 (5)

Cyklografie. Cyklický průmět bodu

0.1 Úvod do lineární algebry

Nelineární rovnice. Numerické metody 6. května FJFI ČVUT v Praze

3. Přednáška: Line search

Pozn. 1. Při návrhu aproximace bychom měli aproximační funkci vybírat tak, aby vektory ϕ (i) byly lineárně

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

3.2. ANALYTICKÁ GEOMETRIE ROVINY

1 Lineární prostory a podprostory

Matematika pro informatiky

verze 1.3 kde ρ(, ) je vzdálenost dvou bodů v R r. Redukovaným ε-ovým okolím nazveme ε-ové okolí bodu x 0 mimo tohoto bodu, tedy množinu

Numerická stabilita algoritmů

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

Kombinatorická minimalizace

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

5. Umělé neuronové sítě. neuronové sítě. Umělé Ondřej Valenta, Václav Matoušek. 5-1 Umělá inteligence a rozpoznávání, LS 2015

Selekce a extrakce příznaků 2

7. Lineární vektorové prostory

Aplikovaná matematika I

LDA, logistická regrese

Základní spádové metody

Úvod do teorie her

Transkript:

Optimální rozdělující nadplocha. Support vector machine. Adaboost. Petr Pošík Czech Technical University in Prague Faculty of Electrical Engineering Dept. of Cybernetics Opakování Lineární diskriminační funkce........................................................................................ 3 Optimální rozdělující nadplocha 4 Optimální rozdělující nadplocha...................................................................................... 5 Velikost marginu.................................................................................................... 6 Učení optimální rozdělující nadplochy................................................................................. 7 Optimální rozdělující nadplocha: závěrečné poznámky.................................................................. 8 Demo: optimální rozdělující nadplocha................................................................................ 9 Když lineární hranice nestačí... Rozšíření báze..................................................................................................... Dvě soustavy souřadnic............................................................................................ Rozšíření báze: poznámky.......................................................................................... 4 Optimální rozdělujíci nadplocha s rozšířením báze..................................................................... 5 Kernel trik........................................................................................................ 6 Support vector machine............................................................................................. 7 Demo: SVM s lineárním jádrem...................................................................................... 8 Demo: SVM s Gaussovským (RBF) jádrem............................................................................ 9 Boosting Ensembles, committees............................................................................................. Boosting.......................................................................................................... AdaBoost......................................................................................................... 3 AdaBoost graficky................................................................................................. 4 AdaBoost: poznámky............................................................................................... 5 Závěr............................................................................................................. 6

Opakování / 6 Lineární diskriminační funkce Binární klasifikace objektů x (klasifikace do tříd, dichotomie): Stačí diskriminační funkce Pravidlo: f(x i ) > y i = + f(x i ) < y i = neboli y i = sign( f(x)) Učení lin. diskr. funkce: např. perceptronový algoritmus: váhový vektor je váženým součtem trénovacích bodů x i najde jakoukoli separující nadplochu, pokud taková existuje Která z nekonečného množství rozdělujících nadploch je optimální? P. Pošík c Artificial Intelligence 3 / 6 Optimální rozdělující nadplocha 4 / 6 Optimální rozdělující nadplocha Margin (odstup): šířka pásma, v němž se hranice mezi třídami může pohybovat (kolmo ke své směrnici), aniž by se dotkla některého bodu Lineární klasifikátor s maximálním marginem w T x+w = w T x+w = w T x+w = Support vectors: datové vektory ležící v plus-rovině nebo minus-rovině pouze ty mají vliv na hranici mezi třídami Proč maximalizovat margin? Intuitivně se to zdá být nejbezpečnější Pokud bychom udělali malou chybu při stanovování hranice, máme nejmenší šanci, že způsobíme špatnou klasifikaci Model je stabilní vůči změně trénovací množiny, pokud nedojde ke změně některého ze support vectors Existují teoretické výsledky (založené na VC dimenzi), že hledat klasifikátor s maximálním marginem je dobré Maximální margin v praxi dobře funguje Plus-rovina: {x : w T x+w = } Minus-rovina: {x : w T x+w = } Hranice mezi třídami: {x : w T x+w = } P. Pošík c Artificial Intelligence 5 / 6

Velikost marginu Jak vypočítat velikost marginu M ze známých w a w? w T x+w = x + w T x+w = M w T x+w = w x Víme, že: w T x + + w = w T x + w = x + λw = x + Velikost marginu: Můžeme odvodit: w T (x + x ) = w T (x + λw x ) = λw T w = λ = w T w = w M = x + x = λw = λ w = w w = w P. Pošík c Artificial Intelligence 6 / 6 Učení optimální rozdělující nadplochy Chceme maximalizovat margin M = při splnění omezení na správnou klasifikaci. To lze formulovat jako úlohu kvadratického w programování (QP). Primární úloha QP: minimalizuj w T w vzhledem k w,..., w D tak, aby y i (w T x i + w ) Duální úloha QP: maximalizuj α i α i α j y i y j xi T x j vzhledem k α,..., α m i= i= j= tak, aby α i a α i y i =. i= Výpočet řešení primární úlohy z řešení duální úlohy: m w = α i y i x i, w = y k w T x k, i= kde (x k, y k ) je libovolný support vector. P. Pošík c Artificial Intelligence 7 / 6 3

Optimální rozdělující nadplocha: závěrečné poznámky Význam duální formulace: Úloha QP v duální formě je pro QP solvery snáze řešitelná než QP v primární formě. Klasifikovat nové body pak lze pomocí funkce f(x, w, w ) = sign(w T x+w ) = sign( α i y i xi T x+w ), i= t.j. data se v diskriminační funkci vyskytují jen ve formě skalárních součinů. Data s α i > jsou support vectors, takže součty mohou být jen přes support vectors. Duální formulace umožňuje využít dalších triků, o kterých se teprve dozvíte. Když data nejsou lineárně separabilní: I v tomto případě existuje formulace úlohy QP (soft margin). Primární úloha má dvojnásobný počet omezení, úloha tedy je složitější. Výsledky úlohy QP se soft marginem jsou stejného typu jako bez něj. P. Pošík c Artificial Intelligence 8 / 6 Demo: optimální rozdělující nadplocha.8.6.4.....4.6.8. P. Pošík c Artificial Intelligence 9 / 6 4

Když lineární hranice nestačí... / 6 Rozšíření báze a.k.a. vyrovnání příznakového porstoru. Proč? Lineární hranice nemusí být dostatečně flexibilní Využijeme algoritmy pro učení lineární diskriminační funkce i pro učení nelineárních modelů Jak? Zavedeme nový vícerozměrný obrazový prostor F Do tohoto prostoru přetransformujeme data (odvodíme nové příznaky): x z = Φ(x), x = (x, x,..., x D ) z = (Φ (x), Φ (x),..., Φ G (x)), přičemž obvykle D G. aučíme lineární model, který v původním prostoru nebude lineární f(z) = w z + w z +...+w G z G + w f(x) = w Φ (x)+w Φ (x)+...+w G Φ G (x)+w P. Pošík c Artificial Intelligence / 6 Dvě soustavy souřadnic Transformace do vícerozměrného prostoru obrazů Původní prostor Prostor obrazů x = (x, x,..., x D ) z = (z, z,..., z G ) z = log x z = x x 3 z 3 = e x... Učení lineární funkce v prostoru obrazů f(x) = w log x + w x x 3 + w 3 e x +...+w f(z) = w z + w z + w 3 z 3 +...+w P. Pošík c Artificial Intelligence / 6 elineární funkce v původním prostoru 5

Dvě soustavy souřadnic: graficky Transformace do vícerozměrného prostoru obrazů Původní prostor Prostor obrazů.8.6.4...4.6.8 4 6 8 x 5 5 x 9 8 7 6 5 4 3 9 8 7 6 4 6 8 x Učení lineární funkce v prostoru obrazů 5 5 3 4 6 8 x x 5 4 3 4 6 8 x P. Pošík c Artificial Intelligence 3 / 6 elineární funkce v původním prostoru Rozšíření báze: poznámky Výhody: univerzální, obecně použitelná metoda evýhody: zůstává na člověku zvolit, které nové příznaky dá učicímu algoritmu k dispozici data je třeba skutečně namapovat do obrazového prostoru Existuje metoda, jak využít rozšíření báze, aniž bychom mapování skutečně museli provést!!! P. Pošík c Artificial Intelligence 4 / 6 6

Optimální rozdělujíci nadplocha s rozšířením báze Připomeňme: při učení optimální rozdělující nadplochy se vektory x vyskytují pouze v optimalizačním kritériu α i α i α j y i y j xi T x j i= i= j= a v diskriminační funkci f(x) = sign( Použijeme-li rozšíření báze, změní se α i y i xi T x+w ). i= optimalizační kritérium na α i α i α j y i y j Φ(x i ) T Φ(x j ) i= i= j= a diskriminační funkce na f(x) = sign( i= α i y i Φ(x i ) T Φ(x)+w ). Místo skalárního součinu v obrazovém prostoru lze použít funkci K(x i, x j ) v optimalizačním kritériu α i α i α j y i y j K(x i, x j ) i= i= j= a v diskriminační funkci f(x) = sign( i= α i y i K(x i, x)+w ). P. Pošík c Artificial Intelligence 5 / 6 Kernel trik Existují funkce dvou vektorových argumentů (K(a, b)), jejichž hodnoty jsou rovny skalárnímu součinu (φ(a) T φ(b)) vektorů vzniklých namapováním obou původních vektorů do mnoharozměrného prostoru obrazů. Takovým funkcím se říká jádrové funkce nebo kernely. Kernel trik: Mějme lineární algoritmus, v němž se trénovací příklady vyskytují pouze ve skalárních součinech. Takový algoritmus lze znelinearizovat, když nahradíme skalární součiny dvou trénovacích vektorů jádrovou funkcí těchto vektorů. Výsledek je stejný, jako by se tentýž algoritmus učil v mnoharozměrném prostoru nelineárních bázových funkcí. Díky kernelům ovšem není nutné vlastní mapování provádět, algoritmus je mnohem efektivnější. Často používané kernely: Polynomiální: K(a, b) = (a T b+) d, kde d je stupeň polynomu. Gaussovský (RBF): K(a, b) = exp( a b σ ), kde σ je šířka Gaussiánu. P. Pošík c Artificial Intelligence 6 / 6 7

Support vector machine Support vector machine (SVM) = optimální rozdělující nadplocha + kernel trik P. Pošík c Artificial Intelligence 7 / 6 Demo: SVM s lineárním jádrem.8.6.4.....4.6.8..5.9.8.7.6.5.4.3....4.6.8 3.5.5.5.5.5.5 3 3 3 P. Pošík c Artificial Intelligence 8 / 6 8

Demo: SVM s Gaussovským (RBF) jádrem.8.6.4.....4.6.8..5.9.8.7.6.5.4.3....4.6.8 3.5.5.5.5.5.5 3 3 3 P. Pošík c Artificial Intelligence 9 / 6 Boosting / 6 Ensembles, committees Ensemble je komise různých modelů, jejichž predikce jsou sloučeny dohromady např. hlasováním nebo vážením. Jednotlivé metody si liší tím, jakým způsobem vytvářejí jednotlivé modely tak, aby byly různé. P. Pošík c Artificial Intelligence / 6 9

Boosting Boosting obecná metoda, jak ze slabých klasifikátorů vytvořit silný klasifikátor všechny modely jsou stejného typu, všechny jsou učeny stejným algoritmem různorodost modelů: každý z T modelů se učí na jinou podmnožinu trénovacích dat máme-li algoritmus pro učení slabého klasifikátoru, který umí konzistentně nacházet modely, jejichž přesnost je alespoň o málo větší než náhodné tipování, lze dokázat, že boosting umí vytvořit klasifikátor s vysokou úspěšností, např. 99 %. AdaBoost trénovací data všechny modely se učí na všech trénovacích datech (nikoli jen na podmnožinách) v každé iteraci t =,..., T se liší váhy D t (i) trénovacích bodů x i špatně zaklasifikované body mají v další iteraci větší váhu výsledný klasifikátor vážené hlasování P. Pošík c Artificial Intelligence / 6 AdaBoost Algoritmus : AdaBoost Vstup: Trénovací množina správně ohodnocených ( bodů: {x ) i, y i }, x i R D, y i {+, }, i =,..., m Výstup: Finální klasifikátor H final (x) = sign t= T α t h t (x) begin Inicializuj váhy trénovacích případů: D (i) = m. 3 for t =,..., T do 4 ajdi slabý klasifikátor h t 5 Spočti váženou chybu: ǫ t = i= m D t(i)i(y i = h t (x i )) 6 Spočti váhu modelu h t : α t = ln ( ǫt ǫ t ) > 7 Uprav váhy trénovacích bodů: D t+ (i) = D { t(i) e α t, pokud yi = h t (x i ), Z t e α t, pokud y i = h t (x i ), = D t(i) Z t exp( α t y i h t (x i )), kde Z t je normalizační konstanta. P. Pošík c Artificial Intelligence 3 / 6

AdaBoost graficky Iterace : Iterace: Iterace : Iterace: Iterace 3: Iterace: 3.9.9.9.8.8.8.7.7.7.6.6.6.5.5.5.4.4.4.3.3.3........4.6.8 ǫ =.3 α =.4..4.6.8 ǫ =. α =.65..4.6.8 ǫ 3 =.3 α 3 =.9 Iterace: Iterace: Iterace: 3 Cely model.9.9.9.9.8.8.8.8.7.7.7.7.6.6.6.6.5.5.5.5.4.4.4.4.4.3....4.6.8 +.65.3....4.6.8 +.9.3....4.6.8 =.3....4.6.8 P. Pošík c Artificial Intelligence 4 / 6 AdaBoost: poznámky Trénovací chyba: označme γ t =.5 ǫ t, o co je t. model lepší než náhodné hádání označme γ = min t γ t, neboli všechny modely h(t) jsou na trénovací sadě úspěšnější než náhodné hádání alespoň o γ (platí také γ t : γ t γ > ) lze ukázat, že trénovací chyba Err Tr (H final ) e γ T P. Pošík c Artificial Intelligence 5 / 6

Závěr Metody pro binární klasifikaci objektů popsaných reálnými příznaky: učení lineární diskriminační funkce perceptron (pomalu konverguje) optimální rozdělující nadplocha (úloha QP) využití lineárních metod pro konstrukci nelineárních modelů rozšíření báze kernel trik (SVM) ensembles (AdaBoost) Poznámky: SVM: existují jádra umožňující využít SVM i pro nenumerické příznaky (např. pro klasifikaci textů) AdaBoost: algoritmus je možné využít i pro kategoriální příznaky P. Pošík c Artificial Intelligence 6 / 6