5.1 Rozhodovací stromy



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

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

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

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

Rozhodovací pravidla

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

IBM SPSS Decision Trees

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

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

Rozhodovací stromy a lesy

DATA MINING KLASIFIKACE DMINA LS 2009/2010

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

AVDAT Mnohorozměrné metody, metody klasifikace

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

Připomeň: Shluková analýza

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

Strojové učení Marta Vomlelová

Moderní systémy pro získávání znalostí z informací a dat

KLASIFIKAČNÍ A REGRESNÍ LESY

Statistická teorie učení

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

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

Regresní analýza 1. Regresní analýza

Metody založené na analogii

Rozhodovací stromy a jejich konstrukce z dat

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

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

Chybějící atributy a postupy pro jejich náhradu

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

Stavový model a Kalmanův filtr

DOBÝVÁNÍ ZNALOSTÍ Z DATABÁZÍ

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

Úloha 1: Lineární kalibrace

Kontingenční tabulky v MS Excel 2010

ANALÝZA A KLASIFIKACE DAT

7. Rozdělení pravděpodobnosti ve statistice

10. Předpovídání - aplikace regresní úlohy

Rozhodovací stromy a jejich konstrukce z dat

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

Popisná statistika. Statistika pro sociology

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

2. Základní typy dat Spojitá a kategoriální data Základní popisné statistiky Frekvenční tabulky Grafický popis dat

Pojem a úkoly statistiky

7. přednáška Systémová analýza a modelování. Přiřazovací problém

Bayesovská klasifikace

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Popisná statistika. Komentované řešení pomocí MS Excel

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

UNIVERZITA OBRANY Fakulta ekonomiky a managementu. Aplikace STAT1. Výsledek řešení projektu PRO HORR2011 a PRO GRAM

Projekt LISp-Miner. M. Šimůnek

JEDNOVÝBĚROVÉ TESTY. Komentované řešení pomocí programu Statistica

TECHNICKÁ UNIVERZITA V LIBERCI

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

STATISTICKÉ ZJIŠŤOVÁNÍ

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

Neparametrické metody

Řízení projektů. Konstrukce síťového grafu pro řízení projektů Metoda CPM Metoda PERT

Lineární klasifikátory

Tabulka 1. Výběr z datové tabulky

Popisná statistika kvantitativní veličiny

Číselné charakteristiky a jejich výpočet

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

Základy umělé inteligence

STATISTICKÉ ODHADY Odhady populačních charakteristik

Protokol č. 1. Tloušťková struktura. Zadání:

Jednoduché cykly

SEMESTRÁLNÍ PRÁCE. Leptání plasmou. Ing. Pavel Bouchalík

Usuzování za neurčitosti

AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza

Charakteristika datového souboru

Analýza dat na PC I.

2 Zpracování naměřených dat. 2.1 Gaussův zákon chyb. 2.2 Náhodná veličina a její rozdělení

Statistika, Biostatistika pro kombinované studium Letní semestr 2011/2012. Tutoriál č. 4: Exploratorní analýza. Jan Kracík

Polynomy a interpolace text neobsahuje přesné matematické definice, pouze jejich vysvětlení

UNIVERZITA PARDUBICE KLASIFIKAČNÍ ÚLOHY PRO DATA MINING. Fakulta ekonomicko-správní Ústav systémového inženýrství a informatiky.

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

Analýza dat z dotazníkových šetření. Zdrojová data: dotazník

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

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. ledna 2017

Korelační a regresní analýza. 1. Pearsonův korelační koeficient 2. jednoduchá regresní analýza 3. vícenásobná regresní analýza

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

5.8 Induktivní logické programování

Bodové odhady parametrů a výstupů

Náhodné chyby přímých měření

Náplň. v Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění

Copyright 2013 Martin Kaňka;

5. Lokální, vázané a globální extrémy

DRG systém klasifikuje případy akutní hospitalizační péče do DRG skupin DRG skupiny = nákladově homogenní a klinicky příbuzné skupiny případů

Rozhodnutí / Skutečnost platí neplatí Nezamítáme správně chyba 2. druhu Zamítáme chyba 1. druhu správně

12. Lineární programování

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

Učení z klasifikovaných dat

Regulační diagramy (RD)

6 Ordinální informace o kritériích

1.5.2 Číselné soustavy II

Dijkstrův algoritmus

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář,

jedna hrana pro každou možnou hodnotu tohoto atributu; listy jsou označeny předpokládanou hodnotou cílového atributu Atribut Outlook

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

Transkript:

