Rozhodovací stromy a jejich konstrukce z dat



Podobné dokumenty
Rozhodovací stromy a jejich konstrukce z dat

Učení z klasifikovaných dat

3.1 Úvod do problematiky

Výpočetní teorie strojového učení a pravděpodobně skoro správné (PAC) učení. PAC učení 1

DATA MINING KLASIFIKACE DMINA LS 2009/2010

Získávání znalostí z dat

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

ZÁKLADY OVLÁDÁNÍ LETECKÉHO SIMULÁTORU V GOOGLE EARTH

Rozhodovací stromy a lesy

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

Počítačové šachy. Otakar Trunda

přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí:

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

Determinant. Definice determinantu. Permutace. Permutace, vlastnosti. Definice: Necht A = (a i,j ) R n,n je čtvercová matice.

Úvod do mobilní robotiky AIL028

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

Rozhodovací stromy. Úloha klasifikace objektů do tříd. Top down induction of decision trees (TDIDT) - metoda divide and conquer (rozděl a panuj)

2 HRA V EXPLICITNÍM TVARU

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

Extrakce a selekce příznaků

GRAFY A GRAFOVÉ ALGORITMY

Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

Tento text je stručným shrnutím těch tvrzení Ramseyovy teorie, která zazněla

8. Geometrie vrací úder (sepsal Pavel Klavík)

Lineární programování

Rozdíl je v detailech! Původní System jen od PFAFFA

Matematika Vzdělávací oblast Matematika a její aplikace

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

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

10. Editor databází dotazy a relace

Tvorba povrchů pomocí interpolací

Stav: červen TRACK-Guide

8) Jaké jsou důvody pro použití víceprůchodového překladače Dříve hlavně kvůli úspoře paměti, dnes spíše z důvodu optimalizace

3. D/A a A/D převodníky

Informační systémy pro podporu rozhodování

Vytěžování znalostí z dat

VY_32_INOVACE_C 07 16

METODY REPREZENTACE A ZPRACOVÁNÍ ZNALOSTÍ V UMĚLÉ INTELIGENCI

6. T e s t o v á n í h y p o t é z

- příkaz pohybující želvou zpět a o kolik. vlevo 45 vl 45 libovolně zadáme) směrem doleva. Na obrázku jsme pro

IBM SPSS Decision Trees

MATEMATIKA+ MAMPD14C0T01 DIDAKTICKÝ TEST. 2.1 Pokyny k otevřeným úlohám. 1 Základní informace k zadání zkoušky. 2.2 Pokyny k uzavřeným úlohám

Mgr. Karel Pazourek. online prostředí, Operační program Praha Adaptabilita, registrační číslo CZ.2.17/3.1.00/31165.

Soukromá vyšší odborná škola podnikatelská, s. r. o.

Uživatelská příručka pro program

Materiál: Cíl hry: Umístění na hrací plochu:

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

Hledání kořenů rovnic jedné reálné proměnné metoda půlení intervalů Michal Čihák 23. října 2012

Druhá generace palivoměru LUN 5275 pro letoun EV-55

sin(x) x lim. pomocí mocninné řady pro funkci sin(x) se středem x 0 = 0. Víme, že ( ) k=0 e x2 dx.

5 Rekurze a zásobník. Rekurzivní volání metody

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. dubna Filip Železný (ČVUT) Vytěžování dat 9.

Přijímací zkouška - matematika

Xiaomi Scale. uživatelská příručka

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

Sbírka příkladů. verze

Teoretická otázka č. 11 K čemu slouží analýza citlivosti báze vhledem ke složkám vektoru pravých stran? Popište rámcově způsob jejího provedení.

Jazyk matematiky Matematická logika Množinové operace Zobrazení Rozšířená číslená osa

2 Spojité modely rozhodování

NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk

MATEMATIKA 1 4 A B C D. didaktický test. Zadání neotvírejte, počkejte na pokyn! Krok za krokem k nové maturitě Maturita nanečisto 2006

MATEMATIKA rozšířená úroveň

MATEMATIKA Charakteristika vyučovacího předmětu 2. stupeň

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

Umělá inteligence I. Roman Barták, KTIML.

+ ω y = 0 pohybová rovnice tlumených kmitů. r dr dt. B m. k m. Tlumené kmity

1 REZOLUČNÍ FORMÁLNÍ DŮKAZY

