Klasifikace a rozpoznávání. Umělé neuronové sítě a Support Vector Machines

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

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

Obsah přednášky. 1. Principy Meta-learningu 2. Bumping 3. Bagging 4. Stacking 5. Boosting 6. Shrnutí

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

G( x) %, ν%, λ. x, x, N, N nezáporné přídatné proměnné, ( ) 2 Matematické programování

Umělé neuronové sítě a Support Vector Machines. Petr Schwraz

(iv) D - vybíráme 2 koule a ty mají různou barvu.

f (k) (x 0 ) (x x 0 ) k, x (x 0 r, x 0 + r). k! f(x) = k=1 Řada se nazývá Taylorovou řadou funkce f v bodě x 0. Přehled některých Taylorových řad.

Shluková analýza, Hierarchické, Nehierarchické, Optimum, Dodatek. Učení bez učitele

7.3.9 Směrnicový tvar rovnice přímky

7.3.9 Směrnicový tvar rovnice přímky

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

Lineární klasifikátory

Buckinghamův Π-teorém (viz Barenblatt, Scaling, 2003)

Support Vector Machines (jemný úvod)

Vytěžování znalostí z dat

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

1 Gaussova kvadratura

4. Přednáška: Kvazi-Newtonovské metody:

Algoritmy a struktury neuropočítačů ASN P4. Vícevrstvé sítě dopředné a Elmanovy MLNN s učením zpětného šíření chyby

Úvod do optimalizace, metody hladké optimalizace

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

Rosenblattův perceptron

Preceptron přednáška ze dne

Neuronové sítě (11. přednáška)

VI. Derivace složené funkce.

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

AVDAT Nelineární regresní model

Neuronové časové řady (ANN-TS)

Intervalová data a výpočet některých statistik

Geometrická zobrazení

MULTIKRITERIÁLNÍ ROZHODOVÁNÍ VEKTOROVÁ OPTIMALIZACE

Metoda konjugovaných gradientů

11. přednáška 10. prosince Kapitola 3. Úvod do teorie diferenciálních rovnic. Obyčejná diferenciální rovnice řádu n (ODR řádu n) je vztah

OPTIMALIZACE. (přehled metod)

X = x, y = h(x) Y = y. hodnotám x a jedné hodnotě y. Dostaneme tabulku hodnot pravděpodobnostní

přetrénování = ztráta schopnosti generalizovat vlivem přílišného zaměření klasifikátorů na rozeznávání pouze konkrétních trénovacích dat

Pavel Seidl 1, Ivan Taufer 2

ANALÝZA A KLASIFIKACE DAT

Příklady: - počet členů dané domácnosti - počet zákazníků ve frontě - počet pokusů do padnutí čísla šest - životnost televizoru - věk člověka

1. Náhodný vektor (X, Y ) má diskrétní rozdělení s pravděpodobnostní funkcí p, kde. p(x, y) = a(x + y + 1), x, y {0, 1, 2}.

Strojové učení Marta Vomlelová

Statistika a spolehlivost v lékařství Charakteristiky spolehlivosti prvků I

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

GENETICKÉ UČENÍ NEURONOVÝCH SÍTÍ GENETIC LEARNING OF NEURAL NETWORKS. Roman Biskup, Anna Čermáková

AVDAT Klasický lineární model, metoda nejmenších

Funkce jedné proměnné

Matematická analýza III.

Analýza a zpracování signálů. 5. Z-transformace

a) formulujte Weierstrassovo kritérium stejnoměrné konvergence b) pomocí tohoto kritéria ukažte, že funkční řada konverguje stejnoměrně na celé R

Těleso na nakloněné rovině Dvě tělesa spojená tyčí Kyvadlo

Diferenciál funkce dvou proměnných. Má-li funkce f = f(x, y) spojité parciální derivace v bodě a, pak lineární formu (funkci)

Matematická analýza III.

Testování hypotéz. December 10, 2008

Umělé neuronové sítě