5.1 Rozhodovací stromy 5.1.1 Základní algoritmus Způsob reprezentování znalostí v podobě rozhodovacích stromů je dobře znám z řady oblastí. Vzpomeňme jen nejrůznějších klíčů k určování různých živočichů nebo rostlin známých z biologie. Indukce rozhodovacích stromů patří k nejznámějším algoritmům z oblasti symbolických metod strojového učení. Při tvorbě rozhodovacího stromu se postupuje metodou rozděl a panuj (divide and concquer). Trénovací data se postupně rozdělují na menší a menší podmnožiny (uzly stromu) tak, aby v těchto podmnožinách převládaly příklady jedné třídy. Na počátku tvoří celá trénovací data jednu množinu, na konci máme podmnožiny tvořené příklady téže třídy [Quinlan, 1979]. Tento postup bývá často nazýván top down induction of decision trees (TDIDT). Postupuje se tedy metodou specializace v prostoru hypotéz (stromů) shora dolů, počínaje stromem s jedním uzlem (kořenem). Cílem je nalézt nějaký strom konzistentní s trénovacími daty 1, přitom se dává přednost menším, jednodušším stromům. Obecné schéma algoritmu pro tvorbu rozhodovacích stromů je na Obr. 1. TDIDT algoritmus 1. zvol jeden atribut jako kořen dílčího stromu, 2. rozděl data v tomto uzlu na podmnožiny podle hodnot zvoleného atributu a přidej uzel pro každou podmnožinu, 3. existuje-li uzel, pro který nepatří všechna data do téže třídy, pro tento uzel opakuj postup od bodu 1, jinak skonči. Obr. 1 Obecný algoritmus pro tvorbu rozhodovacích stromů Uvedený algoritmus bude fungovat pro kategoriální data (počet podmnožin-uzlů vytvářený v kroku 2 odpovídá počtu hodnot daného atributu), která nejsou zatížena šumem (růst stromu se podle bodu 3 zastaví v okamžiku, kdy všechny příklady v daném uzlu patří do téže třídy). V dalších částech této kapitoly uvidíme, jak se dají tato dvě omezení překonat. Nejprve se však zaměříme na klíčovou otázku celého algoritmu; jak vybrat vhodný atribut pro větvení stromu (bod 1). Cíl je zřejmý: vybrat takový atribut, který od sebe nejlépe odliší příklady různých tříd. Vodítkem pro volbu jsou charakteristiky atributu převzaté z teorie informace nebo pravděpodobnosti: entropie, informační zisk, poměrný informační zisk, χ 2, nebo Gini index 2. Entropie je pojem používaný v přírodních vědách (např. fyzika) pro vyjádření míry neuspořádanosti nějakého systému. V teorii informace je entropie definovaná jako funkce T H = - (pt * log 2 p t ), t=1 kde p t je pravděpodobnost výskytu třídy t (v našem případě relativní četnost třídy t počítaná na určité množině příkladů) a T je počet tříd. Podobu funkce H v případě dvou tříd ukazuje Obr. 2. Graf znázorňuje průběh entropie v závislosti na pravděpodobnosti p jedné ze tříd. Je-li p=1 (všechny příklady patří do této třídy) nebo p=0 (žádný příklad nepatří do této třídy), je entropie nulová. Jsou-li obě třídy zastoupeny stejným počtem příkladů (p=0.5), je entropie maximální. 1 Připomeňme, že algoritmus Candidate-Elimination hledal všechny takové hypotézy. 2 Jsou i jiné možnosti. Např. Mantaras [Mantaras, 1991] používá pro výběr atributu vzdálenost mezi atributem a třídou. 1

Obr. 2 Entropie Výpočet entropie pro jeden atribut se provádí následujícím způsobem: 1. Pro každou hodnotu v, kterou může nabýt uvažovaný atribut A spočítej podle výše uvedeného vzorce entropii H(A(v)) na skupině příkladů, které jsou pokryty kategorií A(v) H(A(v)) = - T t=1 n t ( A(v)) n(a(v)) nt ( A(v)) log n(a(v)) 2. Spočítej střední entropii H(A) jako vážený součet entropií H(A(v)), přičemž váhy v součtu jsou relativní četnosti kategorií A(v) v datech D TR n(a(v)) H(A) = n H(A(v)) v Val(A) Pro větvení stromu se pak vybere atribut s nejmenší entropií H(A). Informační zisk (information gain) i poměrný informační zisk (information gain ratio) jsou míry odvozené z entropie. Informační zisk se spočítá jako rozdíl entropie pro celá data (pro cílový atribut) a pro uvažovaný atribut. Informační zisk tak měří redukci entropie způsobenou volbou atributu A: kde Zisk(A) = H(C) - H(A) H(C) = - T n t n t n log n t=1 Zatímco v případě entropie jsme hledali atribut s minimální hodnotou, v případě informačního zisku hledáme atribut s maximální hodnotou. To je logické, uvážíme-li, že entropie počítané pro celá data nezávisí na atributu. První člen rozdílu je tedy konstantní, takže rozdíl bude maximální v případě, že druhý člen rozdílu bude minimální.

