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

Slides:



Advertisements
Podobné prezentace
PLAYBOY Kalendar 2007.
Advertisements

Lineární klasifikátor
Téma 5 Metody řešení desek, metoda sítí.
TEORIE ROZHODOVÁNÍ A TEORIE HER
OBECNÉ OPTIMALIZAČNÍ MODELY
Dualita úloh lineárního programování a analýza citlivosti
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
*Zdroj: Průzkum spotřebitelů Komise EU, ukazatel GfK. Ekonomická očekávání v Evropě Březen.
Algoritmy a struktury meuropočítačů ASN – C2
SMS brána Eurotel Jednoduché OCR pomocí neuronových sítí Marek Kukačka
PROGRAM PRO VÝUKU T ČLÁNKU
Téma 3 ODM, analýza prutové soustavy, řešení nosníků
Lineární regresní analýza Úvod od problému
Regulační diagram je to základní grafický nástroj statistické regulace procesu, který umožňuje posoudit statistickou zvládnutost procesu statisticky zvládnutý.
Algoritmy I Cvičení č. 4.
Dynamické rozvozní úlohy
Násobíme . 4 = = . 4 = = . 4 = = . 2 = 9 .
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í.
Zápis čísla v desítkové soustavě
Téma: SČÍTÁNÍ A ODČÍTÁNÍ CELÝCH ČÍSEL 2
Vizualizace projektu větrného parku Stříbro porovnání variant 13 VTE a menšího parku.
Vzdělávací materiál / DUMVY_32_INOVACE_02B14 Příkazový řádek: obsah souborů PŘÍKLADY AutorIng. Petr Haman Období vytvořeníLeden 2013 Ročník / věková kategorie3.
Lineární rovnice Běloun 91/1 a
MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA reg. č.: CZ.1.07/1.4.00/ Základní škola, Šlapanice, okres Brno-venkov, příspěvková organizace Masarykovo nám.
Klasifikace a rozpoznávání
VY_32_INOVACE_ 14_ sčítání a odčítání do 100 (SADA ČÍSLO 5)
Základní číselné množiny
Neuronové sítě Jakub Krátký.
Získávání informací Získání informací o reálném systému
Zábavná matematika.
Dělení se zbytkem 6 MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA
Dělení se zbytkem 5 MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA
Plošné konstrukce, nosné stěny
Jazyk vývojových diagramů
Nejmenší společný násobek
Čtení myšlenek Je to až neuvěřitelné, ale skutečně je to tak. Dokážu číst myšlenky.Pokud mne chceš vyzkoušet – prosím.
Únorové počítání.
Posloupnosti, řady Posloupnost je každá funkce daná nějakým předpisem, jejímž definičním oborem je množina všech přirozených čísel n=1,2,3,… Zapisujeme.
Násobení zlomků – teorie a cvičení VY_32_INOVACE_19
Zásady pozorování a vyjednávání Soustředění – zaznamenat (podívat se) – udržet (zobrazit) v povědomí – představit si – (opakovat, pokud se nezdaří /doma/)
Houževnatost Základní pojmy (tranzitní lomové chování ocelí, teplotní závislost pevnostních vlastností, fraktografie) (Empirické) zkoušky houževnatosti.
Cvičná hodnotící prezentace Hodnocení vybraného projektu 1.
Fyzika 2 – ZS_4 OPTIKA.
Lineární rovnice – 1. část
FRÉZOVÁNÍ DĚLÍCÍM ZPŮSOBEM
MS PowerPoint Příloha - šablony.
Téma: ABSOLUTNÍ HODNOTA CELÝCH ČÍSEL 2
1 Celostátní konference ředitelů gymnázií ČR AŘG ČR P ř e r o v Mezikrajová komparace ekonomiky gymnázií.
Technické kreslení.
Jazyk vývojových diagramů
ANALÝZA VÝSLEDKŮ LINEÁRNÍHO OPTIMALIZAČNÍHO MODELU
Přednost početních operací
DĚLENÍ ČÍSLEM 5 HLAVOLAM DOPLŇOVAČKA PROCVIČOVÁNÍ Zpracovala: Mgr. Jana Francová, výukový materiál EU-OP VK-III/2 ICT DUM 50.
Slovní úlohy řešené soustavou rovnic
Regrese Aproximace metodou nejmenších čtverců
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Gymnázium, Broumov, Hradební 218
Autor: Ondřej Šimeček Verze: 1.1.3
Experimentální fyzika I. 2
Gradientní metody Metoda největšího spádu (volný extrém)
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í.
Dita Matesová, David Lehký, Zbyněk Keršner
Neuronové sítě.
Klasifikace a rozpoznávání Lineární klasifikátory.
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Klasifikace a rozpoznávání
Neuronové sítě.
Neuronové sítě.
Transkript prezentace:

Umělé neuronové sítě a Support Vector Machines Petr Schwraz schwarzp@fit.vutbr.cz

Perceptron (1 neuron) f() y xi – vstupy neuronu wi – váhy jednotlivých vstupů b – aktivační práh f() – nelineární funkce