7. TRANSFORMÁTORY. 7.1 Štítkové údaje. 7.2 Měření odporů vinutí. 7.3 Měření naprázdno

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

Přednáška 13 Redukce dimenzionality

Využití metod strojového učení v bioinformatice David Hoksza

Klasifikace a rozpoznávání. Bayesovská rozhodovací teorie

Předpoklady: a, b spojité na intervalu I.

7. Derivace složené funkce. Budeme uvažovat složenou funkci F = f(g), kde některá z jejich součástí

6 5 = 0, = 0, = 0, = 0, 0032

Obyčejnými diferenciálními rovnicemi (ODR) budeme nazývat rovnice, ve kterých

Definice 7.1 Nechť je dán pravděpodobnostní prostor (Ω, A, P). Zobrazení. nebo ekvivalentně

Numerická matematika 1

Numerické metody optimalizace - úvod

Pojmy z kombinatoriky, pravděpodobnosti, znalosti z kapitoly náhodná veličina, znalost parciálních derivací, dvojného integrálu.

Algoritmy a struktury neuropočítačů ASN P3

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

5. cvičení z Matematiky 2

F6180 Úvod do nelineární dynamiky. F6150 Pokročilé numerické metody FX003 Plánování a vyhodnocování experimentu. F7780 Nelineární vlny a solitony

4. Aplikace matematiky v ekonomii

Interpolace, ortogonální polynomy, Gaussova kvadratura

Binomická věta

MATEMATIKA II V PŘÍKLADECH

Fiala P., Karhan P., Ptáček J. Oddělení lékařské fyziky a radiační ochrany Fakultní nemocnice Olomouc

Otázku, kterými body prochází větev implicitní funkce řeší následující věta.

Kmity a rotace molekul

Pokročilé metody učení neuronových sítí. Tomáš Řehořek

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

AVDAT Mnohorozměrné metody, metody klasifikace

Vícekriteriální programování příklad

LDA, logistická regrese

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

5.3. Implicitní funkce a její derivace

Markov Chain Monte Carlo. Jan Kracík.

MATEMATICKÁ STATISTIKA - XP01MST

Obsah Obyčejné diferenciální rovnice

StatSoft Úvod do neuronových sítí

ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT. Institut biostatistiky a analýz

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

Zpětnovazební učení Michaela Walterová Jednoocí slepým,

Neuronové sítě AIL002. Iveta Mrázová 1 František Mráz 2. Neuronové sítě. 1 Katedra softwarového inženýrství. 2 Kabinet software a výuky informatiky

OPTIMALIZACE PARAMETRŮ PID REGULÁTORU POMOCÍ GA TOOLBOXU

MATEMATICKÁ STATISTIKA

MATEMATIKA 1 4 A B C D. didaktický test. Zadání neotvírejte, počkejte na pokyn! MA1ACZMZ07DT. Pokyny pro vyplňování záznamového archu

SRE 03 - Statistické rozpoznávání

Budeme pokračovat v nahrazování funkce f(x) v okolí bodu a polynomy, tj. hledat vhodné konstanty c n tak, aby bylo pro malá x a. = f (a), f(x) f(a)

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

Transkript:

Klasifiace a rozpoznávání Umělé neuronové sítě a Support Vector Machines

x 1 x 2 w 1 w 2 Lineární lasifiátory a y = f ( w T x+b) Σ f(.) y b Nevýhoda: pouze lineární rozhodovací hranice Možné řešení: Použít jiný než lineární lasifiátor (např. GMM) Nelineární transformace vstupních vetorů: Ale jaou transformaci použít? Postavit hierarchii lineárních lasifiátorů

Hierarchie lineárních lasifiátorů w 11 a 1 Σ f(.) h x 1 1 w 12 w 21 x 2 a 2 Σ f(.) h 2 w 22 b 1 w 31 w 32 Σ f(.) y b 3 a 3 b 2 Napřed natrénujeme modrý a zelený lasifiátor ta aby oddělily aždý cluster modrých dat od zbytu. Potřebujeme supervizi: Které modré data patří do terého clusteru? Pa natrénujeme červený lasifiátor na pravděpodobnostních výstupech modrého a zeleného lasifiátoru x 2 h 2 x 1 h 1