Uvedená dvě kritéria mají jednu nevýhodu; neberou do úvahy počet hodnot zvoleného atributu. Důležité je pouze to, jak dobře tento atribut od sebe odliší příklady různých tříd. Pokud bychom jako atribut pro větvení vybrali např. pořadové číslo příkladu, dosáhneme nejnižší (nulovou) entropii, protože jedné hodnotě atributu odpovídá jediný objekt. Tento atribut by nám tedy umožnil bezchybně klasifikovat trénovací data (tak, že bychom si pamatovali, který objekt patří do které třídy), byl by ale zcela nepoužitelný pro klasifikaci nových příkladů. Proto se někdy používá jako kritérium pro volbu atributu poměrný informační zisk (information gain ratio), který kromě entropie bere do úvahy i počet hodnot atributu. Poměrný zisk(a) = Zisk(A) Větvení(A) Jmenovatel ve výše uvedeném vztahu je vlastně entropie dat vzhledem k hodnotám atributu A 3 : Větvení(A) = - n(a(v)) n log n(a(v)) n. v Val(A) Stejnou roli, jako hrála v předcházejících úvahách entropie, může hrát i tzv. Gini index. Tento index se spočítá jako T Gini = 1 - (pt 2), t=1 kde p t je opět relativní počet příkladů t-té třídy zjišťovaný na nějaké (pod)množině. Graf závislosti Gini indexu na pravděpodobnosti jedné ze dvou tříd ukazuje Obr. 3. Opět je hodnota indexu minimální v případě, že příklady patří do jedné ze tříd, a maximální v případě, že příklady jsou rovnoměrně rozděleny mezi obě třídy. Obr. 3 Gini index 3 V předcházejících úvahách jsme pracovali s entropií dat vzhledem k cílovým třídám. Zde je tedy entropie použita v trochu jiném smyslu. 3

Hodnotu Gini indexu pro jeden atribut spočítáme analogicky jako hodnotu entropie pro jeden atribut. Tedy tak, že pro každý atribut spočítáme vážený součet indexu pro jednotlivé hodnoty atributu, přičemž váhy budou opět relativní četnosti příslušných hodnot n(a(v)) Gini(A) = n Gini(A(v)), Gini(A(v)) = 1 - v Val(A) T t=1 n(a(v)) t n(a(v)) Pro větvení použijeme atribut, který bude mít nejmenší hodnotu tohoto indexu. Můžeme samozřejmě maximalizovat i rozdíl mezi Gini indexem počítaným pro cílový atribut a Gini indexem jednoho atributu (analogie s informačním ziskem) Gini(C) - Gini(A). 2 kde Gini(C) = 1 - T t=1 n t n 2. Jako kritérium pro volbu atributu je možno použít i χ 2. Tato míra, umožňující vyhodnocovat vzájemnou souvislost mezi dvěma atributy, je podrobněji popsaná v kapitole věnované statistickým metodám. Při volbě vhodného atributu pro větvení stromu se postupuje tak, že se vybere atribut, který nejvíce souvisí s cílovým atributem (χ 2 má největší hodnotu). Celý postup indukce rozhodovacího stromu snad lépe osvětlí následující numerický příklad. Vezměme data uvedená v Tab. 1. Na počátku jsou všechny trénovací příklady v jedné množině. Volbu atributu pro první větvení budeme tedy vybírat na základě všech 12 příkladů tak, že spočítáme entropii pro jednotlivé atributy. Budeme zjišťovat jak jsou jednotlivé hodnoty atributu rozděleny mezi příklady obou tříd. klient příjem konto pohlaví nezaměstnaný úvěr k1 vysoký vysoké žena ne ano k2 vysoký vysoké muž ne ano k3 nízký nízké muž ne ne k4 nízký vysoké žena ano ano k5 nízký vysoké muž ano ano k6 nízký nízké žena ano ne k7 vysoký nízké muž ne ano k8 vysoký nízké žena ano ano k9 nízký střední muž ano ne k10 vysoký střední žena ne ano k11 nízký střední žena ano ne k12 nízký střední muž ne ano Tab. 1 Příklad dat pro tvorbu stromu úvěr ano ne příjem [vysoký : 5.0 0.0] [nízký : 3.0 4.0] Tab. 2 Příjem vs. úvěr