Co umí perceptron? Chceme klasifikovat mezi dvěmi třídami, řekněme, že: pokud y>=0, vstupní vektor spadá do třídy 1. pokud y<0, vstupní vektor spadá do třídy 2. Pro zjednodušení náš vstupní vektor má pouze dvě dimenze, předpokládejme f(a)=a Kde je hranice mezi třídami?

Co umí perceptron? II => x1 x2 hranice mezi třídami je přímka => lze řešit pouze lineárně separovatelný problém

Transformační funkce f(a) Nejprve bez ni: f(a) = a, w1=2, w2=4, b=5

Transformační funkce f(a) II Sigmoida Omezuje dynamický rozsah výstupu neuronu v místě, kde si je neuron jist

Třívrstvá dopředná neuronová síť je schopna aproximovat libovolnou nelineární funkci první vrstva pouze kopíruje vstup, dvě vrstvy neuronů M výstupních neuronů 1 2 3 vstupní x1 y1 x2 y2 xN yM

Co umí třívrstvá síť Neurony ve druhé vrstvě (skryté) mají přenosovou funkci Sigmoidu, výstupní neuron má lineární přenosovou funkci x1 x2 2 ¨4 -2 b1=5 b2=8 b3=0 1

Trénování síté Pro experiment je potřeba mít tři sady dat: trénovací, krosvalidační, testovací Sady obsahují vektory parametrů a požadované výstupní vektory neuronové sítě (targets) Je dobré data nejprve normalizovat Je potřeba správně zvolit chybovou funkci Je potřeba správně zvolit trénovací algoritmus

Normalizace dat bez normalizace z každého vektoru se odečte vektor středních hodnot odhadnutý na trénovací sadě a pak se vektor podělí vektorem směrodatných odchylek Dynamický rozsah hodnot se přizpůsobí dynamickému rozsahu vah

Kriteriální funkce ; t je target (chtěná hodnota) nejmenší čtverce (minimum square error) chybová funkce je citlivá na vyvážení dat setu pro jednotlivé třídy je citlivá na distribuci dat uvnitř tříd y-t target pro třídu 1 target pro třídu 2

Back propagation Váhy a prahy sítě se nainicializují náhodně Pošlou se data skrze síť Vypočte se chyba Chyba se pošle zpět sítí Podle chyby se upraví jednotlivé váhy a prahy

Zpětné šíření chyby Zjednodušení zápisu: w0=b, x0=1 Hledáme minimum chyby kde yi je výstup i-tého neuronu výstupní vrstvy, ti je chtěná hodnota i-tého neuronu výstupní vrstvy, je váha z j-tého neuronu skryté vrstvy k i-tému neuronu výstupní vrstvy, je výstup z j-tého neuronu skryté vrstvy

Zpětné šíření chyby II Chyba váh mezi skrytou a výstupní vrstvou: oh – output-hidden Chyby neuronů ve skryté vrstvě: Chyby vah mezi vstupní a skrytou vrstvou: hi –hidden-input

Úprava vah Úpravu vah lze dělat: po předložení všech vektorů trénovací sady (chyby se akumulují) ´- nejsprávnější přístup, ale pomalý po každém vektoru - rychlé trénování - riziko, že se síť natrénuje na posledních pár vektorů z trénovací sady - nelze optimálně využít cache procesoru 3. po předložení několika vektorů

Ochrana proti přetrénování používá se krosvalidační sada algoritmus New Bob: proved jednu iteraci trénovaní zjisti úspěšnost NN na CV sadě - pokud přírustek je menší než 0.5%, sniž rychlost trénování na ½ ( ) - pokud přírustek opětovně menší než 0.5%, zastav trénování jdi na 1.

Implementace NN Trénovací algoritmus a i dopředný průchod sítí lze zapsat maticově (viz. diplomová práce - Stanislav Kontár), používají se akcelerované knihovny pro maticový počet (BLAS, ATLAS) Optimální využití cache procesoru Zarovnaní všech paměťových struktur na 16-ky bytes pro SIMD instrukce procesoru (SSE) Software: Matlab, QuickNet, SNet

Pravděpodobnostní interpretace výstupů neuronových sítí Ze statistiky: pravděpodobnost lze transformovat z intervalu 0÷1 do intervalu -∞÷∞ pomocí funkce logit, kde se dobře modeluje: a nazpět: vzorec je již použitá Sigmoida

SoftMax Chceme aby součet všech výstupů NN byl 1: Lze zajistit SoftMaxem - nelineární funkcí na výstupu NN, která jednotlivé výstupy spojuje: SoftMax se většinou pojí s Cross-entropy chybovým kritériem: - klade větší důraz na chyby z hlediska pravděpodobnosti – když je má být výstup 1, nikdy nemůže být 0

SoftMax II Herman Ney – On the Probabilistic Interpretation of Neural Network Classifiers and Discriminative Training Criteria – ukazal, že chybové funkce „Minimum Square Error“ a „Cross-Entropy“ vedou na dobrý pravděpodobnostní výstup NN i bez SoftMaxu SoftMax nelze přímo derivovat, používá se aproximace – výstup není závislý na ostatních

