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
p→0plogp= 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.