5.3 Rozhodovací pravidla - Sorry

5.3 Rozhodovací pravidla - Sorry 5.3 Rozhodovací pravidla - Sorry

12.07.2015 Views

Pravidla nalezená algoritmem tedy budou 10 :IF konto(vysoké) THEN úvěr(ano)IF příjem(vysoký) THEN úvěr(ano)IF konto(střední) ∧ nezaměstnaný(ne)THEN úvěr(ano).Použití rozhodovacích pravidel pro klasifikaci nových příkladů je velice prosté. Postupně procházímesoubor pravidel až nalezneme pravidlo, které lze použít. Závěr pravidla pak určí třídu, do které mámeuvažovaný příklad zařadit.V následující podkapitole si ukážeme postup vytváření pravidel metodou specializace – tedypřidáváním kategorií do kombinace tvořící předpoklad pravidla. Pro generování předpokladů pravidelmůžeme použít různé metody prohledávání prostoru kombinací. Nejpoužívanějšími způsoby pronalezení jednoho pravidla (v souvislosti s algoritmem pokrývání množin) je gradientní prohledávání asvazkové prohledávání. V prvním případě se jedná o prohledávání do hloubky bez navracení:v každém kroku se vybere ta „nejlepší“ kategorie která specializuje předpoklad pravidla (kritériakvality pravidel rovněž uvidíme v následujíci podkapitole). Ve druhém případě se paralelně sledujepředem daný počet nejvhodnějších „kandidátů“ na to býti předpokladem pravidla: v každém kroku sepak přidá nejlepší kategorie ke každému potenciálnímu předpokladu a výsledná množina (starých anových kandidátů) se opět redukuje na požadovaný počet těch nejlepších.5.3.2 Rozhodovací seznamSoubor IF-THEN pravidel, tak jak jsme ho poznali v předcházející podkapitole, bývá někdy nazýván„neuspořádaný“ soubor pravidel. Opakem je „uspořádaný“ soubor pravidel, neboli rozhodovacíseznam (decision list). V tomto druhém případě se jedná o strukturu typuIF Ant 1 THEN Class i ,ELSE IF Ant 2 THEN Class jELSE IF Ant 3 THEN Class k. . .,kde v závěrech THEN se mohou objevovat různé třídy. Uspořádání zde spočívá v tom, že v každépodmínce ELSE IF se implicitně skrývá negace všech podmínek předcházejících pravidel. Nelze tedyjiž pravidla chápat jako navzájem nezávislá.Příkladem systému, který vytváří jak rozhodovací pravidla (čti neuspořádaný soubor pravidel), takrozhodovací seznamy (čti uspořádaný soubor pravidel) je CN2 [Clark, Nibblet, 1989], resp. jehorozšíření CN4 [Bruha, Kočková, 1994] 11 . Opět se jedná o algoritmus pokrývání množin (pokrytépříklady se odstraňují z trénovacích dat), postupuje se ale metodou specializace, tedy „shora dolů“.Jádrem algoritmu (který odpovídá kroku 1 v obecném schématu algoritmu pokrývání množin) jefunkce Search(Ant,D TR ) hledající jedno pravidlo. Podoba této funkce je uvedena na Obr. 4. Algoritmus10 Můžeme pozorovat značnou shodu s pravidly, vytvořenými z rozhodovacího stromu v jedné z předcházejících kapitol.11 Tato verze nabízí řadu zlepšení ve srovnání s původním algoritmem: ošetření chybějících hodnot, cena vyhodnocováníatributu, práce s numerickými atributy.4