Support Vector Machines SVM je perceptron (jeden neuron) s lineární výstupní funkcí Rozdíl a výhoda je v trénovacím algoritmu !!! V základní verzi zvládne pouze lineárně separovatelnou, a dvě nepřekrývající se třídy y

SVM – chybové kritérium Maximalizuje mezeru (margin) mezi dvěmi shluky dat x2 x1

Jak hýbat s mezerou mezi shluky? Máme diskriminační linii, která je dána normálovým vektorem w (váhy) I když se mění délka w (označíme |w|), tak sklon linie zůstává stejný (offset je dán prahem b) Pokud se mění |w|, tak se linie posouvá Tohoto můzeme využít! x1 x2 w

Příklad ve 2D Rovnice diskriminační linie Pokud násobíme w libovolnou konstantou, směrnice přímky ( ) se nemění Přímka se vzdaluje od počátku nepřímo úměrně |w|.

Geometrická reprezentace Mámě dva body Chceme aby pro jednu třídu dával klasifikátor hodnoty 1 a pro druhou -1: <w.x+>+b=+1, <w.x->+b=-1 Hodnoty na výstupu klasifikátoru nemají odpovídající geometrický vztah k datům, proto normalizujeme vektor w jeho délkou x2 x+ x- x1

Geometrická reprezentace II

Trénování SVM Minimalizujeme délku |w|, čímž roztahujeme mezeru mezi shluky, hledáme optimální b a zároveň zavádíme omezující podmínky, aby mezera „nešla“ do dat. Minimalizace |w| je problematická, protože obsahuje odmocninu, proto raději budeme minimalizovat w2

Trénování SVM II Minimalizujeme S podmínkami: l je počet trénovacích vektorů K minimalizaci se používá metoda Lagrangeových násobitelů (Lagrange multipliers)

Trénování SVM III – zápis pomocí Lagrangianu Minimalizujeme Podmínka V místě řešení platí Lagrangian:

Důalní úloha Při minimalizaci se obvykle Lagrangian zderivuje, položí nule a najde minimum Při trénování SVM se ale přechází na „duální úlohu“ nebo „duální problém“, která zjednodušuje řešení a umožňuje použití skalárních součinů mezi daty (tzv. jader nebo kernels) Duální úloha má stejné řešení jako původní (primarní) úloha a existuje pro linearní nebo kvadratické úlohy.

Přechod na duální úlohu Dosazením zpět do Lagrandgianu Dostali jsme funkci jedné proměnné, kterou maximalizujem s podmínkami a

Řešení Řešením je vektor vah získaný váhováním trénovacích dat Tato reprezentace umožňuje zavedení skalárních součinů mezi daty (jader, kernels) i při klasifikaci

Řešení II Práh b nelze získat z duální úlohy, proto je nutné dosadit do podmínek primární úlohy.

Co jsou to Support Vectors? Jsou to vektory které leží na okraji prázdné oblasti a přímo ovlivňují řešení Pro ostatní vektory bude αi=0 a kdyby se vypustily z trénovacího setu, výsledek by se nezměnil x1 x2 support vectors

Lineárně neseparovatelná úloha Může být řešena mapováním dat do prostoru s více dimenzemi Jádra mohou být počítána optimálně bez přímého mapování ? 2D 3D

Příklad jádra Bod x=(x1, x2) Projekce do vícedimenzionárního prostoru může být Φ(x)={x1, x2, x12, x22} K(x, y) = <Φ(x). Φ(y)> = x1 y1+ x2 y2+ x12 y12+ x22 y22,což potřebuje 8 nasobení a 4 součty Toto muže být přepsáno na K(x, y) =x1 (y1+ x1 y12)+ x2 (y2+ x2) y22, což potřebuje 6 nasobení a 3 součty

Překrývající se třídy Pro překrývající třídy uvedene řešení selže. Zavádějí se promně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í term maximalizuje mezeru mezi shluky dat a druhý minimalizuje takzvanou strukturální chybu C udává důležitost strukturální chyby Pokud je C velké, SVM funguje podobne jako perceptron

Rank normalizace Sjednocuje dynamický rozsah parametrů Normalizuje libovolné rozložení na uniformní v intervalu 0 až 1 Hodnoty každé dimenze vektoru parametrů jsou nahrazeny indexem do vektoru získaného seřazením všech hodnot odpovídající dimenze z trénovacího setu a znormovány do intervalu 0 až 1

Použití Výhodné při znalosti jednoho pozitivního vzoru a velkého množství negativních (rozbalancovaná data) Při velmi velkých dimenzích vstupních vektorů Při řídkých datech

Software Existuje velni dobrá knihovna LibSVM http://www.csie.ntu.edu.tw/~cjlin/libsvm/

Závěr Důležité je vždy nejdříve důkladně zapřemýšlet nad úlohou a podle toho zvolit správný klasifikátor, než se snažit bezhlavě optimalizovat náhodně vybraný klasifikátor na pro něj nevhodnou úlohu.