Obsah přednášky. Úvod. Termnologe 3. Základní dělení 4. Prncp tvorby, prořezávání a použtí RS 5. Algortmus ID3 6. C4.5 7. CART 8. Shrnutí A L G O RI T M Y T E O R I E
Stromové struktury a RS Obsah knhy Menu moblního operátora Botancký klíč Herarche ve frmách, pyramdy, multlevel Zákony Strukturované znalost grafcká reprezentace 3
Strom náhodný a generovaný http://webdocs.cs.ualberta.ca/~axplore/learnng/decsontrees/applet/decsontreeapplet.html 4
Výhody Důležté vlastnost RS rychlost predkce nterpretovatelnost mnmálně ctlvé na relevantní atrbuty nízké nároky na předzpracování dat Nevýhody ortogonální dělení prostoru - nemusí nalézt an jednoduchou funkční závslost (více u algortmu CART)? proč se nepoužívají v uzlech např. lneární kombnace velčn (např. b x +b x ) 5
Termnologe I. Atrbut Hodnota atrbutu Záznam ATRIBUTY výčet HODNOT ATRIBUTŮ VÁHA = {velká, střední, malá} => X = {X,X,X 3 } VÝŠKA HLASU = {hluboký, střední, vysoký}=> X = {X,X,X 3 } NOSÍ NAUŠNICE= {ano, ne} => X3 = {X3,X3 } KLASIFIKAČNÍ ATRIBUT. Tvořen TŘÍDAMI; svou hodnotou určuje TYP záznamu. POHLAVÍ = {muž, žena}=> G = {G,G } VÁHA VÝŠKA HLASU NOSÍ NAUŠNICE POHLAVÍ X X X3 ZÁZNAM Z N záznamů tvoří SOUBOR ZÁZNAMŮ Z Z = {Z,, Z N }? vysvětl pojmy atrbut, hodnota atrbutu, záznam, klasfkační atrbut 6
Termnologe II. Rozhodovací strom herarchcký nelneární systém (model) Hloubka stromu Uzel Kořenový uzel Lst Větev kořenový uzel uzel lst větev hloubka stromu = VIS:? doplň chybějící popsky 7
Termnologe III. Entrope míra neuspořádanost Přeučený strom Prořezávání stromu Topologe stromu? vysvětl význam jednotlvých pojmů 8
Hlavní problémy Jak zautomatzovat tvorbu rozhodovacího stromu na základě množny dat? Jak rozdělovat uzly pro různé typy vstupních a výstupních velčn? Bude ukázáno: vstup kvaltatvní / výstup kvaltatvní (ID3) vstup kvant.+kval. / výstup kvaltatvní (C4.5) vstup kvant.+kval. / výstup kvant.+kval. (CART) Jak prořezat přeučení strom? Bude ukázáno: rule-post prunng reduced error prunng 9
Orentační dělení RS Topologe (bnární, vícerozměrné) Vstupní proměnná (kvaltatvní/kvanttatvní) Výstupní proměnná (kvaltatvní/kvanttatvní) Typ RS CART CLS AID CLS, ID3 Konkrétní AID,THAID, CART tree(s) (TDIDT), C4.5, algortmy CHAID χ C5 kvanttatvní kvanttatvní Vstup kvaltatvní (Cx.x kvaltatvní) všechny typy dat kvanttatvní Výstup nomnální nomnální Topologe bnární dle atrbutu všechny typy 0
Základní prncp tvorby RS V cyklu opakuj. Získej nformace o uzlu. Rozhodn o uzlu, zda bude dál dělen (krok 3.) nebo z něj udělej lst a rozhodn o jeho výstupní hodnotě 3. Vyber nejlepší atrbut na větvení 4. Rozděl data do nových uzlů Prořezej strom Exstují jné typy stromů (ADTree alternatng decson tree, Decson tree forests, TreeBoost, )
ID3 základní údaje Klasfkace - nomnální vstupy a výstupy Větvení podle výčtu dělcího atrbutu Kvalta dělení posouzena entropí ML Předností je schopnost vybrat z velkého množství atrbutů ty vhodnější, vždy vytvořen stejný strom (determnstcký) Není garance vygenerování optmálního stromu Je algortmus ID3 stochastcký? Proč?
ID3 - entrope Míra neuspořádanost entrope Pravděpodobnost klasfkace do třídy G Entrope C H p G pg log Uveď vztah pro výpočet entrope. Chyba [-] 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0, 0, 0 C p G entrope 0 0, 0, 0,3 0,4 0,5 0,6 0,7 0,8 0,9 p(g) [-] 3
4 ID3 bnární klasfkace Bnární klasfkace výpočet entrope n n n n n n p p p log log log n n n n n n n n n n n n n n n n n n S H Úvod Termnologe Dělení Prncp ID3 C4.5 CART Shrnutí
ID3 průměrná neuspořádanost Occamovo ostří: nejjednodušší RS konzstentní s trénovacím daty je nejpravděpodobněj ten nejvhodnější Které dělení je nejlepší? Podmíněná entrope (též průměrná neuspořádanost), kde A =počet možných hodnot A, c počet výstupních tříd G H A A A c N S A H S N H S Np G j log p G j A N N j j Informační zsk N j H I(S,A) = H(S) H(S A) c S p G j log p G j j Uveď vztah pro výpočet průměrné neuspořádanost a nformačního zsku. 5
Tvorba stromu pomocí ID3. Informace o uzlu: H(S), počet prvků. Rozhodn, zda dělt 3. Vypočítej průměrnou neuspořádanost dosud nepoužtých atrbutů H(S A ) 4. Vyber atrbut s nejnžším H(S A ) 6
ID3 chybějící atrbuty základní prncpy Nahraď chybějící hodnotu atrbutu hodnotou, která se vyskytuje v daném uzlu nejčastěj Nahraď chybějící hodnotu atrbutu hodnotou, která je nejčastější ve třídě, kterou záznam popsuje V dalších verzích algortmu typu ID3 (C4.5, C5.0) odlšný přístup 7
ID3 zadání příkladu Osoba č. Barva vlasů Výška Váha Opalovací krém Spálla se blond průměrná malá ne ano blond velká průměrná ano ne 3 hnědé malá průměrná ano ne 4 blond malá průměrná ne ano 5 zrzavé průměrná velká ne ano 6 hnědé velká velká ne ne 7 hnědé průměrná velká ne ne 8 blond malá malá ano ne 8
ID3 řešení příkladu Entrope jednotlvých atrbutů H 4 8 4 4 4 S Barva valsů log log 0 0 0, 5 H(S Výška) = 0,69 H(S Váha) = 0,94 H(S Opalovací krém) = 0,6 4 3 8 8 Informační zsk I(S,A) = H(S) H(S A) = 0,95 0,5 = 0,45 Umět spočítat 9
ID3 - výsledný strom Zrzavá Spálí se Barva vlasů Blond Opalovací krém Hnědá Nespálí se Ne Spálí se Ano Nespálí se 0
Ukončovací podmínky Maxmální hloubka Maxmální počet uzlů Požadovaná přesnost Nedostatečný počet trénovacích dat Uveď alespoň 3 různé ukončovací podmínky pro zastavení větvení RS.
Chybové funkce v RS Gn c p G C Entrope p G pg log Msclass p G J Chyba [-] 0,5 0,45 0,4 0,35 0,3 0,5 0, 0,5 0, 0,05 0 gn entrope/ msclass 0 0, 0, 0,3 0,4 0,5 0,6 0,7 0,8 0,9 p(g) [-]
Přeučení RS Zamezení ukončovací podmínkou Prořezávání 45 Chyba [%] 40 35 30 5 0 5 0 5 0 Trénovací data Testovací data 0 0 40 60 80 00 Počet uzlů [-] 3
Prořezávání RS metoda Reduced-Error Prunng dělí data na trénovací (/3) a valdační (/3) algortmus: nauč RS na všechna trénovací data (přeuč) opakuj na valdačních datech, dokud vznká nový RS zkus postupně všechny uzly v RS nahradt lstem (dle valdačních dat) a vyhodnoť všechny nové stromy vyber z těchto nových stromů nejlepší a je-l přesnější než předtím platný RS, nahraď RS tímto novým stromem 4
Prořezávání RS metoda Rule Post-Prunng nový model obecnější (zahrnuje hypotézy pomocí RS nepokryté) algortmus: převeď přeučený RS na pravdla v každém pravdle zkus odstrant všechny kombnace podmínek, urč přesnost (accuracy) a nejlepší podmínku (včetně původní) ulož seřaď a používej pravdla v pořadí dle accuracy Čím je specfcký model po prořezávání metodou Rule Post Prunng? 5
Prořezávání RS metoda Rule Post-Prunng A B C D rozdělení prostoru původním RS, platné po přepsu do pravdel co se stane, pokud z pravdla D vypuštěna první podmínka (první dělení) a vznkne nové pravdlo D? pokud bude pravdlo B před D, tak nc pokud se octne pravdlo D před B, dojde k novému rozdělení prostoru, které v původním RS neexstovalo A B D C 6
C4.5 základní vlastnost Algortmus rozšřuje ID3 vychází tedy z entrope a nformačního zsku Hlavní zlepšení oprot ID3 Vstupní kvanttatvní velčny Lepší ošetření chybějících hodnot atrbutů praktcky použtelné Další zlepšení C5.0, chráněno lcencí, autorská práva Jaký je rozdíl mez algortmy C4.5 a ID3? 7
C4.5 entrope a atrbuty U kvaltatvních atrbutů jako u ID3 U kvanttatvních nastavení prahu, který atrbut dělí na dvě polovny (bnární větvení) Kvanttatvní atrbut je převeden v uzlu na nomnální atrbut (práh bnární, ntervaly - vícerozměrné) Kvanttatvní atrbut však může být použt opakovaně pro dělení (do nového uzlu se předává původní kvanttatvní nformace) 8
C4.5 nformace o uzlu Stav v uzlu S S, počet prvků v uzlu S H(S), entrope v uzlu S {A}, množna atrbutů A, které lze použít k větvení Ohodnocení kvalty dělení uzlu dle A A, výčet atrbutu (počet možných hodnot A) I(S,A), nformační zsk př větvení dle A P(S A), poměrový zsk př větvení dle A I P (S,A), poměrový nformační zsk (gan rato) 9
C4.5 výpočty I(S,A), nformační zsk S, A H S H S A I P(S,A), poměrový zsk (kvůl ID, datumu, ) P S A log S S I P (S,A), poměrový nformační zsk A S I S, I S A P, P S, A A S 30
C4.5 krtéra dělení Dvě krtéra Dělí se atrbutem s největším poměrným nformačním zskem I P (S,A) Dělt lze pouze podle atrbutu, jehož nformační zsk je mnmálně průměrný (průměr spočten za použtí všech použtelných atrbutů A ) Vypočítám tedy pro všechny atrbuty I(S,A), určím jejch průměr a pouze pro hodnoty průměrné a vyšší zjstím poměrný nformační zsk I P (S,A) 3
3 C4.5 chybějící atrbuty I(S,A), nformační zsk kde S 0 je počet prvků s chybějící hodnotou A P(S,A), poměrový zsk A S H S H S S S A S I, 0 S S S S S S S S A S P A 0 0 log log, Úvod Termnologe Dělení Prncp ID3 C4.5 CART Shrnutí
C4.5 kvanttatvní atrbut Vypočt pro kvanttatvní velčnu X optmální práh maxmalzující nformační zsk (mnmalzující entrop). 33
C4.5 kvanttatvní atrbut na jehož základě klasfkujeme do tříd 34
C4.5 kvanttatvní atrbut Pro jednotlvé prahy hledáme optmum (maxmální nformační zsk = mn. entrope) 35
C4.5 kvanttatvní atrbut Z grafu stanoven optmální práh = 4,8 36
C4.5 příklad den obloha teplota Vlhkost vítr hrát tens?. slunečno 9,5 85 slabý NE. slunečno 6,5 90 slný NE 3. zataženo 8,5 78 slabý ANO 4. déšť 96 slabý ANO 5. déšť 0 80 slabý ANO 6. déšť 8,5 70 slný NE 7. zataženo 8 65 slný ANO 8. slunečno 95 slabý NE 9. slunečno 70 slabý ANO 0. déšť 4 80 slabý ANO. slunečno 4 70 slný ANO. zataženo 90 slný ANO 3. zataženo 7 75 slabý ANO 4. déšť,5 80 slný NE Bude se hrát 5. den? <slunečno,0,90,slný> 37
C4.5 příklad, urč I(S,A) H(S Obloha)=-(5+5)/4. (0,6log 0,6+0,4log 0,4)=0,694 I(S Obloha)=H(S)-H(S Obloha)=0,94-0,694=0,47 H(S Teplota 9)=0,87 I(S,Teplota 9)=H(S)-H(S Teplota 9)=0,94-0,87=0,3 38
C4.5 příklad, vyber A I(S,Obloha)=H(S)-H(S Obloha)=0,94-0,694=0,47 I(S,Teplota 9)=H(S)-H(S Teplota 9)=0,94-0,87=0,3 I(S,Vlhkost 80)=H(S)-H(S Vlhkost 80)=0,94-0,838=0,0 I(S,Vítr)=H(S)-H(S Vítr)=0,94-0,89=0,048 Průměr I (S, A)=0,8, I(S,A) I (S, A) splňuje pouze obloha Následující výpočet pro tento případ tedy není nutný (jen jeden atrbut splňuje podmínku), ncméně: P(S,Obloha)= 5 5 4 log log 4 4 4 I P (S,Obloha)=0,47 /,577 = 0,57 4 4,577 39
C4.5 příklad Obloha slunečno oblačno déšť Vlhkost 4 Vítr 75 >75 ANO ano ne 3 3 ANO NE NE ANO Bude se hrát 5. den? <slunečno,teplota=0,vlhkost=90,slný> 40
CART - regresní CART Classfcaton and Regresson tree bnární topologe lbovolné vstupní výstupní proměnné dělení podle jednoho atrbutu může způsobt, že není schopen aproxmovat jednoduchou závslost 4
CART příklad Modelovaná závslost: f(x,y)=x-y f(x,y)> 0 o f(x,y) 0 + y 0 9 8 7 6 5 4 3 0 0 4 6 8 0 x 4
CART řešení dělcí podmínka = 0 prvků šum =0 % 0 9 8 7 6 y 5 x < 3.6803 4 3 x x <.6986 x < 6.77803 o x < 4.8973 x < 8.7587 0 0 4 6 8 0 x x < 5.85798 x o x o x 43
CART řešení dělcí podmínka = prvky šum =0 % 0 9 8 7 6 y 5 4 x < 3.6803 x <.6986 x < 6.77803 x <.807 x <.3046 x < 4.8973 x < 8.7587 3 0 0 4 6 8 0 x x <.308 x < 5.85798 x < 7.75008 x < 9.386 o x o x x < 8.0596 o x o x o x o 44 x o
CART řešení dělcí podmínka = prvky šum =5 % 0 9 8 7 6 y 5 4 o x o x x x <.045 x <.6683 x < 5.0037 x < 0.89663 x < 9.86449 x < 3.4336 x < 6.53658 x < 9.808 x < 4.967 x < 6.64597 x < 8.6 x < 9.57 x < 4.3745x < 3.387 x < 5.3837 x < 5.40 x o 3 0 0 4 6 8 0 x x < 3.30 x < 3.7577 x < 3.955 x < 6.495 x < 5.966 x < 7.69x < 7.80096 o x o o x x < 3.099 x < 3.853 x < 6. x < 6.0608 x < 8.0 x o o x x x o x o x < 6.6835 x < 6.0068 x o x o o x o x 45 x o x o
CART řešení dělcí podmínka = 0 prvky šum =5 % 0 9 8 7 6 y 5 x x <.045 x <.6683 x < 5.0037 x < 9.86449 x < 3.4336 x < 6.53658 x < 4.967 x < 6.64597 x < 8.6 o x x 4 3 0 0 4 6 8 0 x x < 3.387 x < 5.3837 x < 5.40 o o o x < 6.495 o x x o x 46 o x
CART použtí neumí nalézt vícerozměrnou závslost skutečnost, že nelze vygenerovat kvaltní strom neznamená, že v datech není jednoduchá funkční závslost řešením př generování složtých stromů je zpřísnt dělící podmínky (generalzace vs. přeučenost) 47
CART regresní V cyklu opakuj. Získej nformace o uzlu. Rozhodn o uzlu, zda bude dál dělen 3. Vyber nejlepší atrbut na větvení 4. Rozděl data do nových uzlů/lstů Prořezej strom 48
49. Informace o uzlu U k k N U N y y k k N N U p k k k N U k N y y U s k k N y y U s p U U rsk k k N U k k k. Průměr výstupní velčny. Pravděpodobnost uzlu 3. Rozptyl v uzlu 4. Rzko Úvod Termnologe Dělení Prncp ID3 C4.5 CART Shrnutí
. Rozdělt uzel U k? Mnmální požadovaný počet prvků N k v uzlu U k N k N mn Posouzení skutečného a požadovaného rozptylu (přesnost) v uzlu U k s Uk s 6 s U 0 s U k mn 50
5 3. Nejlepší dělení U k Výpočet metodou nejmenších čtverců mnmalzace rozptylu (tedy chyby Err). Vždy bnární dělení, U L (U P ) rozptyl v levém (pravém) novém uzlu Vážená metoda Úvod Termnologe Dělení Prncp ID3 C4.5 CART Shrnutí L U P P P U L L U y y y y y y U Err P U P P P L U L L L U U y y p U p U U y y p U p U U y y U Err P L
4. Nejlepšího dělení, ukončovací podmínky Volí se atrbut s nejmenší chybou Err Ukončovací podmínky Rozptyl menší než požadované mnmum Hloubka stromu Počet prvků (v uzlu, v poduzlech) Zpřesnění větvením menší než požadované mnmum 5
CART prořezávání Je-l normovaný součet chyb lstů větší než chyba jejch nadřazeného uzlu, odstraň lsty. Prořezávání umožňuje hlubší zásah do struktury stromu. Je-l normovaný součet chyb všech lstů spadající pod lbovolný uzel větší než chyba tohoto uzlu, je odstraněn celý podstrom 53
Shrnutí Rozhodovací strom je herarchcký nelneární systém umožňující nalezení a uložení znalostí a jejch využtí k analýze nových dat. Rozhodovací stromy jsou prmárně používány pro klasfkac kvaltatvních závslých proměnných na základě vstupních atrbutů. Hlavním přednostm a charakterstckým rysy rozhodovacích stromů jsou: herarchcká struktura, nelnearta, srozumtelnost a čtelnost, flexblta (co do typu analyzovaných dat co do topologe) a exstence algortmů, které umožňují jejch automatcké vytváření. Příkladem algortmů jsou např. ID3, CART nebo CHAID. Rozhodovací strom se skládá z kořenového uzlu a dalších uzlů a lstů. Větve spojují dva objekty (uzel-uzel nebo uzel-lst) ze sousední herarchcké úrovně. Př průchodu uzlem jsou data rozdělena na základě podmínky do větví z uzlu vycházejících. Podmínka se může týkat hodnoty jednoho nebo kombnace více atrbutů. Dosažení lstu př průchodu rozhodovacím stromem vede ke klasfkac nebo predkc hodnoty výstupní velčny analyzovaného záznamu. Dalším důležtým pojmy jsou přeučený strom (extrahoval chybné znalost ze šumu č chyb v trénovacích datech), prořezávání (metody ke zmenšování přeučených nebo přílš komplexních stromů) a ukončovací podmínka (určuje, kdy algortmus přestává dále vytvářet rozhodovací strom; špatné nastavení vede k přeučení). 54