Neuronové sítě pro lasifiaci w 11 a 1 Σ f(.) h x 1 1 w 12 w 21 x 2 a 2 Σ f(.) h 2 w 22 b 1 b 2 w 31 w 32 a 3 Σ f(.) y b 3 Taovýto hierarchicý lasifiátor můžeme trénovat jao cele bez nutnosti předchozí supervize. Jedná se o jednoduchou neuronovou síť (Neural Networ) pro binární lasifiační problém Klasifiátory v první vrstvě se mají samy naučit jaé clustery je v datech třeba identifiovat, aby finální lineární lasifiátor mohl oddělit třídy. lze vidět jao nelineární transformaci do prostoru, de jsou třídy dobře lineárně separovatelné. představují tzv. srytou vrstvu

Neuron a jeho matematicý model x 1 x 2 w 1 a w Σ f(.) y 2 b Zjednodušená abstrace fyzicého neuronu, inspirace v přírodě Zdroj ilustrace: wiipedia

Trénování neuronové sítě Uvažujme jednoduchý případ binárního lasifiátoru. Stejně jao u logisticé regrese použijeme jao objetivní funci pravděpodobnost, že všechny trénovací vstupní vetory x n jsou rozpoznány správně: Kde y n je pravděpodobnost třidy C 1 prediovaná výstupem neuronové sítě pro vzor x n. t je vetor oretních identit tříd: t n = 1 resp. t n = 0, poud x n paří do třídy C 1 resp. C2. Opět se nám bude lepe pracovat se (záporným) logaritmem této objetivní funce, tedy vzájemnou entropii: Opět budeme parametry (váhy neuronové sítě) optimalizovat pomoci metody gradient descend: w new = w old ε E(w)

Dosazením pa dostaneme Zpětné šíření chyby Potřebujeme vypočítat gradient chyby: (zde jsou vzorce jen pro jeden vzor trénovacích dat) E=[ E w 1 E E w 2 w K ]T Nejprve určíme gradient vah mezi srytou a výstupní vrstvou: h 1 h 2 w 31 w 32 a 3 Σ f(.) y b 3 E w E a E = y a 3 3, j y a3 w3, j 3 E w E = y 3, j y a 3 E = a 3 = a w 3 3, j Řetězové pravidlo: chyba E je složená funce závislá na váze w m,j přes ativaci a 3 a výstup y ( t ln y + (1 t) ln(1 y) ) f ( a ) 3, j y J = δ 3 w3, h = δ 3h w = 1 Zde předpoládáme, že všechny ativační funce jsou logisticé sigmoidy f(a) = σ(a) a víme,ze derivace σ (a) = σ(a) (1-σ(a)) = y (1 - y). a j 3 3 1 = 1 t y t y y(1 y) = ( y t) = δ 3 Tazvaná chyba na výstupu

Zpětné šíření chyby II Nyní určíme gradient vah mezi vstupní a srytou vrstvou: E E y a3 h a = w, n y a3 h a w,n Opět řetězové pravidlo: chyba E je složená funce závislá na váze wj,n přes ativaci a j a výstup h j první vrstvy a dále přes ativaci a 3 a výstup druhé vrstvy Podobným výpočtem jao pro výstupní vrstvu a využitím už spočítaného δ 3 : E a E w,n E = a 3 E = a a h 3 a w h a,n = δ w h (1 h ) = δ 3 = δ x n 3, w 11 x 1 w 12 w 21 a 1 Σ f(.) h 1 b 1 Chyba na výstupu δ 3 se zpětně se propaguje do chyby ve sryte vrsve δ w 31 a 3 Σ f(.) y x 2 a 2 Σ f(.) h 2 w 22 w 32 b 3 b 2