Entropii pro atribut příjem spočítáme z údajů v Tab. 2, tedy přičemž H(příjem) = 5/12 H(příjem(vysoký)) + 7/12 H(příjem(nízký)), H(příjem(vysoký)) = - p + log 2 p + - p - log 2 p - = -5/5 log 2 5/5-0/5 log 2 0/5 = 0 + 0 = 0, H(příjem(nízký)) = - p + log 2 p + - p - log 2 p - = - 3/7 log 2 3/7-4/7 log 2 4/7 = 0.9852. Tedy H(příjem) = 5/12 0 + 7/12 0.9852 = 0.5747. Podobně spočítáme entropie pro další atributy H(konto) = 4/12 H(konto(vysoké)) + 4/12 H(konto(střední)) + 4/12 H(konto(nízké)) = 1/3 0 + 1/3 1 + 1/3 1 = 0.6667 H(pohlaví) = 6/12 H(pohlaví(muž)) + 6/12 H(pohlaví(žena)) = 1/2 0.9183 + 1/2 0.9183 = 0.9183 H(nezaměstnaný) = 6/12 H(nezaměstnaný(ano)) + 6/12 H(nezaměstnaný(ne)) = 1/2 1 + 1/2 0.6500 = 0.8250 Pro větvení tedy vybereme atribut příjem. Dostaneme tak dvě podmnožiny trénovacích dat: příklady pokryté kategorií příjem(vysoký) patří všechny do třídy úvěr(ano), příklady pokryté kategorií příjem(nízký) patří do různých tříd. V následujícím kroku algoritmu TDIDT tedy budeme hledat atribut, který od sebe oddělí příklady s nízkým příjmem. Pro atributy konto, pohlaví a nezaměstnaný tedy budeme opět počítat entropii, tentokrát ale již jen na skupině 7 příkladů, klientů s nízkým příjmem: H(konto) = 2/7 H(konto(vysoké)) + 3/7 H(konto(střední)) + 2/7 H(konto(nízké)) = 2/7 0 + 3/7 0.9183 + 2/7 0 = 0.3935 H(pohlaví) = 4/7 H(pohlaví(muž)) + 3/7 H(pohlaví(žena)) = 4/7 1 + 3/7 0.9183 = 0.9650 H(nezaměstnaný) = 5/7 H(nezaměstnaný(ano)) + 2/7 H(nezaměstnaný(ne)) = 5/7 0.9709 + 2/7 1 = 0.9792 Klienty s nízkým příjmem tedy budeme větvit na základě výše konta. Příklady pokryté kategorií konto(vysoké) patří do třídy úvěr(ano), příklady pokryté kategorií konto(nízké) patří do třídy úvěr(ne). Zbývají příklady pokryté kategorií konto(střední) (a příjem(nízký)), které patří do různých tříd. Budeme tedy pokračovat ve větvení podle jednoho z atributů pohlaví, nezaměstnaný. Opět spočítáme entropii, nyní pro tři příklady pokryté kombinací konto(střední) příjem(nízký) : H(pohlaví) = 2/3 H(pohlaví(muž)) + 1/3 H(pohlaví(žena)) = 2/3 1 + 1/3 0 = 0.6667 H(nezaměstnaný) = 2/3 H(nezaměstnaný(ano)) + 1/3 H(nezaměstnaný(ne)) = 2/3 0 + 1/3 0 = 0 Vybereme atribut nezaměstnaný, který bezchybně rozdělí zbylé tři příklady. Výsledný strom je na Obr. 4. V nelistových uzlech stromu jsou uvedeny atributy použité při větvení, hrany stromu odpovídají hodnotám těchto atributů, a v listech stromu je informace o přiřazení ke třídě. 5

Obr. 4 Úplný rozhodovací strom Použití rozhodovacího stromu pro klasifikaci nových případů je velmi prosté. Počínaje kořenem stromu se postupně zjišťují hodnoty atributů. Konkrétní hodnota odpovídá určité větvi, která nás přivede k dalšímu atributu, atd, až se dostaneme do listového uzlu, který odpovídá třídě, do které máme nový příklad zařadit. Tedy např. klient s charakteristikami [nízký, nízké, muž, ano] bude na základě větve, která je na Obr. 4 úplně vpravo, zařazen do třídy úvěr(ne). Povšimněme si, že uvedený klient nebyl součástí trénovacích dat. Náš strom má tedy schopnost generalizovat. 5.1.2 Převod stromu na pravidla Výše uvedený příklad použití rozhodovacího stromu naznačuje, jak lze převést rozhodovací strom na sadu rozhodovacích pravidel. Každé cestě stromem od kořene k listu odpovídá jedno pravidlo. Nelistové uzly (atributy) se (spolu s hodnotou pro příslušnou hranu) objeví v předpokladu pravidla, listový uzel (cíl) bude v závěru pravidla. Tedy rozhodovací strom z Obr. 4 lze přepsat na pravidla uvedená na Obr. 5. Převádění stromu na pravidla zvyšuje srozumitelnost nalezených znalostí, může být i vhodnější pro automatizované použití v nějakém klasifikačním systému (seznam pravidel se snadněji kóduje a strojově interpretuje). IF příjem(vysoký) THEN úvěr(ano) IF příjem(nízký) konto(vysoké) THEN úvěr(ano) IF příjem(nízký) konto(střední) nezaměstnaný(ano) IF příjem(nízký) konto(střední) nezaměstnaný(ne) IF příjem(nízký) konto(nízké) THEN úvěr(ne) THEN úvěr(ne) THEN úvěr(ano) Obr. 5 Strom převedený na pravidla

