• Nem Talált Eredményt

Döntési fák és döntési szabályok

Osztályozás és regresszió

4.5. Döntési szabályok

4.6.1. Döntési fák és döntési szabályok

A döntési fák előnyös tulajdonsága, hogy a győkérből egy levélbe vezető út mentén a feltételeket összeolvasva könnyen értelmezhető szabályokat kapunk a döntés meghozatalára, illetve hasonlóan egy laikus számára is érthető módon azt is meg tudjuk magyarázni, hogy a fa miért pont az adott döntést hozta.

4.6.1 Észrevétel A döntési fákból nyert döntési szabályhalmazok egyértelműek.

Ez nyilvánvaló, hiszen tetszőleges objektumot a fa egyértelműen besorol vala-melyik levelébe. E levélhez tartozó szabályra az objektum illeszkedik, a többire nem.

Vannak olyan döntési feladatok, amikor a döntési fák túl bonyolult szabá-lyokat állítanak elő. Ezt egy példával illusztráljuk.

Jelöljük a négy bináris magyarázó attribútumot A, B, C, D-vel. Legyen az osztályattribútum is bináris és jelöljük Y-nal. Álljon a döntési szabálysorozat három szabályból:

1. A=1 AND B=1 Y=1 2. C=1 AND D=1 Y=1 3. Y=0

A szabálysorozat teljes, hiszen az utolsó, feltétel nélküli szabályra minden ob-jektum illeszkedik. A fenti osztályozást a 4.13 ábrán látható döntési fa adja.

4.13. ábra. Példa egy adott döntési sorozattal ekvivalens döntési fa A fenti példában a döntési fa az osztályozás bonyolultabb leírását adja, mint a szabálysorozat. A sárga és kék részfák izomorfak. A részfa által adott osztá-lyozást egyszerűen tudjuk kezelni a döntési szabálysorozatokkal. A döntési fa estében ugyanakkor kétszer is megjelent ugyanazon részfa. Ezt a problémát az irodalom ismétlődő részfa problémaként (replicated subtree problem) emlegeti és a döntési fák egy alapproblémájának tekinti. A döntési fák a megoldást nagymértékben elbonyolíthatják. Az előző példában, ha a magyarázó attribú-tumok nem binárisak, hanem három értéket vehetnek fel, akkor a megadott döntési sorozattal ekvivalens döntési fa a 4.14 ábrán látható. A szürkével jelőlt részfa további háromszor megismétlődik. Az ismétlődő részfát egy háromszög-gel helyettesítettük az áttekinthetőség érdekében. Természetesen a fa jóval egyszerűbb lenne, ha az attribútumot nem csak egy értékkel hasonlíthatnánk össze, hanem olyan tesztet is készíthetnénk, hogy az adott attribútum benne van-e egy adott értékhalmazban. Például a gyökérben csak kétfelé célszerű ágazni, attól függően, hogy A = 1 vagy A ̸= 1 (másképp A ∈ {2,3}). Ha ilyen feltételeket megengednénk, akkor – a címkéktől eltekintve – a 4.13 ábrán látható fával izomorf fát kapnánk.

4.14. ábra. Az ismétlődő részfaprobléma szemléltetése

4.6.2. A döntési fa előállítása

A fát a tanító adatbázisból rekurzívan állítjuk elő. Kiindulunk a teljes ta-nító adatbázisból és egy olyan kérdést keresünk, aminek segítségével a teljes tanulóhalmaz jól szétvágható. Egy szétvágást akkor tekintünk jónak, ha a magyarázandó változó eloszlása a keletkezett részekben kevésbé szórt, kevésbé bizonytalan, mint a szétvágás előtt. Egyes algoritmusok arra is törekednek, hogy a keletkező részek kb. egyforma nagyok legyenek. A részekre rekurzívan alkalmazzuk a fenti eljárást. Ezt szemlélteti a 4.15. ábra:

a) A tanítóadatbázis, amely alapján a döntési fát elő kívánjuk állítani: arra vagyunk kíváncsiak, hogy az ügyfelek közül kiket érdekel egy akció, tehát az utolsó oszlop az osztályattribútum.

b) A teljes adatbázist tekintve, az életkor alapján lehet leginkább szétválasz-tani az ügyfeleket aszerint, hogy érdekli-e őket az akció. Ezért a döntési fa gyökerében az életkorra vonatkozó kérdést tesszük fel. A három ágon a ta-nítóadatok különböző részhalmazai láthatóak az életkor különböző értékeinek megfelelően.

c) Mindhárom ágon rekurzívan alkalmazzuk az eljárást az adott ághoz tartozó tanítóadatbázisra. A két szélső ágon minden példány egyazon osztályba tarto-zik, ezért egy-egy levél csomópontot hozunk létre. A középső ágon a testsúly

4.15. ábra. Döntési fa rekurzív előállítása.

szerint vágunk.

d) A kapott döntési fa.

A példa illusztratív: a valóságban gyakran előírjuk, hogy olyan leveleket hoz-zunk létre, hogy minden levélhez legalábbnlevl darab adatbázisbeli objektum (példány) tartozzon, és előfordulhat, hogy akkor is létrehozunk egy levelet, ha az adott ághoz tartozó nem minden objektum tartozik ugyanazon osztályba, csak a nagytöbbségük. A következő fejezetekben részletezzük, hogy miként lehet kiszámolni azt, hogy melyik kérdést tegye fel a fa a különböző csomópon-tokban.

Néhány döntési fát előállító algoritmus egy csomópont leszármazottjaiban nem vizsgálja többé azt az attribútumot, ami alapján szétosztjuk a mintát.

Más algoritmusok megengedik, hogy például egyA numerikus attribútum ese-tében előszörA > x kérdést tegye fel a döntési fa, majd ezen csomópont vala-melyik leszármazottjában a A > y kérdés szerepeljen.