Zpětné šíření chyby III V obecném případě dy má neuronová sít více výstupů y m (např. pro více tříd) bude mít chyba: δ složitější tvar: ( ) M m= m, m M = m m m δ h h w δ a h h a a E = a E = = 1 1 1 Protože všechny výstupy sítě závisí na hodnotě sryté vrstvy h, sčítáme parciální derivace ze všech neuronů další vrstvy. Výraz δ m = y m - t m je chyba na m-tém výstupu. Obdobně se chyba δ může zpětně šířit do předešlých vrstev, poud by neuronová síť měla srytých vrstev více.

Úprava vah w new =w old ǫ E Úpravu vah lze provádět: 1. po předložení všech vetorů trénovací sady (batch training) gradienty pro jednotlivé vzory z předchozích slajdů se aumulují pomalejší onvergence, nebezpečí uvíznutí v loálním minimu 2. po aždém vetoru (Stochastic-Gradient Descent) rychlejší postup trénování při redundantních trénovacích datech rizio přetrénování na posledních pár vetorů z trénovací sady data je lepší předládat v náhodném pořadí 3. po předložení něolia vetorů (mini-batch training)

Ochrana proti přetrénování Rozdělení dat: trénovací, cross-validační, testovací sada Algoritmus New-Bob (simulované žíhání): 1. proveď jednu iteraci trénovaní 2. zjisti úspěšnost NN na CV sadě - poud přírůste je menší než 0.5%, sniž teplotu є o 1/2 - poud přírůste opětovně menší než 0.5%, zastav trénování 3. jdi na 1. Učící ro є můžeme interpretovat jao teplotu, s nižší teplotou lesá pohyblivost vah podobně jao je tomu u moleul plynu. Síť s menším počtem parametrů, úzým hrdlem Regularizace vah (weight-decay): do objetivní funce přidáme výraz terý penalizuje váhy s velou ladnou či zápornou hondotou)

Normalizace dat bez normalizace x~ = x µ x~ x µ = σ x 2 x 2 x 2 x 1 x 1 x 1 Transformujeme náhodné proměnné X, ta aby platilo: E[X] = 0; D[X] = 1 Dynamicý rozsah hodnot se přizpůsobí dynamicému rozsahu vah

Varianty neuronových síťí Umělé neuronové sítě mohou mít více než jednu srytou vrstvu: Současný trend pro large-scale problémy (rozpoznávání řeči či obrazu) jsou hluboé sítě (Deep Neural Networs) s něolia (typicy do 10) vrstvami a až desíty tisíc neuronů (miliony trénovatelných vah) Neuronovou síť lze použít pro jiné problémy než binární lasifiace: Regrese Neunorová síť muže aproximovat libovolnou (M-dimensionální) nelineární funci Typicy je použita lineární (či-li žádná) ativační funce na vytupu NN. Objetivní funce je typicy Mean Squared Error (pro N vzoru a M výstupů): Klasifiace do více tříd: Muticlass cross-entropy obetivní funce: E= E = N M n= 1 m= 1 n= 1 m= 1 ( t y ) m de t n,m, je 1 poud n-tý vzor patří do m-té třídy, jina je 0. Softmax nelinearita na výstupu zaručí, že výstupem jsou normalizované posteriorní pravděpodobnosti říd: M y m N M = exp n, m n, 2 t n,m logy n, m ( a )/ exp( a ) m i= 1 i

Support Vector Machines

Support Vector Machines SVM lineární lasifiátor s specificou objetivní funci: maximum margin y N = n= 1 T wn xn + b = w x + b V záladní variantě zvládne pouze dvě nepřerývající se lineárně separovatelné třídy

SVM ritérium Maximalizuje mezeru (margin) mezi dvěmi shluy dat R D

Lineární lasifiátor y = 0 y < 0 y > 0 x y(x) = w T x + b w T x w = - w b + y(x) w x 2 - b w y(x ) w. w w T x w x 1

Lineární lasifiátor y = 0 y = 1 y T = w x + b y = -1 Rozhodněme, že margin bude dán prostorem mezi přímami y=-1 a y=1 x 2 w Co se stane, dyž zrátíme vetor w?. x 1

