• Nem Talált Eredményt

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

In document Kinek szól ez a jegyzet? (Pldal 139-146)

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

Az eddigiekhez hasonlóan az információnyereség-alapú Prism is addig b®víti a feltételrészt, amíg nem sikerül 0 hibájú (100%-os pontosságú) szabályt el®állítani.

Összehasonlítva az információnyereség és a relatív fedési hiba alapján el®-állított szabályokat a következ®ket mondhatjuk: a relatív fedési hiba esetén eleinte kis fedés¶ szabályokat nyes le, hogy a kivételeket jelent® tanító pontokat lefedje. A komoly szabályokat a futás végére hagyja. Az információnyereség-alapú módszer fordítva m¶ködik, a speciális eseteket a végére hagyja.

4.6. Döntési fák

A döntési fák bonyolult összefüggéseket egyszer¶ döntések sorozatára vezet-nek vissza. Egy ismeretlen osztályba tartozó objektum klasszikálásakor a fa gyökeréb®l kiindulva a csomópontokban feltett kérdésekre adott válaszoknak megfelel®en addig lépkedünk lefelé a fában, amíg egy levélbe nem érünk. A döntést a levél címkéje határozza meg. Egy hipotetikus, leegyszer¶sített, hi-telbírálatra alkalmazható döntési fát mutat be a 4.12. ábra.9

A döntési fák nagy el®nye, hogy automatikusan felismerik a lényegtelen vál-tozókat. Ha egy változóból nem nyerhet® információ a magyarázott változóról, akkor azt nem is tesztelik. Ez a tulajdonság azért el®nyös, mert így a fák telje-sítménye zaj jelenlétében sem romlik sokat, valamint a problémamegértésünket is nagyban segíti, ha megtudjuk, hogy mely változók fontosak, és melyek nem.

Általában elmondható, hogy a legfontosabb változókat a fa a gyökér közelében teszteli. További el®ny, hogy a döntési fák nagyméret¶ adathalmazokra is ha-tékonyan felépíthet®k. Egy olyan fa, amely pontjainak kett®nél több gyermeke van, mindig átrajzolható bináris fává. Számos algoritmus ezért csak bináris fát tud el®állítani.

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

9Az ábrázolt döntési fa sem értékítéletet, sem valós hitelbírálati szabályokat nem tükröz, pusztán illusztráció.

4.12. ábra. Példa: döntési fa hitelbírálatra

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.

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

4.13. ábra. Példa egy adott döntési sorozattal ekvivalens döntési fa 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.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 taní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ó kett® vagy több részre. Egy szétvágást akkor tekintünk jónak, ha a magyarázandó változó eloszlása a keletkezett részekben kevésbé

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

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 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,

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

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 az ID3 algoritmus részletes leírásánál valamint a 4.6.5.

fejezetben 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 classicator-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.010 2. Classication and Regression Trees (CART)11

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

10Magyarul: Interaktív tagoló / felosztó

11Klasszikáló és regressziós fák

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

4.6.3. Az ID3 algoritmus

Az ID3 [Quinlan, 1986] az egyik legismertebb osztályzó algoritmus. A dön-tési fák kontextusában egy A attribútumot egy adott csomóponthoz tartozó tesztattribútumnak nevezük, ha az adott csomópontban a fa az A-ra vonat-kozó kérdést tesz fel.13 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 lehetsé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

értéket értjük.14 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 egyX változót meggyelü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 meggyelni, akkor a várható bizony-talanságunk

H(Y|X) =

i=1

P(X =xi)H(Y|X =xi) Eszerint X meggyelé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 klasszikálásakor olyanXattribútum értékei szerint ágazik szét, amelyreI(Y, X) maximális, azazH(Y|X) minimális.

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

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

14Az entrópia képletében0· ∞= 0-val számolunk, mert lim

p0plogp= 0.

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ó gyelembe 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.

In document Kinek szól ez a jegyzet? (Pldal 139-146)