Klasifikace a rozpoznávání

Slides:



Advertisements
Podobné prezentace
Lineární klasifikátor
Advertisements

J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Cvičení 9 – Ekonomická funkce nelineární v parametrech :
Dualita úloh lineárního programování a analýza citlivosti
Algoritmy a struktury meuropočítačů ASN – C2
Rovnice roviny Normálový tvar rovnice roviny
SMS brána Eurotel Jednoduché OCR pomocí neuronových sítí Marek Kukačka
Programování numerických výpočtů - návrh písemky.
PA081 Programování numerických výpočtů Přednáška 2.
PA081 Programování numerických výpočtů
Problematika a metody zpracování biomed. dat z pohledu jejich klasifikace Marcel Jiřina.
A5M33IZS – Informační a znalostní systémy Datová analýza I.
Automatická fonetická segmentace pomocí UNS Registr - 36 neuronových sítí MLNN (pro každou českou hlásku jedna UNS) Trénovací množina: databáze promluv.
Topologie neuronových sítí (struktura, geometrie, architektura)
ASN - cvičení 2 : Ukázky práce s NN-Toolboxem
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Algoritmy a struktury neuropočítačů ASN - P1 Prof.Ing. Jana Tučková,CSc. Katedra teorie.
Lineární regresní analýza Úvod od problému
Algoritmy I Cvičení č. 4.
Automated data mining Ing. Jan Černý Czech Technical University in Prague Faculty of Information Technology.
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Strojové učení I (Mitchell93) učicí množina příkladů hledáme generalizaci učicí množiny ověřujeme na testovací množině pokrytí, přesnost, F-kriterium.
Využití umělých neuronových sítí k urychlení evolučních algoritmů
Regresní analýza a korelační analýza
Soustava lineárních nerovnic
Neuronové sítě Jakub Krátký.
Statistická mechanika - Boltzmannův distribuční zákon
Název školy: Základní škola a Mateřská škola Kladno, Vodárenská 2115 Autor: Mgr. Ilona Sadílková Materiál: VY_32_INOVACE_ICT35.01 Téma: Excel Číslo projektu:
BRVKA Georg F.B. Riemann ( ). BRVKA Známe různé inverzní procesy (i matematické), integrování je inverzní proces k derivování. Definice: I je.
Příklad postupu operačního výzkumu
Neuronové sítě Martin Vavřička Copyright 2004 © Martin Vavřička 2004 – V 53 ČVUT v Praze – fakulta Stavební.
TMF045 letní semestr 2005/2006 II Časová propagace vlnové funkce na mřížce I. (práce s momentovou reprezentací) (Lekce II)
Umělé neuronové sítě a Support Vector Machines
Kvadratické funkce, rovnice a nerovnice
Optimalizace versus simulace 9.přednáška. Obecně o optimalizaci  Maximalizovat nebo minimalizovat omezujících podmínkách.  Maximalizovat nebo minimalizovat.
Nelineární klasifikátory
Lineární regresní analýza
Reprezentace klasifikátoru pomocí „diskriminant“ funkce
Neuronové sítě Jiří Iša
Klasifikace klasifikace: matematická metoda, kdy vstupní objekty X(i) jsou rozřazovány do tříd podle podobnosti metody klasifikace bez učitele: podoba.
Odhad metodou maximální věrohodnost
Experimentální fyzika I. 2
Vektorová kvantizace (VQ) (Vector Quantization)
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Rozpoznávání v řetězcích
Vektorové prostory.
© Institut biostatistiky a analýz ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT prof. Ing. Jiří Holčík, CSc.
Aplikace Machine Learning v Image Processing Irena Váňová.
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
W i ref (t+1) = W i ref (t) + h ci (t) [X(t) - W i ref (t)], i Nc h ci (t) 0, t  proces konverguje Algoritmy a struktury neuropočítačů ASN – P3 SOM algoritmus.
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Aproximace parciálních diferenciálních rovnic – Galerkinova metoda
Algoritmy a struktury neuropočítačů ASN - P14 Hopfieldovy sítě Asociativní paměti rekonstrukce původních nezkreslených vzorů předkládají se neúplné nebo.
Dita Matesová, David Lehký, Zbyněk Keršner
(řešení pomocí diskriminantu)
Kvadratické nerovnice
Klasifikace a rozpoznávání
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Neuronové sítě.
Klasifikace a rozpoznávání Lineární klasifikátory.
EMM21 Ekonomicko-matematické metody 2 Prof. RNDr. Jaroslav Ramík,CSc.
Základy zpracování geologických dat R. Čopjaková.
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Korelace. Určuje míru lineární vazby mezi proměnnými. r < 0
ANALÝZA A KLASIFIKACE DAT
Klasifikace a rozpoznávání
Regresní analýza výsledkem regresní analýzy je matematický model vztahu mezi dvěma nebo více proměnnými snažíme se z jedné proměnné nebo lineární kombinace.
Neuronové sítě.
ANALÝZA A KLASIFIKACE DAT
Pokročilé neparametrické metody Validační techniky
Transkript prezentace:

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