Lineární lasifiátor y = 0 y = 1 y T = w x + b y = -1 Rozhodněme, že margin bude dán prostorem mezi přímami y=-1 a y=1 x 2. w Co se stane, dyž zrátíme vetor w? Margin se zvětší! Budeme hledat řešeni, de w je co nejratší a de margin odděluje data obou tříd. x 1

Trénování SVM Minimalizujeme: arg min S podmínami: t n 1 w, b 2 w T w T ( x + b) 1 w i n { 1,2,,N} N je počet trénovacích vetorů a t n { 1,1} udávají třídy pro jednotlivá trénovací data. Jedná se o problém tzv. vadraticého programování, což je speciální případ optimalizace s omezením (constrained optimization).

Co jsou to Support Vectors? Podpůrné vetory (support vectors) leží na oraji prázdné oblasti a přímo ovlivňují řešení Kdyby se ostatní data vypustila z trénovacího setu, výslede by se nezměnil x 2 x 2 ` ` ` `. ` x 1 x 1

Řešení Normálový vetor w definující rozhodovací hranici lze sestavit lineární ombinaci podpůrných vetoru: w = tiαixi > 0 i S α i Tato reprezentace umožňuje lasifiaci bez explicitního vyjádření vetoru w: y T = w x + b = tiαix i S T i x + b Podobně i vstupem do trénovacíhi mohou být he salární součiny mezi trénovacími daty možnost použití následujícího ernel triu.

Lineárně neseparovatelná úloha φ(x) Může být řešena nelineárním mapováním dat do nového prostoru (s více dimenzemi) x? φ(x) 2D 3D Pro SVM potřebujeme v novem prostoru spočítat salární součin mezi jaýmioli dvěma mapovanými vetory. To lze často udělat efetivněji bez explicitního mapovaní do noveho prostoru pomoci tzv. jádrové funce (ernel function) T K( x, y) = φ( x) φ( y)

Přílady jader Polynomiální jádro: T K( x, y) = (1 + x y) Přilad pro jednorozměrná data a d=2 K( x, y) = (1 + xy) 2 = 1+ 2xy + x 2 y 2 d = φ( x) T φ( y) Což odpovídá salárnímu součinu po mapování: ( ) 2 1, 2x, φ( x) T = x Radiální bázove funce: 1 T K( x, y) = exp ( x y) ( x y) 2 2σ Odpovídají salárnímu součinu po projeci do jistého neonečně dimensionálního prostoru vždy separovatelné třídy.

Přerývající se třídy Pro přerývající třídy uvedené řešení selže. Zavádějí se proměnné (slac variables), teré oslabí omezující podmíny x 2 ξ i x 1

Přerývající se třídy II Minimalizujeme S podmínami: min w w, b T w + C N n= 1 ξ n t T n( w xn ξ n 0 + b) 1 ξ n n =1K,, N První výraz maximalizuje mezeru (margin) mezi třídami a druhý penalizuje vzory porušující tento margin. C řídí ompromis mezi oběma výrazy. C odpovídá originální variantě pro separovatelná data.

Vlastnosti a použití SVM Výstup SVM nemá pravděpodobnostní interpretaci. neprediuje pravděpodobnost tříd pro daný vstup produuje ale měé sóre, teré lze přibližně na pravděpodobnost třídy převést. Objetivní funce má blíže maximalizaci počtu správně rozpoznaných než maximalizaci pravděpodobnost že vše je rozpoznáno dobře (objetivní funce logisticé regrese). Často používaný lasifiátor pro problémy se dvěma třídami. Rozšíření na více tříd je možné, ale ne ta přímočaré jao u pravděpodobnostních lasifiátorů. Hlavní výhoda oproti např. logisticé regresi je možnost implicitní nelineární transformace vstupů pomoci jader. Společná vlastnost všech jádrových metod (Kernel methods).

Software Existuje velni dobrá nihovna LibSVM http://www.csie.ntu.edu.tw/~cjlin/libsvm/ Funce v Matlabu: svmtrain, svmclassify