Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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

Podobné prezentace


Prezentace na téma: "1 Umělé neuronové sítě a Support Vector Machines Petr Schwraz"— Transkript prezentace:

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

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

3 3 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?

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

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

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

7 7 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ů x1x1 x2x2 xNxN y1y1 y2y2 yMyM vstupní

8 8 Co umí třívrstvá síť Neurony ve druhé vrstvě (skryté) mají přenosovou funkci Sigmoidu, výstupní neuron má lineární přenosovou funkci x1x1 x2x2 2 ¨ b 1 =5 b 2 =8 b 3 =0 1 1

9 9 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

10 10 Normalizace dat 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 bez normalizace

11 11 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 0 target pro třídu 1 target pro třídu 2

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

13 13 Zpětné šíření chyby Zjednodušení zápisu: w 0 =b, x 0 =1 Hledáme minimum chyby kde y i je výstup i-tého neuronu výstupní vrstvy, t i 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

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

15 15 Úprava vah Úpravu vah lze dělat: 1. po předložení všech vektorů trénovací sady (chyby se akumulují) ´- nejsprávnější přístup, ale pomalý 2.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ů

16 16 Ochrana proti přetrénování používá se krosvalidační sada algoritmus New Bob: 1.proved jednu iteraci trénovaní 2.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.

17 17 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

18 18 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

19 19 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

20 20 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

21 21 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

22 22 SVM – chybové kritérium Maximalizuje mezeru (margin) mezi dvěmi shluky dat x1x1 x2x2

23 23 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! x1x1 x2x2 w

24 24 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|.

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

26 26 Geometrická reprezentace II

27 27 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 w 2

28 28 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)

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

30 30 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.

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

32 32 Ř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í

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

34 34 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 x1x1 x2x2 support vectors

35 35 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

36 36 Příklad jádra Bod x=(x 1, x 2 ) Projekce do vícedimenzionárního prostoru může být Φ(x)={x 1, x 2, x 1 2, x 2 2 } K(x, y) = = x 1 y 1 + x 2 y 2 + x 1 2 y x 2 2 y 2 2,což potřebuje 8 nasobení a 4 součty Toto muže být přepsáno na K(x, y) =x 1 (y 1 + x 1 y 1 2 )+ x 2 (y 2 + x 2 ) y 2 2, což potřebuje 6 nasobení a 3 součty

37 37 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 x1x1 x2x2 ξiξi

38 38 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

39 39 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

40 40 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

41 41 Software Existuje velni dobrá knihovna LibSVM

42 42 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.


Stáhnout ppt "1 Umělé neuronové sítě a Support Vector Machines Petr Schwraz"

Podobné prezentace


Reklamy Google