5.1.3 Prořezávání stromů Rozhodovací strom z Obr. 4 bezchybně klasifikuje všechny trénovací příklady uvedené v Tab. 1. Postupuje tedy důsledně podle algoritmu TDIDT; větvení skončí až ve chvíli, kdy všechny příklady odpovídající jednotlivým listovým uzlům patří do téže třídy (krok 3 algoritmu). Někdy tento postup však není ani žádoucí, ani možný. Požadavek na bezchybnou klasifikaci trénovacích dat může vést k přeučení (overfitting). Navíc bývá výsledný strom příliš košatý a tedy málo srozumitelný. Bezchybná klasifikace trénovacích dat nebývá možná v situacích, kdy jsou trénovací data zatížena šumem. Proto se v realizovaných implementacích algoritmu požaduje, aby v listovém uzlu převažovaly příklady jedné třídy. Vedlejším efektem této změny je skutečnost, že výsledný strom bývá menší a tedy srozumitelnější pro interpretaci (ovšem za cenu zhoršeného chování při klasifikaci trénovacích dat). K tomuto redukovanému stromu se lze propracovat dvěma způsoby: modifikací původního algoritmu (redukovaný strom se vytvoří přímo), nebo následným prořezáním (post-pruning) úplného stromu. V praktických úlohách se jako úspěšnější osvědčil druhý způsob (je totiž poměrně obtížné poznat, kdy předčasně ukončit růst stromu). Zde se nejprve (i za cenu přeučení) vytvoří úplný strom. Ve fázi prořezávání se pak pro jednotlivé nelistové uzly posuzuje, do jaké míry zhorší náhrada tohoto uzlu (a tedy i odpovídajícího podstromu) listem. Náhrada nelistového uzlu listem totiž znamená, že všechny příklady v tomto uzlu, budou zařazeny do téže třídy. Při vytváření redukovaného stromu (ať už prvním nebo druhým způsobem) je klíčovou otázkou jak poznat, kdy lze nelistový uzel nahradit listem. K rozhodnutí lze použít buď nová data (tzv. validační), která se použijí pro testování uvažované redukce, nebo se vhodnost redukce odhaduje na základě statistického testu pouze z trénovacích dat. Jako příklad prořezávání zmiňme prořezávání založené na pravidlech (Obr. 6). Uvedený algoritmus odhaduje vhodnost prořezávání na základě trénovacích dat. Používá se při tom pesimistický odhad toho, jak se bude pravidlo chovat při klasifikaci dat neznámých 4 : 1. Spočítej správnost pravidla na trénovacích datech jako podíl správně klasifikovaných příkladů pokrytých pravidlem a všech příkladů pokrytých pravidlem, 2. Spočítej směrodatnou odchylku této správnosti (za předpokladu binomického rozdělení, kdy zjišťujeme pravděpodobnost, že na daném počtu příkladů dosáhneme daný počet správných rozhodnutí), 3. Vezmi dolní odhad správnosti pro zvolený interval spolehlivosti jako hledanou charakteristiku pravidla. Tedy např. pro interval spolehlivosti 95% bude dolní odhad správnosti pravidla pro nová data správnost na trénovacích datech 1.96 směrodatná odchylka Použijeme-li uvedený postup na strom z Obr. 4, získáme strom uvedený na Obr. 7. Na rozdíl od úplného stromu, který klasifikoval trénovací příklady bezchybně, se nyní dopustíme jedné chyby. Algoritmus prořezávání 1. převeď strom na pravidla, 2. generalizuj pravidlo odstraněním podmínky z předpokladu, pokud dojde ke zlepšení odhadované správnosti, 3. uspořádej prořezaná pravidla podle odhadované správnosti; v tomto pořadí budou pravidla použita pro klasifikaci Obr. 6 Algoritmus prořezávánírozhodovacího stromu 4 Tento postup lze použít i pro odhad přesnosti celého stromu (modelu). 7