hledá pravidlo, které pokrývá velký počet objektů třídy Class a malý počet objektů ostatních tříd.Tvorba pravidel končí když už se nepodaří nalézt vyhovující pravidlo. Specializace pravidla seprovádí přidáním kategorie ke kombinaci tvořící předpoklad pravidla 12 . Potenciální předpoklady seuchovávají v množině Star. Velikost této množiny určuje šířku paprsku pro paprskové prohledávání.Nejlepší pravidlo (krok 4.2.2 algoritmu) se hledá na základě negativní entropieTF(Ant) = ∑t=1nt (Ant)n(Ant) × log n t (Ant)2n(Ant),na základě Laplaceova odhadu očekávané spolehlivosti pravidla 13nebo na základě m-odhadu (m-prob)F(Ant) = n t(Ant) + 1n(Ant) + T ,F(Ant) = n t(Ant) + m∗f tn(Ant) + m ,kde T je počet tříd, n t (Ant) je počet příkladů třídy t pokrytých pravidlem, n(Ant) je počet všechpříkladů pokrytých pravidlem, f t = n t /n je relativní četnost třídy t a m je parametr.Ve všech těchto případech vyšší hodnota znamená lepší pravidlo.funkce Search(Ant,D TR )1. nechť Star je množina obsahující prázdnou kombinaci [ ]2. nechť Ant je prázdná kombinace3. nechť Sel je množina všech kategorií A(v) vyskytujících se v D TR4. dokud Star je prázdné nebo dokud nebyly testovány všechny kategorie A(v) v Sel4.1. nechť NewStar je prázdné4.2. pro každou kombinaci Comb ∈ Star4.2.1. proveď specializaci přidáním kategorie A(v) ze Sel4.2.2. vyhodnoť kvalitu kombinace CombA = Comb ∧ A(v) pomocí funkceF(CombA)4.2.3. zařaď kombinaci CombA do NewStar4.3. pro každou kombinaci Comb ∈ NewStar4.3.1. pokud Comb je (signifikantně) lepší než Ant, přiřaď Ant := Comb4.4. pokud počet kombinací v NewStar překročí zadaný práh, vyhoď nejhorší kombinaci4.5. přiřaď Star := NewStarObr. 4 Funkce “najdi jedno pravidlo” v algoritmu CN4Hlavní cyklus algoritmu se liší podle toho, jestli vytváříme uspořádaná nebo neuspořádaná pravidla. Vpřípadě neuspořádaných pravidel systém hledá pravidla pro jednotlivé třídy odděleně. Pro každoutřídu se projde celá trénovací množina D TR s tím, že pozitivní příklady tvoří vždy příklady jedné třídy12 V původním algoritmu se používá termín selektor (selector) pro kategorii a termín komplex (complex) pro kombinaci.13 Oproti běžně používané spolehlivosti (platnosti) pravidla bere Laplaceova korekce do úvahy počet tříd T.5

Pravidla nalezená algoritmem tedy budou 10 :IF konto(vysoké) THEN úvěr(ano)IF příjem(vysoký) THEN úvěr(ano)IF konto(střední) ∧ nezaměstnaný(ne)THEN úvěr(ano).Použití rozhodovacích pravidel pro klasifikaci nových příkladů je velice prosté. Postupně procházímesoubor pravidel až nalezneme pravidlo, které lze použít. Závěr <strong>pravidla</strong> pak určí třídu, do které mámeuvažovaný příklad zařadit.V následující podkapitole si ukážeme postup vytváření pravidel metodou specializace – tedypřidáváním kategorií do kombinace tvořící předpoklad <strong>pravidla</strong>. Pro generování předpokladů pravidelmůžeme použít různé metody prohledávání prostoru kombinací. Nejpoužívanějšími způsoby pronalezení jednoho <strong>pravidla</strong> (v souvislosti s algoritmem pokrývání množin) je gradientní prohledávání asvazkové prohledávání. V prvním případě se jedná o prohledávání do hloubky bez navracení:v každém kroku se vybere ta „nejlepší“ kategorie která specializuje předpoklad <strong>pravidla</strong> (kritériakvality pravidel rovněž uvidíme v následujíci podkapitole). Ve druhém případě se paralelně sledujepředem daný počet nejvhodnějších „kandidátů“ na to býti předpokladem <strong>pravidla</strong>: v každém kroku sepak přidá nejlepší kategorie ke každému potenciálnímu předpokladu a výsledná množina (starých anových kandidátů) se opět redukuje na požadovaný počet těch nejlepších.<strong>5.3</strong>.2 Rozhodovací seznamSoubor IF-THEN pravidel, tak jak jsme ho poznali v předcházející podkapitole, bývá někdy nazýván„neuspořádaný“ soubor pravidel. Opakem je „uspořádaný“ soubor pravidel, neboli rozhodovacíseznam (decision list). V tomto druhém případě se jedná o strukturu typuIF Ant 1 THEN Class i ,ELSE IF Ant 2 THEN Class jELSE IF Ant 3 THEN Class k. . .,kde v závěrech THEN se mohou objevovat různé třídy. Uspořádání zde spočívá v tom, že v každépodmínce ELSE IF se implicitně skrývá negace všech podmínek předcházejících pravidel. Nelze tedyjiž <strong>pravidla</strong> chápat jako navzájem nezávislá.Příkladem systému, který vytváří jak rozhodovací <strong>pravidla</strong> (čti neuspořádaný soubor pravidel), takrozhodovací seznamy (čti uspořádaný soubor pravidel) je CN2 [Clark, Nibblet, 1989], resp. jehorozšíření CN4 [Bruha, Kočková, 1994] 11 . Opět se jedná o algoritmus pokrývání množin (pokrytépříklady se odstraňují z trénovacích dat), postupuje se ale metodou specializace, tedy „shora dolů“.Jádrem algoritmu (který odpovídá kroku 1 v obecném schématu algoritmu pokrývání množin) jefunkce Search(Ant,D TR ) hledající jedno pravidlo. Podoba této funkce je uvedena na Obr. 4. Algoritmus10 Můžeme pozorovat značnou shodu s pravidly, vytvořenými z rozhodovacího stromu v jedné z předcházejících kapitol.11 Tato verze nabízí řadu zlepšení ve srovnání s původním algoritmem: ošetření chybějících hodnot, cena vyhodnocováníatributu, práce s numerickými atributy.4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!