Lineární klasifikátory x1 w1 a Σ f(.) y w2 x2 b Nevýhoda: pouze lineární rozhodovací hranice Možné řešení: Použít jiný než lineární klasifikátor (např. GMM) Nelineární transformace vstupních vektorů: Postavit hierarchii lineárních klasifikátorů Ale jakou transformaci použít?

Hierarchie lineárních klasifikátorů Σ f(.) h1 x1 w12 a1 h2 x2 a2 w11 w21 w22 y w31 w32 a3 b1 b2 b3 Napřed natrénujeme modrý a zelený klasifikátor tak aby oddělily každý cluster modrých dat od zbytku. Potřebujeme supervizi: Které modré data patří do kterého clusteru? Pak natrénujeme červený klasifikátor na pravděpodobnostních výstupech modrého a zeleného klasifikátoru x2 h2  x1 h1

Neuronové sítě pro klasifikaci Σ f(.) h1 x1 w12 a1 h2 x2 a2 w11 w21 w22 y w31 w32 a3 b1 b2 b3 Takovýto hierarchický klasifikátor můžeme trénovat jako celek bez nutnosti předchozí supervize. Jedná se o jednoduchou neuronovou síť (Neural Network) pro binární klasifikační problém „Klasifikátory“ v první vrstvě se mají samy naučit jaké clustery je v datech třeba identifikovat, aby finální lineární klasifikátor mohl oddělit třídy. lze vidět jako nelineární transformaci do prostoru, kde jsou třídy dobře lineárně separovatelné. představují tzv. skrytou vrstvu

Neuron a jeho matematický model y f(.) a Σ b w1 w2 x1 x2 Zjednodušená abstrakce fyzického neuronu, inspirace v přírodě Zdroj ilustrace: wikipedia

Trénování neuronové sítě Uvažujme jednoduchý případ binárního klasifikátoru. Stejně jako u logistické regrese použijeme jako objektivní funkci pravděpodobnost, že všechny trénovací vstupní vektory xn jsou rozpoznány správně: Kde yn je pravděpodobnost třidy C1predikovaná výstupem neuronové sítě pro vzor xn. t je vektor korektních identit tříd: tn = 1 resp. tn = 0, pokud xn paří do třídy C1 resp. C2. Opět se nám bude lepe pracovat se (záporným) logaritmem této objektivní funkce, tedy vzájemnou entropii: Opět budeme parametry (váhy neuronové sítě) optimalizovat pomoci metody gradient descend:

Takzvaná chyba na výstupu Dosazením pak dostaneme Zpětné šíření chyby Potřebujeme vypočítat gradient chyby: (zde jsou vzorce jen pro jeden vzor trénovacích dat) Nejprve určíme gradient vah mezi skrytou a výstupní vrstvou: Zde předpokládáme, že všechny aktivační funkce jsou logistické sigmoidy f(a) = σ(a) a víme,ze derivace σ’(a) = σ(a) (1- σ(a)) = y (1 - y). h1 h2 Σ f(.) y w31 w32 a3 b3 Řetězové pravidlo: chyba E je složená funkce závislá na váze wm,j přes aktivaci a3 a výstup y Takzvaná chyba na výstupu

Zpětné šíření chyby II Nyní určíme gradient vah mezi vstupní a skrytou vrstvou: Opět řetězové pravidlo: chyba E je složená funkce závislá na váze wj,n přes aktivaci aj a výstup hj první vrstvy a dále přes aktivaci a3 a výstup druhé vrstvy Podobným výpočtem jako pro výstupní vrstvu a využitím už spočítaného δ3: Chyba na výstupu δ3 se zpětně se propaguje do „chyby“ ve skryte vrsve δk Σ f(.) h1 x1 w12 a1 h2 x2 a2 w11 w21 w22 y w31 w32 a3 b1 b2 b3

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

Úprava vah Úpravu vah lze provádět: po předložení všech vektorů trénovací sady (batch training) gradienty pro jednotlivé vzory z předchozích slajdů se akumulují pomalejší konvergence, nebezpečí uvíznutí v lokálním minimu po každém vektoru (Stochastic-Gradient Descent) rychlejší postup trénování při redundantních trénovacích datech riziko přetrénování na posledních pár vektorů z trénovací sady data je lepší předkládat v náhodném pořadí 3. po předložení několika vektorů (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í): proveď jednu iteraci trénovaní zjisti úspěšnost NN na CV sadě - pokud přírůstek je menší než 0.5%, sniž „teplotu“ є o 1/2 - pokud přírůstek opětovně menší než 0.5%, zastav trénování 3. jdi na 1. Síť s menším počtem parametrů, úzkým hrdlem Regularizace vah (weight-decay): do objektivní funkce přidáme výraz který penalizuje váhy s velkou kladnou či zápornou hondotou) Učící krok є můžeme interpretovat jako teplotu, s nižší teplotou klesá pohyblivost vah podobně jako je tomu u molekul plynu.