Obr. 7 Prořezaný rozhodovací strom 5.1.4 Numerické atributy V případě numerických atributů musíme řešit problém s velkým počtem možných hodnot. Nelze tedy pro každou hodnotu vytvořit samostatnou větev. Pomocí bývá rozdělení oboru hodnot na intervaly. Tyto intervaly pak považujeme za diskrétní hodnoty atributu 5. Problém práce s numerickými atributy se obvykle řeší v kroku předzpracování, tak, jak je uvedeno v příslušné kapitole. Systémy pro tvorbu rozhodovacích stromů mívají ale metody diskretizace přímo zabudovány v sobě. V nejjednodušším případě se provádí rozdělení na dva intervaly, tzv. binarizace. Využívá se informace o tom, do které třídy patří příklad s konkrétní hodnotou diskretizovaného atributu; svou roli tedy opět může sehrát entropie. Při hledání dělícího bodu (cut-point), který rozdělí hodnoty do dvou intervalů, se postupuje následujícím způsobem: 1. Seřaď vzestupně hodnoty diskretizovaného atributu A, 2. Pro každé možnou hodnotu dělícího bodu θ 6 spočítej střední entropii atributu H(A θ ) = n(a(<θ)) n H(A(<θ)) + n(a(>θ)) n H(A(>θ)) Kde první člen součtu se týká příkladů, které mají hodnotu atributu menší než θ ( H(A(<θ)) je entropie na těchto příkladech, n(a(<θ))/n je relativní četnost těchto příkladů), druhý člen součtu se analogicky týká příkladů, které mají hodnotu atributu větší než θ. 3. Vyber dělící bod, který dá nejmenší entropii. Uvedená binarizace se provádí on-line, v průběhu vytváření stromu. V kroku 2 algoritmu TDIDT se tedy berou do úvahy jak atributy kategoriální, tak numerické, u numerických se ale nejprve hledá vhodný práh pro binarizaci. Na rozdíl od kategoriálních atributů se může v jedné větvi stromu opakovat test na tentýž numerický atribut. 5 Podobný problém nastane i u kategoriálních atributů, které nabývají velkého počtu hodnot (např. poštovní směrovací čísla, nebo kódy profesí). V takovýchto situacích lze postupovat analogicky, tedy vytvářet skupiny hodnot. Není-li atribut ordinální, nelze ale již využít přirozeného uspořádání. 6 Postupně se zkouší vložit dělící bod θ doprostřed mezi každé dvě po sobě následující hodnoty atributu.

Klient příjem konto úvěr K101 3000 15000 ne K102 10000 15000 ne K103 17000 15000 ano K104 5000 30000 ne K105 15000 30000 ano K106 20000 50000 ano K107 2000 60000 ne K108 5000 90000 ano K109 10000 90000 ano K110 20000 90000 ano K111 10000 100000 ano K112 17000 100000 ano Tab. 3 Numerická data úvěr ano ne konto [<22500 : 1.0 2.0] [>22500 : 7.0 2.0] Tab. 4 Konto >< 22500 vs. úvěr Opět se podíváme na jednoduchý numerický příklad. Pro data uvedená v Tab. 3 a atribut konto se nejprve uvažuje θ =22500. Tomuto prahu odpovídá rozdělení příkladů do tříd podle Tab. 4. Z této tabulky spočítáme entropii H(konto 22500 ) = 3/12 H(konto(<22500)) + 9/12 H(konto(>22500)) = 1/4 0.9183 + 3/4 0.5640 = 0.6526. Pro následující dělící bod θ =40000 spočítáme entropii H(konto 40000 ) = 5/12 H(konto(<40000)) + 7/12 H(konto(>40000)) = 5/12 0.9706 + 7/12 0.5917 = 0.7497. Podobně H(konto 55000 ) = 6/12 H(konto(<55000)) + 6/12 H(konto(>55000)) = 1/2 1 + 1/2 0.6500 = 0.8250, H(konto 75000 ) = 7/12 H(konto(<75000)) + 5/12 H(konto(>75000)) = 7/12 0.9852 + 5/2 0 = 0.5747, H(konto 95000 ) = 10/12 H(konto(<95000)) + 2/12 H(konto(>95000)) = 10/12 0.9709 + 2/12 0 = 0.8091. Z těchto výpočtů plyne, že nejvhodnější rozdělení hodnot atributu konto je dělícím bodem θ =75000 (entropie je 0.5747). Podobně určíme pro atribut příjem nejvhodnější dělící bod θ =12500 s entropií rovněž 0.5747. Pro kořen rozhodovacího stromu zvolíme atribut příjem (je první v seznamu atributů). Větev příjem>12500 bezchybně zařadí 5 klientů, kterým lze poskytnout úvěr, ve větvi příjem<12500 musíme najít vhodný práh atributu konto který umožní odlišit zbylých 7 příkladů z trénovací množiny (Obr. 8). 9

Obr. 8 Rozhodovací strom pro numerická data 5.1.5 Chybějící hodnoty V reálných úlohách dobývání znalostí se můžeme dostat do situace, kdy nám budou chybět údaje o některých objektech. Problém práce s chybějícími hodnotami lze opět řešit v kroku předzpracování. Některé implementace algoritmů pro tvorbu rozhodovacích stromů se ale dokáží s tímto problémem vyrovnat přímo. Jednou z možností je uvažovat místo chybějící hodnoty nějakého atributu nejčastější hodnotu tohoto atributu. Jinou možností je vzít do úvahy relativní četnosti všech hodnot tohoto atributu na trénovacích datech a místo chybějící hodnoty uvažovat všechny hodnoty s vahami danými relativními četnostmi. Jestliže tedy atribut A měl sedmkrát hodnotu x a třikrát hodnotu y, budeme místo chybějící hodnoty předpokládat hodnotu x s pravděpodobností 0.7 a hodnotu y s pravděpodobností 0.3. Místo jednoho příkladu s chybějící hodnotou tak dostaneme dva částečné příklady, z nichž každý bude procházet rozhodovacím stromem jinou větví z uzlu odpovídajícímu atributu A 7. 5.1.6 Ceny atributů V řadě aplikací může hrát roli i cena za získání hodnoty nějakého atributu 8. V medicínské aplikaci můžeme například požadovat změření teploty pacienta i jeho vyšetření na počítačovém tomografu. Informace o takovéto ceně se může brát do úvahy již při vytváření rozhodovacího stromu. Např. kritérium informačního zisku pro výběr atributu pro větvení lze modifikovat takto: Zisk(A) 2 Cena(A), kde Cena(A) jsou náklady za zjištění hodnoty atributu. 7 Tento způsob je použit např. v Quinlanově systému C4.5 [Quinlan, 1993] 8 Pozor, nezaměňovat tuto cenu s cenou za chybné rozhodnutí.

