Základy vytěžování dat předmět A7Bb36vyd Vytěžování dat Filip Železný, Miroslav Čepek, Radomír Černoch, Jan Hrdlička katedra kybernetiky a katedra počítačů ČVUT v Praze, FEL Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Testování a kombinování modelů Odkaz na výukové materiály: https://cw.felk.cvut.cz/doku.php/courses/a7b36vyd/moduly/start (oddíl 6) Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Vytěžování dat, přednáška 11: Testování modelů Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 31 Testování modelů
Chyba modelu Jak zjistíme jestli je vytvořený model dobrý a případně jak moc je dobrý? Musíme jej vyzkoušet. Zkusíme aplikovat model na data a podíváme se, jak model funguje... Ale na jaká data? Ideálně na všechny vstupní vzory, které se kdy mohou objevit (a ideálně i se stejnou distribucí). Ale takových je nekonečně mnoho. Ale máme (snad) reprezentativní vzorek trénovací množinu. 2 / 31 Testování modelů
Chyba na trénovacích datech Můžeme zjistit chybu modelu na trénovacích datech? No jasně, můžeme. A je to dobrý odhad chyby modelu na neznámých datech? Ne, není! Proč? Vůbec totiž neříká, jak se bude model chovat pro neznámá data. 3 / 31 Testování modelů
Špatný model Představme si klasifikační metodu, která si jen zapamatuje vstupní vzory a pokud přijde na vstup zapamatovaný vzor, odpoví zapamatovanou třídou. Jinak odpoví NIL. Trénovací data: x 1 x 2 x 3 x 4 y 1.0 1.0 1.5 1.8 A 1.0 1.1 1.4 1.7 A 2.0 2.0 1.9 0.9 B 2.0 0.0 1.8 1.1 B Jakou má chybu na trénovacích datech? Nulovou! A jakou chybu bude mít na neznámém vzoru? Třeba (1.1, 1.05, 1.55, 1.85). 100%. Čili nedokáže generalizovat! Neumí zobecnit vlastnosti, které jsou schované v trénovacích datech. 4 / 31 Testování modelů
Přeučení Druhým a neméně důležitým problémem je přeučení. Jde o to, že model se naučí i závyslosti, které v datech nejsou. Představte si, že se snažím predikovat, zda bude pršet, svítit sluníčko nebo bude zataženo, podle toho, jaká je teplota a vlhkost vzduchu. Při měření se ale občas přehlédnu a zapíši špatný údaj. http://perclass.com/doc/guide/classifiers.html 5 / 31 Testování modelů
Trénovací data Ale tyto nechci, aby se tyto chyby model naučil. Naopak chci, aby ostatní (správná) data tyto chyby překryla. 6 / 31 Testování modelů
Testovací data Jak se tedy vyzrát na tento problém? Respektive, jak zjistit, jestli je model opravdu dobrý? Zkusím jej na datech, které model neviděl při učení! Tímto získám nevychýlený odchad chyby modelu na skutečných (doposud neznámých) datech. 7 / 31 Testování modelů
Chyba na trénovacích a Testovacích datech 8 / 31 Testování modelů
Trénovací a testovací data Jak získat trénovací a testovací množinu? Už jsme na to narazili rozdělím náhodně data na trénovací a testovací část. Proč náhodně? Nemůžu jen vzít první a druhou polovinu instancí? 9 / 31 Testování modelů
Chyba modelu při jiných testovacích datech Když zkusím spočítat chybu modelu na jiných testovacích datech, získám stejnou chybu? (nejen) Chybovost modelu je vlastně náhodná veličina s (většinou) normálním rozdělením. Tím, že spočítám chybu na testovací množině, získám jednu realizaci náhodné proměnné. Když budu počítat chybu na různých testovacích množinách, získám několik realizací chybové náhodné proměnné a můžu spočítat průměrnou chybu a získat tak představu, jak moc je jeden konkrétní model dobrý/špatný. 10 / 31 Testování modelů
Chyba modelu při jiných trénovacích datech Když znovu spustím učení modelu, vznikne mi vždy naprosto stejný model? Teď už vím, jak moc je špatný jeden model. Ale co když mám smůlu a tento model se naučil výrazně hůře/lépe než jiný model vytvořený stejnou metodou. Vím jak moc je dobrá jedna BP neuronová síť, ale jak moc jsou dobré všechny BP neuronové sítě? A jsou lepší než naivní bayesovská síť? Zase parametry chyby jedné realizace modelu jsou jen náhodnými proměnnými všech modelů naučených na tato data. 11 / 31 Testování modelů
Statistika chyb Takže průměrná chyba jednoho modelu je zase jen jedna z množných realizací náhodné veličiny hodnota průměru všech modelů této modelovací metody. Čili, pokud vytvořím a spočítám průměrnou chybu pro jeden model, nemusí to nic znamenat o jiných modelech naučených stejnou technikou.!pomoc! 12 / 31 Testování modelů
X-fold cross validace (1) Řešením je opakovaně rozdělovat data na trénovací a testovací množinu. A to buď náhodně a nebo nějak systematicky. A uznávaný systematický přístup je křížová validace. Ta funguje tak, že data rozdělím do N částí. Zlatý standard je poružít 10 částí. Pak se mluví o 10 cross fold validation. A to buď náhodně nebo i podle pořadí. 13 / 31 Testování modelů
X-fold cross validace (2) A model pak postavím na N-1 částech (foldech) a na poslední model otestuji. Tím získám jeden odhad chyby. Posunu se o jedna doprava a zase postavím model na (N-1) částech a na zbylém otestuji. 14 / 31 Testování modelů
X-fold cross validace (3) Takto získám N odhadů chyby. Z toho již dokáži spočítat statistiku například průměrnou chybu klasifikátoru a získat tak poměrně přesný (uvěřitelný) odhad chyby dané klasifikační metody na předložených datech. Navíc s těmito N odhady mohu provádět další statistické testy a vizualizace (boxploty, t-testy,...) Navíc každý vstupní vzor bude v testovací množině právě jednou. Čili získám představu, jak klasifikátor bude fungovat pro tento konkrétní vzor. 15 / 31 Testování modelů
Použití křížové validace Možné příklady použití křížové validace: odhad přesnosti modelu na datech, Provedu křížovou validaci a průměr chyb z každé z N validací je nevychýleným odhadem chyby modelu. výběr vhodných parametrů modelu, Vytvořím modely s různými parametry a na každý z nich spustím křížovou validaci. A opět spočítám pro každé nastavení modelu průměrnou chybu z křížové validace a vyberu tu konfiguraci (ty parametry), které mají nejmenší průměrnou chybu. porovnání modelovacích metod. Pro každou modelovací metodu spočítám průměrnou chybu pomocí křížové validace a vyberu tu metodu, která má nejmenší průměrnou chybu. 16 / 31 Testování modelů
Validační množina Zejména při použití křížové validace pro určení parametrů se ještě používá tzv. validační množina. Jde o to, že před začátkem křížové validace z dat odeberu část validační množinu. Na zbytku spustím křížovou validaci a najdu optimální parametry. Pak naučím model s těmito optimálními parametry na celé datové množině, kterou jsem předtím použil pro křížovou validaci a abych měl jistotu, že učení modelu dopadlo dobře, naučený model nechám oklasifikovat validační množinu a spočítám validační chybu. 17 / 31 Testování modelů
Nevýhoda trénovacích/testovacích/validačních chyb Představme si datovou množinu se dvěma třídami zdraví pacienti a nemocní pacienti. Zdravých pacientů je 95% dat a nemocných je zbývajících 5% pacientů. Jakou chybu na testovacích datech (vybraných jako podmnožinu z tohoto datasetu) bude mít klasifikátor, který bude předpovídat, že všichni pacienti jsou v pořádku? 95% to je super klasifikátor! Ale dělá něco užitečného? NE! Takový klasifikátor je k ničemu. Dokáži zjistit z testovací chyby, že klasifikátor provádí něco takového? 18 / 31 Testování modelů
Matice záměn Řešením je matice záměn. 19 / 31 Testování modelů
Specificita a senzitivita (1) Pokud mám binární klasifikátor (tj klasifikátor, který zařazuje do dvou tříd), mohu čísla v matici záměn kvantifikovat číslem. Často se používá specificita a senzitivita. Abychom je dokázali spočítat, musíme se nejdřív zamyslet nad zavést pojmy: Positive examples jedna z tříd binárního klasifikátoru (v našem příkladě lidé mající nemoc). Negative examples druhá z tříd (v našem příkladě zdraví lidé). 20 / 31 Testování modelů
Specificita a senzitivita (2) True positives (TP) vzory, které model správně označil jako pozitivní (tj lidé, kteří jsou ve skutečnosti jsou nemocní a model je také označil za nemocné). True negatives (TN) vzory, které model správně označil jako negativní (tj lidé, kteří jsou ve skutečnosti jsou zdraví a model je také označil za zdravé). False positives (FP) vzory, které model mylně označil jako pozitivní (tj lidé, kterí jsou ve skutečnosti zdraví, ale model je označil za nemocné). False negatives (FN) vzory, které model mylně označil jako negativní (tj lidé, kterí jsou ve skutečnosti nemocní, ale model je označil za zdravé). 21 / 31 Testování modelů
Specificita a senzitivita (2) Když se podívám do matice záměn, můžu přímo zjistit počty vzorů spadající do jednotlivých škatulek (TP, TN, FP, FN). Actually positive Actually negative Predicted positive #True positives #False positives Predicted negative #False negatives #True negatives 22 / 31 Testování modelů
Specificita a senzitivita (3) Teď můžu konečně spočítat specificitu a senzitivitu. specificita = sensitivita = #True negatives #True negatives + #False negatives #True positives #True positives + #False positives Specificita je tedy procento správných negatives ze všech vzorů, které byly označeny za negatives (Procento skutečně zdravých lidí mezi všemi, kteří byli modelem označeni za zdravé). Senzitivita je tedy procento správných positives ze všech vzorů, které byly označeny za positives (Procento skutečně nemocných lidí mezi všemi, kteří byli modelem označeni za nemocné). 23 / 31 Testování modelů
Specificita a senzitivita (4) Když se vrátím k příkladu s klasifikátorem, který klasifikuje všechny lidi, jako zdravé. Jaká bude specificita a senzitivita? Specificita = 1.0 Senzitivita = 0.0 24 / 31 Testování modelů
ROC křivka (1) Specificita a senzitivita jsou jen jednou z možností, jak vyhodnocovat možnosti a vlastnosti binárního klasifikátoru. Další hojně využívanou možností je ROC křivka. Typickým výstupem binárního klasifikátoru není přímo hodnota Positive/Negative, ale většinou klasifikátor vrátí číselnou hodnotu a pomocí prahu prozhodnu, kam aktuální vzor zařadím. Typicky se práh volí 0.5, ale jak se změní chyba klasifikátoru, když změní práh? 25 / 31 Testování modelů
ROC křivka (2) Mějme klasifikátor, který na tělesné teploty klasifikuje, zda se jedná o zdravého nebo nemocného. Pokud má člověk teplotu menší než práh, jedná se o zdravého člověka. Pokud větší, jedná se o nemocného. Pokud prahem posunu doprava, klasifikuji správně více zdravých lidí, ale (z principu) se mezi ně připletou i nemocní. A obráceně při posunu prahu doleva. 26 / 31 Testování modelů
ROC křivka (3) Pak můžu nakreslit graf, kde na na ose Y je počet true positives, na ose X je počet false positives. http://research.cens.ucla.edu/projects/2006/multiscaled_actuated_sensing/classification_ Minirhizotron/default.htm 27 / 31 Testování modelů
ROC křivka (4) Jak bude vypadat ROC křivka ideálního klasifikátoru (který bezchybně rozděluje obě třídy)? Jak bude vypadat ROC křivka náhodného klasifikátoru (který má chybu 50%)? Pro lepší posouzení kvality ROC křivek můžu použít plochu, kterou shora ohraničuje ROC křivka (Area under curve). 28 / 31 Testování modelů
Lift Lift je další způsob, jak měřit kvalitu klasifikátoru ve specifických úlohách. Mám klasifikátor, který identifikuje zákazníky, kteří by mohli kladně odpovědět na marketingovou nabídku. A ptám se, když oslovím 10% všech mých zákazníků, které model identifikoval jako nejnadějnější, kolik procent zákazníků, kteří by skutečně odpověděli jsem oslovím. lift = procento oslovených zákazníků, kteří budou kladně reagovat procento oslovených zákazníků Například oslovím 10% zákazníků T-Mobilu a mezi nimi je 50% těch, kteří si skutečně zaplatí nový internet do mobilu, mám lift = 50% 10% = 5. 29 / 31 Testování modelů
Lift křivka Když vynesu do grafu lift pro různé počty oslovených zákazníků, získám lift chart, který vypadá takto: 30 / 31 Testování modelů
Zdroje a další čtení http://gim.unmc.edu/dxtests/roc3.htm http://en.wikipedia.org/wiki/receiver_operating_ characteristic http://en.wikipedia.org/wiki/sensitivity_and_ specificity http://www2.cs.uregina.ca/~dbd/cs831/notes/lift_ chart/lift_chart.html http://www2.cs.uregina.ca/~dbd/cs831/notes/ confusion_matrix/confusion_matrix.html 31 / 31 Testování modelů
Vytěžování dat, přednáška 12: Kombinování modelů Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 33 Kombinování modelů
Ensembles (Kombinování modelů) Aneb víc hlav, víc ví! Co když jsme se dostali na hranice možností jednoho modelu? Co když už delší učení nebo složitější model vede už jen k přeučení modelu? Co s tím? 2 / 33 Kombinování modelů
Motivace Soutěž Netflix prize (predikce, které filmy by se zákazníkovi mohli také líbit, když viděl a nějak ohodnotil jinou skupinu filmů?) Respektive cílem je předpovědět hodnocení filmu konkrétním zákazníkem, když víme, jak hodnotil jiné filmy v minulosti. A cenu (2 000 000 USD) získá ten, kdo dokáže na testovací množině zlepšit přesnost o 5%. 3 / 33 Kombinování modelů
Motivace (2) A všechny TOP týmy používají ensembly modelů. 4 / 33 Kombinování modelů
Kombinace modelů Kombinace modelů je cestou, jak získat lepší přesnost, než je přesnost nejlepšího z modelů. Každý model dělá chyby pro trochu jiná data. A trochu jiné chyby. Čili, když se zkombinují dohromady, možná modely v ensemblu své chyby eliminují. Také tím, že zkombinuji různé modely, dokáže výsledný model aproximovat rozhodovací hranici, kterou by jinak samostatné modely nedokázaly proložit. Analogie z idealizované zkoušky každý student se naučí látku (každý s jinými chybami) a společně rozhodují o odpovědích na otázky. A v ideálním případě by měli u každé otázky odpovědět správně :). 5 / 33 Kombinování modelů
Variance modelů (rozptyl chyby modelů) Vraťme se ještě k chybám modelů. Jak jsem povídal posledně, když vytvořím různé modely (i na stejných datech), nebudou mít stejnou chybu, ale jejich chyby se budou lišit. Například použiji jiné počáteční hodnoty, nebo vezmu jinou podmnožinu trénovací množiny. 6 / 33 Kombinování modelů
Variance modelů (rozptyl chyby modelů) (2) Nicméně chyby všech takto vytvořených modelů by měly být z normálního rozdělení se stejnou střední hodnotou a rozptylem. Čili rozptyl modelů udává jako moc se liší chyba jednotlivých modelů od ideální střední chyby. 7 / 33 Kombinování modelů
Bias modelů (Zaujetí modelů) Bias (zaujetí) vyjadřuje systematickou chybu způsobenou (například) špatně zvolenou trénovací množinou. 8 / 33 Kombinování modelů
Nedoučení modelu (underfitting) Model (například lineární regrese) je příliš jednoduchý, aby dokázal popsat data. Modely budou mít nízkou varianci, ale vysoký bias. Co to znamená? Modely si budou podobné, ale mají velkou chybu proti původním datům. 9 / 33 Kombinování modelů
Přeučení modelu (overfitting, už zase) Model je příliš ohebný a naučil se i šum, který v datech ve skutečnosti není. Modely budou mít nízký bias, ale vysokou varianci, ale nízký bias. Co to znamená? Modely sice budou mít nízkou chybu na datech, ale jednotlivé modely budou hodně rozdílné. 10 / 33 Kombinování modelů
Kombinování modelů prevence přeučení Přeučení model se naučí i šum v datech a na testovacích datech vykazuje velké chyby. Mám skupinu modelů, a každý jsem naučil na jiné podmnožině trénovacích dat. A každý model jsem možná přeučil. Ale můžu něčeho dosáhnout jejich kombinací? Snížili jsme rozptyl modelů. 11 / 33 Kombinování modelů
Kombinování modelů snižování zaujetí Jednoduché modelovací metody s malou ohebností (opět naučené na různých podmnožinách dat) nedokáží dobře aproximovat rozhodovací hranici. Jejich kombinací opět dokáži získat mnohem ohebnější hranici a tedy i menší chybu. 12 / 33 Kombinování modelů
Skupiny modelů Síla seskupování modelů tkví v diverzitě (různorodosti) modelů. Diverzity modelů můžu dosáhnout dvěma cestami: Vytvořit modely pomocí různých modelovacích technik. Vytvořit modely nad různými podmnožinami trénovací množiny. Základní použití všech ensemblovacích algoritmů má následující schéma: 1. Vyber stavební jednotky ensemblu (vhodné modely) a vytvoř pro každý trénovací množinu. 2. Natrénuj všechny modely v ensemblu (učení jednotlivých modelů může být závyslé na učení ostatních modelů v ensemblu). 3. Výstup skupiny modelů spočítej výstup všech modelů v ensemblu a jejich výstup skombinuj do výsledného výstupu. 13 / 33 Kombinování modelů
Základní ensemblovací algoritmy Pro klasifikační a regresní úlohy se dají použít: Bagging Boosting Stacking Cascade generalization Pouze pro klasifikační úlohy se také dají použít: Cascading Delegating Arbitrating 14 / 33 Kombinování modelů
Bagging Nejjednodušší ensemblovací metoda. Nezávysle naučím skupinu modelů. Výstup ensemblu se určí: pro regresi spočítám průměrnou hodnotu ze všech výstupů modelů v ensemblu. pro klasifikaci spočítám majoritu z výstupů modelů v ensemblu. 15 / 33 Kombinování modelů
Bagging (2) 16 / 33 Kombinování modelů
Boosting Naučím posloupnost modelů, každý další model se bude všímat té část vstupních dat, ve které předchozí modely chybovaly. To, jak moc si bude model všímat vstupních dat se vyjadřuje vahami vstupního vzoru. Oklasifikuji trénovací data všemy doposud naučenými modely a vzorům, na kterých jsem udělal chybu, přidám do trénovací množiny následujícího modelu. Z toho vyplývá, že se modely učí jeden po druhém. Výstup ensemblu se spočítá jako vážený průměr (vážená majorita). Váhy pro majoritu se určí na základě přesnosti jednotlivých modelů. 17 / 33 Kombinování modelů
Boosting (2) 18 / 33 Kombinování modelů
Adaboost Nejznámější algoritmus pro Boosing se nazývá Adaboost. Základní algoritmus předpokládá klasifikaci do dvou tříd (+1 / -1). Značení n je počet vzorů v trénovací množině. h t je model (klasifikátor). 1. Nastav konstantní váhů všech vzorů v trénovací množině na D 1 (i) = 1 n a nastav t = 1. 2. Nauč klasifikátor h t. 3. Spočítej globální chybu na trénovacích datech η t = i,h t (x i ) y i D t (i) 4. Změň váhy všech vstupních vzorů, u kterých klasifikátor h t udělal chybu. D t+1 (i) = D t(i) η t Z i 1 η t. i, kde h t (x i ) y i. 5. Pokud globální chyba η t klesla pod stanovenou hranici, skonči. Jinak pokračuj bodem 2. Prezentace věnovaná přímo algoritmu Adaboost http://www.robots.ox.ac.uk/~az/lectures/cv/adaboost_matas.pdf 19 / 33 Kombinování modelů
Stacking Nezávysle naučím skupinu modelů. Pro určení finálního výstupu použiji místo majority další model (meta model). Získám tím větší možnosti pro kombinaci výstupů jednotlivých modelů. Výstupy jednotlivých modelů slouží vstupy meta modelu. Při počítání výstupu spočítám výstupy jednolivých modelů, které pak pustím do meta modelu, který spočítá skutečný výstup. 20 / 33 Kombinování modelů
Stacking (2) 21 / 33 Kombinování modelů
Cascade generalization Modely v ensemblu tvořím postupně, ke vstupním proměnným postupně přidávám výstupy předchozích modelů. Vstupem i-tého modelu jsou tedy vstupní proměnné (x 1, x 2,..., x n, y 1,..., y i 1 ) Kde y 1,..., y i 1 jsou výstupy předchozích modelů. Modely je tedy učí jeden po druhém a výstupem ensemblu je výstup posledního modelu. 22 / 33 Kombinování modelů
Cascade generalization (2) 23 / 33 Kombinování modelů
Cascading Podobně jako u Boostingu se další modely specializují na vzory, které předchozí modely klasifikovaly špatně které indikovaly nízkou pravděpodobnost přiřazení vzoru do dané třídy. Při počítání výstupu ensemblu se použije výstup modelu, který udává dostatečně vysokou ppst výstupní třídy. 24 / 33 Kombinování modelů
Cascading (2) 25 / 33 Kombinování modelů
Delegating Trénovací množina prvního modelu je celá trénovací množina. Do trénovací množiny dalšího klasifikátoru se přiřadím stupní vzory, které byly klasifikovány špatně nebo ppst jejich zařaení do správné třídy je menší než určený práh. Výstup ensemblu je výstup modelu, který indikuje dostatečně vysokou ppst přiřazení do dané třídy. 26 / 33 Kombinování modelů
Delegating (2) 27 / 33 Kombinování modelů
Arbitrating Trochu zvláštní metoda, kde jsou dva typy modelů standardní modely, predikující cílovou proměnnou, rozhodčí modely, které predikují úspěšnost standardních modelů. Každý stadardní model má svůj rozhočí model. Každá dvojice stardní+rozhodčí model je učena nezávisle. Výstupem ensemblu je model, jehož rozhodčí predikuje nejvyšší míru úspěchu. 28 / 33 Kombinování modelů
Arbitrating (2) 29 / 33 Kombinování modelů
Výběr relevatních příznaků Poslední téma tohoto kurzu opravdu všechny vstupní proměnné potřebuji ke klasifikaci? Při klasifikaci zdravých a nemocných lidí asi bude hrát větší roli jejich teplota a tlak, než barva vlasů. Techniky, které vybírají vhodné vstupní proměnné, se označují jako feature selection (případně feature ranking) metody. A dělí se do dvou hlavních kategorií: feature selection tyto metody dodají seznam vstupních proměnných (atributů), které považují za důležité, feature ranking tyto metody přiřadí každému atributu skóre, který indikuje vliv atributu na výstupní třídu. 30 / 33 Kombinování modelů
Feature selection Typicky hledají podmnožinu atributů, na které model ještě funguje dobře. Dělí se do 3 hlavních kategorií: Wrappers vyberou skupinu atributů, nad ní naučí nějaký model, spočítají jeho přesnost a podle přesnosti upraví skupinu atributů, atd... Filters fungují dost podobně, jen místo modelů se vyhodnocují tzv. filtry. Filtry se v této souvislosti rozumí například korelace mezi vybranou skupinou vstupů a výstupem nebo vzájemná informace,... Embedded techniques tento způsob je zabudován do učícího algoritmu modelu a podle toho, které proměnné model využívá, se sestavuje seznam důležitých atributů. 31 / 33 Kombinování modelů
Feature selection (2) Při hledání vhodné kombinace se často uplatňuje hladový přístup. Nejprve hledám množinu s jedním atributem, která má nejvyšší skóre (například nejvyšší přesnost modelu). K této jednoprvkové množině zkouším přidávat další atribut a hledám, který přinese největší zlepšení modelu. Pak hledám třetí, a tak dále, dokud se model nepřestane zlepšovat. 32 / 33 Kombinování modelů
Feature ranking Přiřazuje každé vstupní proměnné skóre, které určuje její významnost. Často se používají stejné metody, které se na předchozím slajdu označovaly jako filters: vzájemná informace mezi jednotlivými atributy a výstupem, korelace, informační entropie, přesnost perceptronu s jedním vstupem. Je pak na člověku, jak těchto informací využije. 33 / 33 Kombinování modelů
Vytěžování dat, cvičení 12: Neuronové sítě typu Back Propagation Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 5 Neuronové sítě
Zadání domácího úkolu V software Rapidminer experimentujte s implementací neuronové sítě typu back-propagation. Touto sítí klasifikujte dodaná data (Glass identification dataset viz. http://archive.ics.uci.edu/ml/datasets/ Glass+Identification). Experimentujte s počtem skrytých vrstev a počty neuronů v těchto vrstvách - najděte co možná nejpřesnější a nejméně přesnou konfiguraci neuronové sítě. Zkuste najít minimální počty neuronů ve skrytých vrstvách, pro které síť ještě dokáže data klasifikovat s rozumnou chybou. Pro odchad chyby vždy použijte 10 násobnou Cross-validaci. 2 / 5 Neuronové sítě
Zadání domácího úkolu (2) Pro nejpřesnější a nejméně přesnou konfiguraci neuronové sítě vytvořte matici záměn (confusion matrix) a ilustrujte na nich rozdíly v klasifikaci. V datech změňte výstupní třídu tak, aby indikovala Sklo typu 2 nebo 3 a Všechna ostatní skla. Pro takto změněná data a několik neuronových sítí (viz další bod) zobrazte ROC křivku a okomentujte, co ROC křivka říká. Na jejich základě učiňte závěr, která konfigurace neuronové sítě dává nejlepší výsledky. Použijte NS s jedním neuronem v obou skrytých vrstvách a pak vaši nejlepší a nejhorší nalezenou konfiguraci. 3 / 5 Neuronové sítě
Obsah zprávy Obsahem zprávy bude: popis výsledků pro jednotlivé konfigurace (počty skrytých vrstev a počty neuronů v nich) neuronové sítě a volitelně i zobrazení NS v jedné konfiguraci, popis výsledků získaných z ROC křivek a jejich zobrazení, váš komentář k předchozím bodům. V domácím úkolu můžete použít Rapidminer proudy, které naleznete na webu cvičení. 4 / 5 Neuronové sítě
Uzly Neuronová síť typu back-propagation, kterou máte zkoumat se skrývá v uzlu nazvaném Neural Net Uzly v programu Rapid miner, které se vám také mohou hodit: Apply Model Performance Validation Read CSV 5 / 5 Neuronové sítě