Normalizace dat bez normalizace Transformujeme náhodné proměnné X, tak aby platilo: E[X] = 0; D[X] = 1 Dynamický rozsah hodnot se přizpůsobí dynamickému rozsahu vah

Varianty neuronových síťí Umělé neuronové sítě mohou mít více než jednu skrytou vrstvu: Současný trend pro large-scale problémy (rozpoznávání řeči či obrazu) jsou hluboké sítě (Deep Neural Networks) s několika (typicky do 10) vrstvami a až desítky tisíc neuronů (miliony trénovatelných vah) Neuronovou síť lze použít pro jiné problémy než binární klasifikace: Regrese Neunorová síť muže aproximovat libovolnou (M-dimensionální) nelineární funkci Typicky je použita lineární (či-li žádná) aktivační funkce na vytupu NN. Objektivní funkce je typicky Mean Squared Error (pro N vzoru a M výstupů): Klasifikace do více tříd: Muticlass cross-entropy obektivní funkce: kde tn,m, je 1 pokud n-tý vzor patří do m-té třídy, jinak je 0. Softmax nelinearita na výstupu zaručí, že výstupem jsou normalizované posteriorní pravděpodobnosti říd:

Support Vector Machines

Support Vector Machines SVM lineární klasifikátor s specifickou objektivní funkci: maximum margin V základní variantě zvládne pouze dvě nepřekrývající se lineárně separovatelné třídy

SVM kritérium Maximalizuje mezeru (margin) mezi dvěmi shluky dat R D

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

Lineární klasifikátor y = 1 y = Rozhodněme, že margin bude dán prostorem mezi přímkami y=-1 a y=1 Co se stane, když zkrátíme vektor w? y = -1 x 2 w . x 1

Lineární klasifikátor y = 1 y = y = -1 Rozhodněme, že „margin“ bude dán prostorem mezi přímkami y=-1 a y=1 Co se stane, když zkrátíme vektor w? Margin se zvětší! Budeme hledat řešeni, kde w je co nejkratší a kde „margin“ odděluje data obou tříd. x 2 w . x 1

Trénování SVM Minimalizujeme: S podmínkami: N je počet trénovacích vektorů a udávají třídy pro jednotlivá trénovací data. Jedná se o problém tzv. kvadratického programování, což je speciální případ optimalizace s omezením (constrained optimization).

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

Řešení Normálový vektor w definující rozhodovací hranici lze sestavit lineární kombinaci podpůrných vektoru: Tato reprezentace umožňuje klasifikaci bez explicitního vyjádření vektoru w: Podobně i vstupem do trénovacíhi mohou být he skalární součiny mezi trénovacími daty  možnost použití následujícího „kernel triku“.

Lineárně neseparovatelná úloha Může být řešena nelineárním mapováním dat do nového prostoru (s více dimenzemi) Pro SVM potřebujeme v novem prostoru spočítat skalární součin mezi jakýmikoli dvěma mapovanými vektory. To lze často udělat efektivněji bez explicitního mapovaní do noveho prostoru pomoci tzv. jádrové funkce (kernel function) ? 2D 3D

Příklady jader Polynomiální jádro: Radiální bázove funkce: Přiklad pro jednorozměrná data a d=2 Což odpovídá skalárnímu součinu po mapování: Radiální bázove funkce: Odpovídají skalárnímu součinu po projekci do jistého nekonečně dimensionálního prostoru  vždy separovatelné třídy .

Překrývající se třídy Pro překrývající třídy uvedené řešení selže. Zavádějí se proměnné (slack variables), které oslabí omezující podmínky x2 ξi x1

Překrývající se třídy II Minimalizujeme S podmínkami: První výraz maximalizuje mezeru (margin) mezi třídami a druhý penalizuje vzory porušující tento margin. C řídí kompromis 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. nepredikuje pravděpodobnost tříd pro daný vstup produkuje ale měkké skóre, které lze přibližně na „pravděpodobnost třídy“ převést. Objektivní funkce má blíže k maximalizaci počtu správně rozpoznaných než k maximalizaci pravděpodobnost že vše je rozpoznáno dobře (objektivní funkce logistické regrese). Často používaný klasifikátor pro problémy se dvěma třídami. Rozšíření na více tříd je možné, ale ne tak přímočaré jako u pravděpodobnostních klasifikátorů. Hlavní výhoda oproti např. logistické 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á knihovna LibSVM http://www.csie.ntu.edu.tw/~cjlin/libsvm/ Funkce v Matlabu: svmtrain, svmclassify