A rekurziót akkor szakítjuk meg valamelyik ágban, ha a következő feltételek közül teljesül valamelyik:

Nincs több attribútum, ami alapján az elemeket tovább oszthatnánk. A csomóponthoz tartozó osztály ekkor az lesz, amelyikhez a legtöbb taní-tópont tartozik.

A fa mélysége elért egy előre megadott korlátot.

Nincs olyan vágás, amely javítani tudna az aktuális osztályzáson. A vágás jóságáról később szólunk.

Minden levélhez hozzá kell rendelnünk a magyarázandó változó egy érté-két, a döntést. Ez általában az ún. többségi szavazás elve alapján történik:

az lesz a döntés, amely kategóriába a legtöbb tanítóminta tartozik. Hasonló módon belső csomópontokhoz is rendelhetünk döntést. Ez akkor hasznos, ha olyan döntési fát kívánunk készíteni, amely nagyon gyorsan képes egy (nem feltétlenül optimális) döntést hozni: ha nagyon kevés idő áll rendelkezésre egy-egy döntéshez, csak az első néhány kérdést tesszük fel. Ha viszont bőségesen áll rendelkezésünkre idő, akkor feltesszük a további kérdéseket is. Az angol irodalomban ezt a technikát anytime decision tree-nek nevezik, az olyan osz-tályozókat, amelyek képesek nagyon rövid idő alatt egy – az optimálistól akár jelentősen eltérő – döntést hozni, majd ezt a döntést a rendelkezésre álló idő függvényében folyamatosan pontosítani, anytime classificator-oknak hívják.

A döntési fák előállítására a kővetkező három fő algoritmus család ismert:

1. Interative Dichotomizer 3 (ID3) család, jelenlegi változat C5.011

11Magyarul: Interaktív tagoló / felosztó

2. Classification and Regression Trees (CART)12

3. Chi-squared Automatic Interaction Detection (CHAID)13

4.6.3. Az ID3 algoritmus

Az ID3 az egyik legősibb és legismertebb osztályzó algoritmus. A döntési fák kontextusában egyAattribútumot egy adott csomóponthoz tartozó tesztattri-bútumnak nevezük, ha az adott csomópontban a fa azA-ra vonatkozó kérdést tesz fel.14 Az ID3 algoritmus a tesztattribútum kiválasztásához az entrópia csökkenését alkalmazza. Ha Y egy valószínűségi változó, amely darab lehet-séges értéket pi (i = 1, . . . , ℓ) valószínűséggel vesz fel, akkor Y Shannon-féle entrópiáján a

H(Y) =H(p1, . . . , pk) =

l j=1

pjlog2pj

számot értjük15. Az entrópia az információ-elmélet (lásd [Cover, 1991]) közpon-ti fogalma. Az entrópia azY változó értékével kapcsolatos bizonytalanságunkat fejezi ki. Ha egy X változót megfigyelünk és azt tapasztaljuk, hogy értéke xi, akkor Y-nal kapcsolatos bizonytalanságunk

H(Y|X =xi) =

k j=1

P(Y =yj|X =xi) log2P(Y =yj|X =xi)

nagyságú. Így ha lehetőségünk vanX-et megfigyelni, akkor a várható bizony-talanságunk

H(Y|X) =

i=1

P(X =xi)H(Y|X =xi)

Eszerint X megfigyelésének lehetősége a bizonytalanság I(Y, X) =H(Y)−H(Y|X)

csökkenését eredményezi, azazX ennyi információt hordozY-ról. Az ID3 azY attribútum szerinti klasszifikálásakor olyanXattribútum értékei szerint ágazik szét, amelyreI(Y, X) maximális, azazH(Y|X) minimális.

12Klasszifikáló és regressziós fák

13Khi-négyzet (χ2) alapú automatikus interakció felismerés

14Figyeljünk a tesztattribútum és a tesztadatok megnevezések közti különbségre: míg a teszadatok a rendelkezésünkre álló adatok egy, a tanító adatoktól független részhalmaza, addigtesztattribútum potenciálisan bármelyik attribútum lehet.

15Az entrópia képletében0· ∞megállapodás szerint0-val egyenlő.

Az előbbiekben látott H(Y|X) feltételes entrópia azokat az attribútumo-kat „kedveli”, amelyek sokféle értéket vesznek fel és így sokfelé ágazik a fa [Quinlan, 1986]. Ez terebélyes fákat eredményez. Tegyük fel, hogy adatbázis-beli minden objektum egy egyedi azonosítószámmal rendelkezik. Ha a vizsgált attribútumok közé bevesszük ezt az azonosító kódot, akkor az 0 feltételes entró-piát fog produkálni, így az algoritmus azt választaná. Egy lehetséges megoldás a nyereségarány mutató (gain ratio) használata [Quinlan, 1993], amelyre mint normált kölcsönös információ tekintünk. Ez a mutató figyelembe veszi a gyerek csomópontokba kerülő tanítópontok számát és „bünteti” azokat az attribútu-mokat, amelyek túl sok gyereket hoznak létre. A nyereségarányt úgy kapjuk meg, hogy azI(Y, X)kölcsönös információt elosztjuk az adott attribútum ent-rópiájával:

gain_ratio(X) = I(Y, X) H(X) .

Sajnos a nyereségarány sok esetben „túlkompenzál” és olyan attribútumokat részesít előnyben, amelynek az entrópiája kicsi. Egy általános gyakorlat, hogy azt az attribútumot választják, amelyik a legnagyobb nyereségarányt adja, azon attribútumok közül, amelyekhez tartozó kölcsönös információ legalább akkora mint az összes vizsgált attribútumhoz tartozó kölcsönös információk átlaga.