Zadání projektů z BPC2 pro letní semestr 2007/2008

MĚŘENÍ NAPĚTÍ A PROUDŮ VE STEJNOSMĚRNÝCH OBVODECH.

ONLY FOR FLIGHT SIMULATION USAGE NOT FOR REAL WORLD FLYING

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.

NÁVOD K POUŽITÍ. Před prvním použitím si pozorně přečtěte návod k použití! Návod uschovejte i pro pozdější nahlédnutí.

Příklady pracovních postupů

Několik poznámek na téma lineární algebry pro studenty fyzikální chemie

Pokud nebude na příkazové řádce uveden právě jeden argument, vypište chybové hlášení a stručný

Kód uchazeče ID:... Varianta: 14

MNOŽINY. x A. Jeho varianty paradox mostu se šibenicí, paradox holiče.

Genetické algoritmy. Vysoká škola ekonomická Praha. Tato prezentace je k dispozici na:

Zimní školení pilotů 2013 Petr Kubíček

Základy teorie množin

Pokyny pro vyplnění žádosti o vydání povolení k létání letadla bez pilota

Využití modální analýzy pro návrh, posouzení, opravy, kontrolu a monitorování mostů pozemních komunikací

Klasifikační stromy. Metriku, pro níž je E( C, použijeme jako kořen.

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech.

0. Lineární rekurence Martin Mareš,

RETROKLÁNÍ - makety a polo-makety větroňů

k tématu: Jak začít podnikat? s.r.o.

Složitosti základních operací B + stromu

Používání a údržba. Před prvním použitím spotřebiče. Pokyny pro používání dotykových ovladačů

Obsah. testo 512 Digitální tlakoměr. Návod k obsluze

Pro bodový odhad při základním krigování by soustava rovnic v maticovém tvaru vypadala následovně:

Pravidla Aircombat WWI+

Josefína Ukázková. Křestní jméno: Josefína Datum narození: CESTY ŽIVOTA. Milá Josefíno.

xrays optimalizační nástroj

UŽIVATELSKÁ PŘÍRUČKA PRO IZR NA PORTÁLU FARMÁŘE - HLÁŠENÍ POHYBŮ A OBJEDNÁVKY UZ

CADKON/TZB verze

Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97. Vybrané části Excelu. Ing. Petr Adamec

Kariérová dráha a kariérové rozhodování

Transkript:

Příklad počítačová hra. Můžeme počítač naučit rozlišovat přátelské a přátelské roboty? Rozhodovací stromy a jejich konstruk z dat Učení s učitelem: u některých už víme, jakou mají povahu (klasifika) Neparametrická úloha: Nic víme o pravděpodobnostní distribuci jednotlivých objektů 2 Příklad počítačová hra 1. Můžeme se naučit roboty rozlišit na základě krátké zkušenosti? přátelští přátelští Reprezenta úlohy pomocí atributů Můžeme navrhnout odpovídající klasifikační algoritmus? kruh 3úhelník nic 3úhelník 3úhelník balon čtverec 3úhelník balón čtverec kruh meč 3úhelník kruh květ kruh kruh nic čtverec čtverec nic kruh kruh meč přátelští přátelští Vyhledávání v tabul, 3 4 1

Rozhodovací strom 1 pro du množinu příkladů kruh 3úhelník nic 3úhelník 3úhelník balon čtverec 3úhelník balón Rozhodovací strom 2 pro tutéž množinu příkladů kruh 3úhelník nic hlava 3úhelník 3úhelník balon čtverec 3úhelník balón kravata čtverec kruh meč 3úhelník kruh květ čtverec kruh meč 3úhelník kruh květ kruh kruh nic čtverec čtverec nic kruh kruh meč úsměv kruh kruh nic čtverec čtverec nic kruh kruh meč úsměv tělo jiné kravata úsměv 5 6 7 Rozhodovací strom 2 pro tutéž množinu příkladů Který strom je lepší a jak jej najdeme? meč tělo v_ru kruh 3úhelník nic 3úhelník 3úhelník balon čtverec 3úhelník balón čtverec kruh meč 3úhelník kruh květ kruh kruh nic čtverec čtverec nic kruh kruh meč nic Klasifika úsměv kravata tělo hlava v_ru kruh 3úhelník nic 3úhelník 3úhelník balon čtverec 3úhelník balón čtverec kruh meč 3úhelník kruh květ kruh kruh nic čtverec čtverec nic kruh kruh meč Souhrn úsměv Kravata tělo=3úh. hlava=3úh v_r.=nic významu atributů 8 Ano:3P,1N Ne: 1P,3N Ano:2P,2N Ne: 2P,2N Ano:2P,0N Ne: 2P,4N Ano:2P,1N Ne:2P,3N Ano:2P,1N Ne: 2P,3N 2

Induk rozhodovacího stromu z trénovací množiny dáno: S... trénovací množina (množina klasifikovaných příkladů) 9 1. Nalezni "jlepší" atribut at 0 (t.j. atribut, jehož hodnoty jlépe diskriminují mezi pozitivní a g. příklady) pro S a tím ohodnoť kořen vytvářeného stromu. 2. Rozděl množinu S na podmnožiny S 1,S 2,...,S n podle hodnot atributu at 0 a pro každou množinu příkladů S i vytvoř nový uzel jako následníka právě zpracovávaného uzlu (kořenu) 3. Pro každý nově vzniklý uzel s přiřazenou podmnožinou S i proveď: Jestliže všechny příklady v S i mají tutéž klasifikaci (všechny jsou pozitivní bo všechny jsou gativní), pak uzel ohodnoný S i je prohlášen za list vytvářeného rozhodovacího stromu (a tedy se už dále větví), jinak jdi na bod 1 s tím, že S : = S i. 10 Entropie množiny S vzhledem k dané klasifikaci Posuzuje různorodost klasifika prvků z množiny S Nechť klasifikaci představuje atribut y, který má jen 2 hodnoty {0,1}. Pak označme S 0 = {z S : z y = 0} a S 1 = {z S : z y = 1} Entropy(S ) = E(S )= - S 0 / S * log 2 S 0 / S - S 1 / S * log 2 S 1 / S, kde A označuje mohutnost množiny A Je-li S 0 =, pak Entropy (S )=0 Je-li S 0 = S 1, pak Entropy (S )=1 Je-li S = 1, pak Entropy (S )= 0 Volba jlepšího atributu pro množinu příkladů S vzhledem k dané klasifikaci Kriterium minimální entropie rozkladu (KMER) Nechť at je pevně zvolený atribut, který může nabývat hodnot v 1 až v n. Označme S i = {z S : z at = v i } podmnožinu S, která obsahuje právě ty objekty, které v atributu at maji hodnotu v i Vážená entropie E(S,at) rozkladu S podle hodnot atributu at charakterizuje čistotu klasifika v jednotlivých složkách rozkladu S a je definována E(S,at) = n i=1 S i / S * E(S i ) KMER vypočte E(S,at) pro všechny atributy at a jako jlepší atribut at 0 zvolí ten z nich, pro který je hodnota E(S,at 0 ) jmenší Základní algoritmus ID3 Realizuje prohledávání prostoru všech stromů, které lze zkonstruovat v jazyku trénovacích dat : shora dolů s použitím hladové strategie Volba atributu pro větvení na základě charakteriza ()homogenity nově vzniklého pokrytí (používají se různé míry), např.: Kriterium minimalní entropie rozkladu Informační zisk (gain) odhaduje předpokládané snížení entropie pro pokrytí vzniklé použitím hodnot odpovídajícího atributu 11 12 3

Nebezpečí použití kriteria KMER Co se sta, pokud některý atribut má hodně skoro unikátních hodnot, které takřka jednoznačně charakterizují každý trénovací příklad? Například pro rodné číslo je S i = 1 a tedy E(S i ) = 0 a E(S, rod_cislo ) = 0 Tento agrument je tedy kriteriem KMER vybrán jako jlepší! Je takový atribut opravdu užitečný pro testovací data? Nebezpečí použití kriteria KMER Co se sta, pokud některý atribut má hodně skoro unikátních hodnot, které takřka jednoznačně charakterizují každý trénovací příklad? Například pro rodné číslo je S i = 1 a tedy E(S i ) = 0 a E(S, rod_cislo ) = 0 Tento agrument je tedy kriteriem KMER vybrán jako jlepší! Je takový atribut opravdu užitečný pro testovací data? Ne, má malou geralizační schopnost! Nebylo by vhodné takovou situaci nějak penalizovat? JAK? Zde (pro KMER = 0) pomůže multiplikatiční koeficient! Raději využijeme hodnotu doplňkovou, kterým je kriterium zisku: Gain E(S,at) = E(S) - E(S,at) = E(S) - n i=1 S i / S * E(S i ) 13 14 Jak charakterizovat rozklad množiny S na c disjunktních podmnožin S i podle všech hodnot uvažovaného atributu A? Volba atributů a další speciální situa Reálné hodnoty. používá se diskretiza SplitInformation odpovídá entropii rozdělení S podle všech hodnot atributu A. Např. je-li S i =1 pro všechna i < (c +1), je jeho hodnota rovna (log 2 c ). Používá se pro výpočet GainRatio, který penalizuje atributy s příliš mnoha hodnotami: Různé ny pro získání hodnoty atributu 15 16 4

Volba atributů a speciální situa -1 Volba atributů a speciální situa 2 Reálné hodnoty používá se diskretiza JAK SE VOLÍ VHODNÉ MEZNÍ HODNOTY? Vhodné řešení (Fayyad 91): Uspořádejte příklady podle velikosti zpracovávaného atributu a zvolte jako kandidátní mezní hodnoty ty, které leží v intervalu, kde se mění klasifika. Hodnota, která maximalizuje Gain, je nutně jednou z nich. Různé ny pro získání hodnoty atributu. Určíme-li nu Cost(A) v intervalu <0,1>, pak použijeme změněné kriterium, např. 17 18 Postup prohledávání Vlastnosti ID3: důsledky postupu prohledávání Pro klasifikační úlohu s diskrétními atributy je prohledávaný prostor hypotéz úplný (tj. je schopný reprezentovat libovolnou možnou cílovou funkci) --> existuje mnoho hypotéz konzistentních s daty! Aktuální množina hypotéz je vždy jednoprvková (hladová volba následníka), lze jej tedy použít pro odpověď na dotaz kolik je alternativních stromů konzistentních s daty? Nepoužívá zpětný chod --> možnost uvíznutí v lokálním optimu Rozhoduje se na základě všech příkladů (nikoliv inkrementálně) --> metoda ní příliš ovlivněna šumem 19 20 5

21 Kdy je vhodné použít algoritmy pro konstrukci rozhodovacího stromu? Cílová funk má diskrétní hodnoty (jedná se o klasifikační problém) Instan trénovacích dat mají jednotný formát popisující hodnoty atributů Trénovací data mohou být zašuměná Obsahovat chybějící hodnoty Je potřeba reprezentovat disjunkci podmík (pravidla) Argument : Jednoduchých hypotéz je výrazně méně ž složitých. Proto, pokud některé z jednoduchých h. data odpovídají, pak asi jde o náhodný jev Occamova břitva : Nejlepší hypotéza je ta jjednodušší, která odpovídá datům. Související problémy: - proč zrovna tato malá množina? - pozor na použitý jazyk! 22 Proč dáváme přednost jednoduchým hypotézám? William of Ockham, born in the village of Ockham in Surrey (England) about 1285, was the most influential philosopher of the 14th ntury and a controversial theologian. witten & eibe Otázky související s ID3 Jak velké stromy konstruovat? Až do pokrytí všech příkladů? Co s přeučením? Spojitý definiční obor atributů Metody volby jvhodnějšího atributu Atributy o různých nách Chybějící hodnoty??? Přeučení Nechť H je prostor hypotéz. Hypotéza h H je přeučená, pokud exituje jiná hypotéza h1 H taková, že chyba h na trénovacích datech je menší ž chyba h1, avšak na lém prostoru instancí uvažovaných objektů je chyba h1 menší ž chyba h Často pozorovaná vlastnost zkonstruovaných stromů 23 24 6

25 Jak se vyhnout přeučení? Jak zvolit správnou velikost stromu? Jak takový strom získat? 1. Zastavit růst stromu dřív ž jsou vyčerpána všechna trénovací data 2. Prořezávání hotového stromu ukazuje se jako zvlášť užitečné! Volba vhodného prořezání pomocí validační množiny dat (vybraná závisle, tedy bez náhodných vlivů případně přítomných v trénovacích datech). Algoritmus prořezávání reduk chyby : Vyberte uzel, odstraňte podstrom, v něm začínající a přiřaďte většinovou klasifikaci. Pokud se chyba na validačních datech zmenšila proveďte uvedené proříznutí (ze všech možností vyberte tu s jvětším zlepšením). Hodnoní přesnosti klasifika v závislosti na složitosti použitého stromu Výsledky na hladké linii odpovídají stromům získaným prořezáním tak, 26 jak bylo otestováno na validačních datech (jiná ž testovací!!!) Usmívá_se Rozhodovací strom jako logický výraz kravata tělo jiné kruh 3úhelník nic 3úhelník 3úhelník balon čtverec 3úhelník balón čtverec kruh meč 3úhelník kruh květ kruh kruh nic čtverec čtverec nic kruh kruh meč (Kravata= & usmívá_se=) V (Kravata= & tělo=3úh.) -> 27 Závěrečné prořezávání pravidel (rule post-pruning) použité v C4.5 1. Vytvořte přeučený rozhodovací strom 2. Zapište výsledný strom ve tvaru disjunk pravidel (každá větev = jedno pravidlo) 3. Každé jednotlivé pravidlo co jvíc prořežte (odstraní se postupně ty podmínky, které zhorší jeho klasifikační přesnost) 4. Uspořádejte výsledná pravidla podle jejich odhadnuté přesnosti a dále je používejte jako rozhodovací seznam Odhad přesnosti pravidla 28 na validační množině (= relativní počet správných závěrů) na trénovacích datech (= pesimistický odhad počtu správých závěrů za předpokladu binomického rozdělení ) 7

29 Metoda n jbližších sousedů Pro nový objekt je vypočtena vzdálenost od všech objektu v trén. příkl. Je nalezeno všech n trén. příkladů (= množina T n ), které jsou k novému objektu jblíž. Nový objekt získá klasifikaci, která je v T n jčastější. Možné zobecnění: hledá se jlepší vážicí koeficient pro jednotlivé atributy. 30 Příklad: Létání na simulátoru F16 Úkol: sestavit řídící systém pro ovládání leteckého simulátoru F16 tak, aby splnil předem definovaný plán letu daný takto: 1. vzlet a výstup do výšky 2000 stop 2. let v dané výš směrem N do vzdálenosti 32000 stop od místa startu 3. zahnout vpravo v kurzu 330 4. ve vzdálenosti 42000 stop od místa startu (ve směru S-N) provést obrat vlevo a zamířit zpět do místa startu (obrat je ukončen při kurzu mezi 140 a 180 ) 5 vyrovnat směr letu s přistávací dráhou, toleran 5 pro kurz a 10 pro výchylku křídel oproti horizontu 6. klesat směrem k počátku přistávací dráhy 7. přistát Trénovací data: 3x30 letů (od 3 pilotů). Každý let popsán pomocí 1000 záznamů (poloha a stav letounu, pilotem provedený řídící zásah) on_gound g_limit wing_stall twist elevation azimuth roll_speed elev_speed 31 Záznam: Poloha a stav boolean: je letadlo na zemi? boolean: je překročen g limit letadla? boolean: je letadlo stabilní? integer: 0-360, výchylka křídel vůči obzoru integer: 0-360, výchylka trupu vůči obzoru integer: 0-360, směr letu integer: 0-360, rychlost změny výchylky křídel [ /s] integer: 0-360, rychlost změny výchylky trupu [ /s] azimuth_speedinteger: 0-360, rychlost změny kurzu [ /s] airspeed climbspeed integer: rychlost letadla v uzlech integer: rychlost změny výšky [stop/s] E/W distan N/S distan fuel Řízení: rollers elevator thrust flaps 32 Záznam: : Poloha a stav + Řízení real: vzdálenost ve směru východ-západ od místa startu real: vzdálenost ve směru sever-jih od místa startu integer: váha paliva v librách real: nastavení ovladače horizontálního vychýlení real: nastavení ovladače vertikálního vychýlení integer: 0-100%, plyn integer: 0, 10 bo 20, nastavení křídlových lopatek Každá ze 7 fází letu vyžaduje vlastní typ řízení (jiné zásahy pilota): trénovací příklady rozděleny do 7 odpovídajících skupin. V každé skupině je zkonstruován zvlášť rozhodovací strom pro každý typ řídícího zásahu (rollers, elevator, thrust, flaps), t.j. 7 x 4 stromů 8

Zkuste navrhnout jjednodušší klasifikační algoritmus přátelští přátelští 33 9