5.1.7 Regresní stromy Zatím jsme předpokládali, že vytváříme stromy pro klasifikaci objektů do tříd. Takovým stromům se obvykle říká klasifikační. Existují ale i stromy regresní, které umožňují odhadovat hodnotu nějakého numerického atributu. V listových uzlech mají takové stromy místo názvu třídy např. konkrétní hodnotu (konstantu), která odpovídá průměrné hodnotě cílového atributu pro příklady v tomto uzlu (Obr. 9). Algoritmus pro tvorbu regresního stromu odpovídá algoritmu TDIDT. Rozdíl je ve způsobu volby atributu pro větvení. Místo entropie se vychází ze směrodatné odchylky hodnot cílového atributu. Tedy místo kritéria informačního zisku můžeme uvažovat kritérium redukce směrodatné odchylky: n(a(v)) S y n S y (A(v)), v Val(A) 2 2 kde S y je rozptyl hodnot cílového atributu pro celá trénovací data a S y (A(v)) cílového atributu pro příklady pokryté kategorií A(v)) 9. je rozptyl hodnot Pro větvení vybereme atribut, který maximalizuje toto kritérium. Větvení skončí pokud se hodnota cílového atributu pro příklady v uvažovaném uzlu jen málo liší (směrodatná odchylka v tomto uzlu je menší než 5% směrodatné odchylky pro celá data), nebo pokud je v uvažovaném uzlu jen málo příkladů (řekněme 4 a méně) 10. Obr. 9 Regresní strom V uvedeném příkladu je v listech regresního stromu konstanta. Tak vypadají regresní stromy např. v systému CART [Breiman a kol., 1984]. Jiné algoritmy umožňují vyjadřovat hodnotu v listu složitěji: jako lineární kombinaci vstupů (např. systémy RETIS [Karalič, 1992] a M5 [Quinlan, 1992]), nebo jako spline (systém MARS [Friedman, 1991]). 9 Rozptyl pro n příkladů se počítá podle vzorce S = ( i=1..n (y i y) )/ ( n-1). 2 y 10 Jedná se o ad hoc stanovené parametry, které v experimentech dávají dobré výsledky. Tyto experimenty ukazují, že výsledné stromy nejsou příliš citlivé na změnu těchto parametrů. 2 11

5.1.8 Systémy Pro lidi zabývající se strojovým učením jsou rozhodovací stromy spojeny se jménem John Ross Quinlan (např. [Quinlan, 1986]). Ten je autorem systému ID3, který v zásadě pracuje podle algoritmu uvedeného na Obr. 1, za využití kritéria informačního zisku. Rozšířením systému ID3 je C4.5. Tento systém již umožňuje práci s numerickými atributy, chybějícími hodnotami, převod na pravidla i prořezávání, způsobem popisovaným v této kapitole. Systém rovněž umožňuje brát do úvahy různé ceny za různá chybná rozhodnutí (omylem půjčit někomu, kdo nesplatí úvěr je horší, než nepůjčit někomu, kdo by eventuelně splatil). Díky knize, která zpřístupnila i zdrojové kódy programu [Quinlan, 1993], se C4.5 stal (alespoň v komunitě strojového učení) de facto standardem pro tvorbu rozhodovacích stromů. Nejnovější verze je implementována pod názvem C5.0 (resp. jako See5 s uživatelsky přívětivějším ovládáním, C4.5 pracuje pouze v textovém režimu viz Obr. 10). Algoritmus C4.5 můžeme nalézt i v řadě systémů pro dobývání znalostí (Clementine, Kepler, Weka). příjem = vysoký: ano (5.0) příjem = nízký: konto = vysoké: ano (2.0) konto = nízké: ne (2.0) konto = střední: nezaměstnaný = ano: ne (2.0) nezaměstnaný = ne: ano (1.0) Obr. 10 Rozhodovací strom v C4.5 Mezi statistiky je známější systém CART (classification and regression tree), který umožňuje kromě klasifikačních stromů (na rozdíl od C4.5 se používá Gini index) vytvářet i stromy regresní [Breiman a kol., 1984]. Vytvořené stromy jsou binární, tzn. že v každém nelistovém uzlu se data rozdělují do dvou množin. Algoritmus je nověji implementován firmou Salford Systems, je rovněž součástí systému AnswerTree firmy SPSS. Jiným známým algoritmem je CHAID (Chi-square Automatic Interaction Detection). Jak už z názvu vyplývá, používá se zde jako kritérium pro větvení χ 2. Algoritmus automaticky seskupuje hodnoty kategoriálních atributů; při větvení se tedy nevytváří tolik větví, kolik má atribut hodnot [Biggs a kol., 1991]. Hodnoty atributu se postupně seskupují z původního počtu až do dvou skupin (Obr. 11). Pak se vybere atribut a jeho kategorizace, která je v daném kroku pro větvení nejlepší. Tento postup využívají systémy KnowledgeSeeker a KnowledgeStudio firmy Angoss, nebo výše zmíněný AnswerTree. Algoritmus seskupování hodnot atributu 1. opakuj dokud nevzniknou pouze dvě skupiny hodnot atributu 1.1. zvol dvojci kategorií atributu, které jsou si nejpodobnější z hlediska χ 2 a které mohou být spojeny 1.2. považuj novou kategorizaci atributu za možné shlukování v daném kroku 2. spočítej pomocí χ 2 testu pravděpodobnost p pro každý z možných způsobů shlukování hodnot 3. shlukování s nejnižší pravděpodobností p zvol za "nejlepší" shlukování hodnot atributu 4. zjisti, jestli toto nejlepší shlukování statisticky významně přispěje k odlišení příkladů různých tříd Obr. 11 CHAID algoritmus seskupování hodnot atributu

