Základy vytěžování dat



Podobné dokumenty
Miroslav Čepek. Fakulta Elektrotechnická, ČVUT. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Miroslav Čepek

Přednáška 13 Redukce dimenzionality

Vytěžování znalostí z dat

ANALÝZA A KLASIFIKACE DAT

Obsah přednášky Jaká asi bude chyba modelu na nových datech?

Vytěžování znalostí z dat

Úvod do RapidMineru. Praha & EU: Investujeme do vaší budoucnosti. 1 / 23 Úvod do RapidMineru

Základy vytěžování dat

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

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

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Vytěžování znalostí z dat

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

Strojové učení Marta Vomlelová

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

Vytěžování znalostí z dat

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

Vytěžování znalostí z dat

Úloha - rozpoznávání číslic

Testování modelů a jejich výsledků. Jak moc můžeme věřit tomu, co jsme se naučili?

DATA MINING KLASIFIKACE DMINA LS 2009/2010

Testování modelů a jejich výsledků. Jak moc můžeme věřit tomu, co jsme se naučili?

Testování modelů a jejich výsledků. tomu, co jsme se naučili?

LDA, logistická regrese

Analýza dat pomocí systému Weka, Rapid miner a Enterprise miner

Státnice odborné č. 20

Statistická analýza dat

RNDr. Eva Janoušová doc. RNDr. Ladislav Dušek, Dr.

Rozpoznávání písmen. Jiří Šejnoha Rudolf Kadlec (c) 2005

logistická regrese Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Statistická teorie učení

Hodnocení klasifikátoru Test nezávislosti. 14. prosinec Rozvoj aplikačního potenciálu (RAPlus) CZ.1.07/2.4.00/

Pravděpodobně skoro správné. PAC učení 1

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

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

Pokročilé neparametrické metody. Klára Kubošová

Lineární regrese. Komentované řešení pomocí MS Excel

Pokročilé neparametrické metody. Klára Kubošová

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

RNDr. Eva Janoušová doc. RNDr. Ladislav Dušek, Dr.

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

1 Linearní prostory nad komplexními čísly

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

Analytické procedury v systému LISp-Miner

AVDAT Mnohorozměrné metody, metody klasifikace

Testování neuronových sítí pro prostorovou interpolaci v softwaru GRASS GIS

Změkčování hranic v klasifikačních stromech

logistická regrese Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Předzpracování dat. Lenka Vysloužilová

Instance based learning

Ochutnávka strojového učení

Regresní a korelační analýza

Připomeň: Shluková analýza

vzorek vzorek

Regresní a korelační analýza

Cvičení ze statistiky - 3. Filip Děchtěrenko

O kurzu MSTU Témata probíraná v MSTU

Algoritmy a struktury neuropočítačů ASN - P10. Aplikace UNS v biomedicíně

Metody analýzy modelů. Radek Pelánek

Vytěžování znalostí z dat

Testování hypotéz. Testování hypotéz o rozdílu průměrů t-test pro nezávislé výběry t-test pro závislé výběry

PRAVDĚPODOBNOST A STATISTIKA

StatSoft Jaký je mezi nimi rozdíl?

Pravděpodobnost v závislosti na proměnné x je zde modelován pomocí logistického modelu. exp x. x x x. log 1

Vytěžování znalostí z dat

Pravděpodobnost a matematická statistika Doc. RNDr. Gejza Dohnal, CSc. dohnal@nipax.cz

Analytické znaky laboratorní metody Interní kontrola kvality Externí kontrola kvality

Jak bude zítra? Skoro jako dneska. Dan Lessner

Vytěžování znalostí z dat

Rozdělování dat do trénovacích a testovacích množin

oddělení Inteligentní Datové Analýzy (IDA)

Všechno, co jste chtěli vědět z teorie pravděpodobnosti, z teorie informace a

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

Diskriminační analýza hodnocení rozdílů mezi 2 nebo více skupinami objektů charakterizovanými více znaky

Testování hypotéz. Testování hypotéz o rozdílu průměrů t-test pro nezávislé výběry t-test pro závislé výběry

Cvičení 11. Klasifikace. Jan Přikryl. 14. března 2018 ČVUT FD

Neuronové sítě Ladislav Horký Karel Břinda

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

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

Pravděpodobnost, náhoda, kostky

Cvičná bakalářská zkouška, 1. varianta

Kombinování klasifikátorů Ensamble based systems

Pokročilé neparametrické metody. Klára Kubošová

Normální (Gaussovo) rozdělení

4EK211 Základy ekonometrie

Bayesovské rozhodování - kritétium minimální střední ztráty

Dobývání a vizualizace znalostí. Olga Štěpánková et al.

Úvod do zpracování signálů

INDUKTIVNÍ STATISTIKA

K možnostem krátkodobé předpovědi úrovně znečištění ovzduší statistickými metodami. Josef Keder

Intervalový odhad. Interval spolehlivosti = intervalový odhad nějakého parametru s danou pravděpodobností = konfidenční interval pro daný parametr

StatSoft Úvod do neuronových sítí

5 Vícerozměrná data - kontingenční tabulky, testy nezávislosti, regresní analýza

Strukturální regresní modely. určitý nadhled nad rozličnými typy modelů

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

Transkript:

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ě