Jako zajímavé zjednodušení algoritmu TDIDT uveďme systém 1R. Tento systém vytvoří z dat tzv. rozhodovací pařez, tedy strom, který má jen jeden větvící uzel (kořen). Pro naše data z Tab. 1 bude mít rozhodovací pařez podobu uvedenou na Obr. 12. 1R funguje překvapivě dobře ve srovnání se složitějšími systémy [Holte, 1993]. Obr. 12 Rozhodovací pařez 5.1.9 Použití rozhodovacích stromů Použití rozhodovacích stromů pro klasifikaci odpovídá analogii s klíči k určování rostlin nebo živočichů. Od kořene stromu se na základě odpovědí na otázky (umístěné v nelistových uzlech) postupuje příslušnou větví stále hlouběji, až do listového uzlu, který odpovídá zařazení příkladu do třídy. Rozhodovací stromy jsou vhodné pro úlohy, kde: příklady jsou reprezentovány hodnotami atributů, úkolem je klasifikovat příklady do konečného (malého) počtu tříd 11, hledaný popis konceptů může být tvořen disjunkcemi, trénovací data mohou být zatížena šumem, trénovací data mohou obsahovat chybějící hodnoty. Rozhodovací stromy postupně rozdělují prostor atributů nadrovinami rovnoběžnými s osami souřadné soustavy. V případě stromu z Obr. 8 vytvořeného pro dva numerické atributy konto a příjem bude prostor atributů rozdělen přímkami tak, jak je uvedeno na Obr. 13. Obr. 13 Vyjadřovací síla rozhodovacích stromů 11 V případě regresních stromů můžeme predikovat i hodnotu numerické veličiny. 13

Litertura: [Biggs a kol., 1991] Biggs,D. deville,b. Suen,E.: A method of choosing multiway partitions for classification and decision trees. Journal of Applied Statistics, Vol. 18, No. 1, 1991, 49-62, [Breiman a kol., 1984] Breiman,L. Friedman,J.H. Olshen,R.A. Stone,P.J.: Classification and Regression Trees. Wadsworth, 1984. [Friedman, 1991] Friedman,J.H.: Multivariate adaptive regression splines. Annals of Statistics 19(1), 1991, 1-141. [Holte, 1993] Very simple classification rules perform well on most commonly used datasets. Machine Learning, 11, 1993, 63-91. [Karalič, 1992] Karalič,A.: Employing linear regression in regression tree leaves. In: Proc. European Conf. on Artificial Intelligence ECAI 92, Vienna, 1992, 440-441. [Mantaras, 1991] Mantaras,R.L.: A distance-based attribute selection meassure for decision tree induction. Kluwer, 1991. [Mitchell, 1997] Mitchell,T.: Machine learning. McGraw-Hill. 1997. ISBN 0-07-042807-7 [Quinlan, 1979] Quinlan,J.R.: Discovering rules by induction from large collections of examples. In: (Michie, ed.), Expert Systems in the Micro-Electronic Age. Edinburgh University Press, 1979. [Quinlan, 1986] Quinlan,J.R.: Induction of decision trees. Machine Learning, 1(1), 1986, 81-106. [Quinlan, 1992] Quinlan,J.R.: Learning with continuous classes. In: Proc. AI 92, Singapore, 1992, 343-348. [Quinlan, 1993] Quinlan,J.R.: C4.5: Programs for machine learning. San Mateo, Morgan Kaufman, 1993.