12.07.2015 Views

5.3 Rozhodovací pravidla - Sorry

5.3 Rozhodovací pravidla - Sorry

5.3 Rozhodovací pravidla - Sorry

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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


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 <strong>pravidla</strong> seprovádí přidáním kategorie ke kombinaci tvořící předpoklad <strong>pravidla</strong> 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 <strong>pravidla</strong> 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á <strong>pravidla</strong>. Vpřípadě neuspořádaných pravidel systém hledá <strong>pravidla</strong> 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) <strong>pravidla</strong> bere Laplaceova korekce do úvahy počet tříd T.5


a negativní příklady tvoří příklady ostatních tříd (podobu hlavního cyklu algoritmu ukazuje Obr. 5).Tak se může stát, že se k jednomu příkladu naleznou <strong>pravidla</strong>, která by jej řadila k různým třídám.Tento spor lze řešit hlasování aplikovatelných pravidel.Algoritmus CN4 – rozhodovací <strong>pravidla</strong>1. nechť ListOfRules je prázdný seznam2. pro každou třídu C(v t ), t=1,..,T2.1. dokud množina pozitivních příkladů této třídy D TRt není prázdná2.1.1. pomocí funkce Search(Ant,D TRt ) nalezni nejlepší kombinaci Ant2.1.2. přiřaď D TRt := D TRt – D TRt (Ant), kde D TRt (Ant) jsou příklady pokrytékombinací Ant2.1.3. do ListOfRules přidej pravidlo IF Ant THEN C(v t )Obr. 5 Hlavní cyklus algoritmu CN4 pro neuspořádaná <strong>pravidla</strong>V případě uspořádaných pravidel (rozhodovacího seznamu) se hledají <strong>pravidla</strong> ke všem třídámnajednou. D TR tedy odpovídá trénovací množině v nezměněně podobě. Třída predikovaná každýmpravidlem odpovídá třídě, do které patří většina pokrytých příkladů. Při klasifikaci ke sporům nemůžedojít, protože <strong>pravidla</strong> mají přidělena pořadí použití.Algoritmus CN4 – rozhodovací seznam1. nechť ListOfRules je prázdný seznam2. dokud trénovací množina D TR není prázdná2.1. pomocí funkce Search(Ant,D TR ) nalezni nejlepší kombinaci Ant2.2. přiřaď D TR := D TR – D TR (Ant), kde D TR (Ant) jsou příklady pokryté kombinacíAnt2.3. do ListOfRules přidej pravidlo IF Ant THEN Class, kde Class je majoritní třídapříkladů v D TR (Ant)Obr. 6 Hlavní cyklus algoritmu CN4 pro uspořádaná <strong>pravidla</strong>if příjem=vysoký then class is ano;Kr=[ 5 0]; signif=5.850; quality=0.925; cost=1if konto=vysoké then class is ano;Kr=[ 4 0]; signif=4.680; quality=0.900; cost=1if příjem=nízký && konto=nízké then class is ne;Kr=[ 0 2]; signif=6.340; quality=0.900; cost=2if konto=střední && nezaměstnaný=ano then class is ne;Kr=[ 0 2]; signif=6.340; quality=0.900; cost=2if konto=střední && nezaměstnaný=ne then class is ano;Kr=[ 2 0]; signif=2.340; quality=0.850; cost=2if true then class is ano;Kr=[ 8 4]; signif=0.000; quality=0.733; cost=0Obr. 7 CN4, neuspořádaná <strong>pravidla</strong>6


if příjem=vysoký then class is ano;Kr=[ 5 0]; signif=5.850; quality=0.925; cost=1else if konto=vysoké then class is ano;Kr=[ 2 0]; signif=2.340; quality=0.850; cost=1else if nezaměstnaný=ano then class is ne;Kr=[ 0 3]; signif=9.510; quality=0.950; cost=1else if konto=střední then class is ano;Kr=[ 1 0]; signif=1.170; quality=0.825; cost=0else if true then class is ne;Kr=[ 0 1]; signif=3.170; quality=0.850; cost=0Obr. 8 CN4, uspořádaná <strong>pravidla</strong>Pro data z Obr. 3 vytvoří CN4 soubor neuspořádaných pravidel uvedený na Obr. 7 a souboruspořádaných pravidel uvedený na Obr. 8 (jde o autentické výstupy z programu). Na těchto výstupechsi můžeme všimnout, že pro naše data odpovídají neuspořádaná <strong>pravidla</strong> pravidlům vytvořeným„simulací“ algoritmu AQ (viz předcházející podkapitola) a uspořádaná <strong>pravidla</strong> odpovídají pravidlůmvytvořeným z rozhodovacího stromu (viz příslušná kapitola).Numerické charakteristiky každého <strong>pravidla</strong> jsou:• Kr: pro jednotlivé třídy počet příkladů pokrytých pravidlem, tedy četnosti n t (Ant),• signif: kritérium pro výběr předpokladu <strong>pravidla</strong>:T⎛ n(Ant) t n ⎞signif = ∑ n t(Ant) × log 2⎜⎟ ,⎝ n(Ant) n ⎠t=1kde T je počet tříd, n t je počet příkladů třídy t a n je počet všech příkladů (v trénovacích datech),• quality: hodnocení založené na počtu příkladů (majoritní) třídy pokrytých a nepokrytých danýmpravidlem:kde tm je majoritní třída,quality = 0.8 n tm(Ant)n(Ant)+ 0.2 n tm(Ant)n tm,• cost: cena vyhodnocení <strong>pravidla</strong>, standardně počet dotazů v předpokladu.tPoslední pravidlo (to s předpokladem true) je implicitní pravidlo, které odpovídá majoritní třídě vtrénovacích datech. Toto pravidlo se při klasifikaci uplatní, pokud selhala všechna ostatní.7


<strong>5.3</strong>.4 Algoritmus ESODÚlohy kombinační analýzy dat popsané v předcházející podkapitole umožňují nalézat vztahy(implikace a dvojité implikace), které jsou podporovány danými daty. Tak např. při analýze příčinjsme hledali podmínky, za kterých nějaký objekt patří do třídy Class. Každý takový vztah můžemepovažovat za (objevenou) znalost. Tyto znalosti pak můžeme pak dále zkoumat a interpretovat.Problém je ale v tom, že takovýchto vztahů je obvykle značné množství a že nemáme zatím v ruceprostředek, jak tyto znalosti použít v případě, že máme rozhodnout o novém objektu, zda patří douvažované třídy. Celkem logicky se tedy naskýtá otázka, zda je možné nalézt v souboru generovanýchvztahů takové vztahy, které jsou důležitější než ostatní, a zda je možné tyto vztahy použít proautomatickou klasifikaci nových objektů. Kladnou odpověď na tuto otázku dává algoritmus ESOD.Základní myšlenkou algoritmu je vybrat z implikací nalezených při analýze příčin <strong>pravidla</strong> do bázeznalostí expertního systému ([Ivánek, Stejskal, 1988]).V této podkapitole tedy budeme uvažovat ovybudování expertního systému, jehož znalosti by se automaticky získávaly z dat 16 .Při formulaci této úlohy musíme rozhodnout o• podobě báze znalostí,• podobě inferenčního mechanismu,• způsobu, jak v souboru vztahů nalézt znalosti.Začněme nejprve variantou systému pro situaci, kdy trénovací data D TR jsou rozdělena na příklady aprotipříklady nějakého konceptu 17 .Báze znalostí je vytvářena v podobě souboru pravidel tvořených vztahy implikace k zadané cílovékombinaci. Vztahy jsou opatřeny váhou která vyjadřuje neurčitost ve znalostech. Pravidla v báziznalostí tedy mají podobu 18Ant ⇒ Class (w),kdeAnt je kombinace kategorií vstupních atributů,Class je kombinace definující pozitivní příklady (tedy Class = C(+)),w z intervalu [0,1] je váha vyjadřující neurčitost <strong>pravidla</strong>.Inferenční mechanismus budovaného systému pracuje metodou přímého řetězení. V průběhukonzultace se pro nový objekt popsaný hodnotami vstupních atributů (popis objektu nemusí býtúplný!) naleznou všechna aplikovatelná <strong>pravidla</strong>. Příspěvky těchto pravidel 19 se složí pomocíkombinační funkce ⊕ a tak se naleznou výsledné váhy všech cílů. Jako kombinační funkce se používá16 Tato myšlenka zdůvodňuje název algoritmu: Expertní Systém z Observačních Dat.17 Algoritmus ESOD prošel podobným vývojem jako algoritmy „rozděl a panuj“ nebo „odděl a panuj“. První verze algoritmu([Ivánek, Stejskal, 1988]) předpokládala pouze kategoriální data a dvě třídy. Umožňovala ale zpracovávat data zatíženášumem. Později byl algoritmus ESOD rozšířen pro více tříd (to bude popsáno vzápětí) a doplněn o algoritmus diskretizacenumerických atributů (tento algoritmus je uveden v kapitole věnované předzpracování dat.18 Ve srovnání s „klasickými“ expertními systémy, jejichž báze znalostí mívá bohatší strukturu má báze znalostí vytvořenáz dat podobu tzv. „trávy“, tedy pravidel pouze od dotazů přímo k cílům. Symbol ⇒ naznačuje, že pravidlo má podobuimplikace z kombinační analýzy dat.19 Předpokládáme, že předpoklad aktivovaného <strong>pravidla</strong> platí s jistotou; přípěvek <strong>pravidla</strong> se tedy rovná váze <strong>pravidla</strong>.9


pseudobayesovské skládání vah známé z expertního systému PROSPECTOR 201979]. Jsou-li w 1 , w 2 váhy dvou pravidel, spočítá se jejich kombinace w ⊕ jako:[Duda, Gasching,w 1 ⊕ w 2 =w 1 × w 2w 1 × w 2 + (1 - w 1 ) × (1 - w 2 )Při tvorbě báze pravidel se vlastně provádí postupné zpřesňování a zjemňování již existujících znalostí(knowledge refinement). Bázi pravidel vytváříme „shora dolů“ postupným přidáváním nových(speciálnějších) pravidel ve chvíli, kdy báze přestane být konsistentní s trénovacími datyreprezentovanými souborem všech implikací k zadanému cíli. Na počátku obsahuje báze pravidel tzv.prázdný vztah, který odpovídá rozdělení tříd v trénovacích datech. Do báze pravidel se pak postupnězařazují jen ty implikace, které nejsou odvoditelné z již získaných kratších pravidel.Vztah implikace Ant ⇒ Class považujeme v daných datech za odvoditelný z nějaké množiny KBpravidel se závěrem Class, jestliže v datech nezamítneme (na zvolené hladině významnosti)hypotézu, že platnost 21 této implikaceP(Class|Ant) =n(Ant ∧ Class)n(Ant)odpovídá tzv. naskládané váze w ⊕ (Ant) získané složením vah těch pravidel z KB, jejichž levá strana jepodkombinací kombinace Ant.Pro testování této hypotézy se používá χ 2 test dobré shody. Tento test je již zmíněn v kapitolevěnované statistice jakožto test umožňující testovat nezávislost dvou veličin na základě porovnáníočekávaných a skutečných četností. V podobném duchu je χ 2 test použit i zde.V případě, že Class definuje pouze pozitivní příklady (tedy Class = C(+)) uvažujeme test pro dvě třídy(tedy T=2). Do testu vstupují implikace Ant ⇒ Class (označme Ant ⇒ Class 1 ), a Ant ⇒ ¬Class(označme Ant ⇒ Class 2 ) a naskládané váhy w ⊕ (Ant) (označme w 1 ⊕ (Ant)) a 1- w ⊕ (Ant) (označmew 2 ⊕ (Ant)). Testem porovnáváme hodnoty skutečných četností n t (Ant) nalezených pro implikace Ant ⇒Class t v trénovacích datech a četností očekávaných, spočítaných jako n(Ant) × w t ⊕ (Ant), kde w t ⊕ (Ant)jsou váhy tříd Class t odvozené při konzultaci pro příklad popsaný kombinací Ant. Pro T tříd tedyspočítáme hodnotuTχ 2 =∑t=1(n t (Ant) − n(Ant) × w ⊕ t (Ant)) 2n(Ant) × w ⊕ t (Ant)=T=∑t=1n t (Ant) × n t (Ant)n(Ant) × w t ⊕ (Ant) − 2 ∑t=1T Tnt (Ant) + n(Ant) ∑ w ⊕ t (Ant) =t=120 Tato operace se použije s ohledem na syntaktické závislosti mezi pravidly tak, jak to navrhl Hájek [Hájek, 1985].21 Abychom se při výpočtu vyhnuli problémům s extremálními hodnotami platnosti implikace, provádíme následujícíkorekce:• je-li P(Class|Ant)=0, položíme P(Class|Ant)=0.5/n(Ant),• je-li P(Class|Ant)=1, položíme P(Class|Ant)=(n(Ant)-0.5)/n(Ant),Tato korekce má podobný význam jako Laplaceova korekce použitá v případě systému CN4; zabránit tomu, abypodmíněná pravděpodobnost závěru při platnosti předpokladu nabývala hodnoty 0 nebo 1.10


T=∑t=1n t (Ant) × n t (Ant)n(Ant) × w t ⊕ (Ant) − n(Ant) .Pokud je tato hodnota větší než hodnota rozdělení χ 2 (T-1)(α) s (T-1) stupni volnosti na zvolené hladiněvýznamnosti α, zamítneme hypotézu o shodě platnosti a naskládané váhy a přidáme danou implikaciAnt ⇒ Class do báze znalostí, protože její platnost nelze ze stávající báze odvodit.Váhu nového <strong>pravidla</strong> zvolíme tak, „aby to vyšlo“, tedy tak, abychom po konzultaci s novou báziznalostí (tj. s bázi včetně přidaného <strong>pravidla</strong>) pro příklad popsaný vstupní kombinací Ant odvodiliprávě platnost implikace Ant ⇒ Class. Pro nové pravidlo Ant ⇒ Class (w) musí platitVáhu w tedy spočítáme jakow ⊕ w ⊕ (Ant) = P(Class|Ant).w =P(Class|Ant)u1 + u , kde 1- P(Class|Ant)u =.⊕w (Ant)⊕1- w (Ant)Uvedený postup zařazování <strong>pravidla</strong> do báze si přiblížíme na následujícím příkladu. Řekněme, žeprávě testovanou implikací je 22 7a ∧ 11a ⇒ 1+,která má v datech čtyřpolní tabulku:Class ¬ClassAnt 11 14¬Ant 74 26Tedy platnost této implikace jeaa + b = 1111+14= 0.44. Předpokládejme dále, že v bázi pravidelexistují tři <strong>pravidla</strong>, aplikovatelná na kombinaci Ant:∅ ⇒ 1+ (0.6800)11a ⇒ 1+ (0.2720)7a ⇒ 1+ (0.3052)Pokud složíme váhy těchto pravidel pomocí operace ⊕, získáme tzv. naskládanou váhu w ⊕ (Ant)w ⊕ (Ant) = 0.6800 ⊕ 0.2720 ⊕ 0.3052 = 0.2586.Tato váha se (na základě χ 2 testu) statisticky významně liší od platnosti implikace 0.44. Proto do bázepravidel přidáme pravidlo7a ∧ 11a ⇒ 1+ (w),kde váha w je taková , že w ⊕ 0.2586 = 0.44, tedy w = 0.6926.22 Opět používáme úsporný zápis kategorií.11


Podoba algoritmu je uvedena na Obr. 9. Opakovaně se střídá generování (krok 1.4) a testování (krok1.3) nějaké implikace. Řídícími parametry jsou cílová třída Class, maximální délka předpokladu l max ,minimální četnost předpokladu n min , a minimální platnost (spolehlivost) <strong>pravidla</strong> P min .Algoritmus ESODInicializace1. vytvoř CAT - seznam kategorií A(v) uspořádaný sestupně dle četnosti n(A(v))2. vytvoř OPEN - seznam implikací A(v) ⇒ Class uspořádaný sestupně dle n(A(v))3. přiřaď do KB prázdné pravidlo ∅ ⇒ Class (w), kde w je relativní četnost třídy ClassHlavní cyklus1. dokud OPEN není prázdný seznam1.1. vezmi první implikaci ze seznamu OPEN (označ ji Ant ⇒ Class )1.2. spočítej platnost této implikace P(Class|Ant)1.3. pokud P(Class|Ant) ≥ P min ∨ P(Class|Ant) ≤ (1 - P min ) potom1.3.1. spočítej pomocí kombinační funkce ⊕ váhu w ⊕ (Ant) naskládanou z vah pravidelv bázi KB aplikovatelných na Ant1.3.2. pokud se platnost implikace P(Class|Ant) signifikantně liší (na základě χ 2 testu)od naskládané váhy w ⊕ (Ant) potom1.3.2.1. přidej do KB pravidlo Ant ⇒ Class (w), kde w ⊕ w ⊕ (Ant) = P(Class|Ant)1.4. je-li l(Ant) < l max , pak1.4.1. pro každou kategorii A(v) ze seznamu CAT takovou, že:• atribut A se nevyskytuje v Ant• A(v) je v CAT před všemi kategoriemi z Ant - tedy platí, že četnost n(A(v))je větší nebo rovna četnosti n(Ant)1.4.1.1. generuj novou kombinaci AntA = Ant ∧ A(v)1.4.1.2. je-li n(AntA) > n min přidej AntA do seznamu OPEN za poslední kombinaciComb takovou, že n(Comb) ≥ n(AntA)1.5. odstraň Ant ze seznamu OPENObr. 9 Algoritmus ESOD pro jednu tříduPro rozšíření algoritmu pro více tříd se nabízejí dvě možnosti: vytvářet <strong>pravidla</strong> k jednotlivým třídámsamostatně opakovaným průchodem trénovacími daty (tedy analogicky s vytvářením neuspořádanýchpravidel v algoritmu CN4), nebo vytvořit <strong>pravidla</strong> ke všem třídám současně (tady je analogies vytvořením rozhodovacího seznamu v algoritmu CN4). Byla zvolena druhá varianta, která vedek tomu, že k jednomu předpokladu Ant se vytvoří tolik pravidel, kolik je hodnot cílového atributu.Báze znalostí má tedy podobu „baterií pravidel“Ant ⇒ Class t (w t ),kde Class t =C(v t ), t=1,…,T.Uvedené rozšíření vede ke změnám v algoritmu z Obr. 9. Nejjednodušší změnou je to, že místo jednéimplikace Ant ⇒ Class budeme uvažovat T implikací Ant ⇒ Class t a místo jednoho <strong>pravidla</strong> Ant ⇒Class (w), budeme uvažovat T pravidel Ant ⇒ Class t (w t ),. Zásadnější změna souvisí se způsobemskládání vah. Použitý inferenční mechanismus interpretuje váhu 1 jako „jistě ano“, váhu 0 jako „jistě ne“a váhu 0.5 jako „nevím“. Váha „nevím“ přitom odpovídá situaci, kdy jsou všechny cíle v datechzastoupeny rovnoměrně, tedy kdy platnost je rovna hodnotě 1/T, kde T je počet tříd. Pro více než dvětřídy (resp. pro více než jednu třídu a její protipříklady) tedy musíme mezi sebou převádět váhy a12


platnosti tak, aby při práci s pravděpodobnostmi (χ 2 test) bylo pro „nevím“ použito 1/T, a při prácis vahami (operace ⊕) bylo pro „nevím“ použito 0.5 23 :váha = T 2 × platnostpro platnost ∈ [0, 1/T]váha =TT2∗(T-1) × platnost + (1 - 2∗(T-1)) pro platnost ∈ [1/T, 1]resp.platnost = 2 T × váha pro váhu ∈ [0, 0.5]platnost = 2∗(T-1)T× váha + (1 -2∗(T-1)T ) pro váhu ∈ [0.5, 1]Obr. 10 Převod mezi platností a váhouGraf na Obr. 10 ukazuje způsob převodu. Vytváření pravidel k více třídám tedy znamená následujícízměny v algoritmu pro tvorbu pravidel (Obr. 9):• váha prázdného vztahu je relativní četnost převedená na váhu (krok 3 inicializace),• do χ 2 testu vstupuje platnost implikace a naskládaná váha převedená na platnost (krok1.1.2 hlavního cyklu),• váha w t <strong>pravidla</strong> se spočítá ze vztahu w t ⊕ w t ⊕ (Ant) = P´(Class t |Ant), kde P´(Class t |Ant) jeplatnost převedená na váhu (krok 1.1.2.1 hlavního cyklu).Místo cílové kombinace Class uživatel zadává cílový atribut C.V modifikaci pro více tříd byl algoritmus implementován v systému KEX [Berka, 1993], [Berka,Ivánek, 1994], i v novém systému pro dobývání znalostí z databází nazvaném LISP-Miner.23 Pro T=2 se žádný převod provádět nemusí.13


Použijeme-li uvedený algoritmus pro naše oblíbená data (Obr. 3), získáme <strong>pravidla</strong> uvedená na Obr.11 24 . Výpis (převzatý ze systému KEX) ukazuje hodnoty n(Ant) (frequency left), n(Class) (frequencyright) a n(Ant∧Class) (frequency both), váhu <strong>pravidla</strong> a vlastní pravidlo. První pravidlo s předpokladem0- je tzv. prázdné pravidlo (implicitní pravidlo, default); toto pravidlo zařadí každý příklad domajoritní třídy (tedy úvěr(ano)). V zápise <strong>pravidla</strong> je každá kategorie uvedena jako dvojice [pořadovéčíslo atributu, písmeno označující hodnotu], tedy stejně jako v podkapitole věnované generováníkombinací u asociačních pravidel. Pravidla, která rozhodují o tom, kdy půjčit jsou tedy 25 :1. úvěr(ano) (0.6667)2. IF příjem(vysoký) THEN úvěr(ano) (0.9802)3. IF konto(vysoké) THEN úvěr(ano) (0.9753)4. IF nezaměstnaný(ne) ∧ pohlaví(žena) THEN úvěr(ano) (0.9512)6. IF konto(střední) ∧ nezaměstnaný(ne) THEN úvěr(ano) (0.9512)GENERATED RULESFrequenciesno. left right both weight Implication------------------------------------------------------1 120.00 80.00 80.00 0.6667 0- ==> 5a2 50.00 80.00 50.00 0.9802 1v ==> 5a3 40.00 80.00 40.00 0.9753 2v ==> 5a4 20.00 80.00 20.00 0.9512 4n3z ==> 5a5 20.00 80.00 0.00 0.0127 2s4a ==> 5a6 20.00 80.00 20.00 0.9512 2s4n ==> 5a7 20.00 80.00 0.00 0.0127 2n1n ==> 5a8 10.00 80.00 0.00 0.0256 2s3z1n ==> 5aObr. 11 Pravidla nalezená systémem KEXUvedená <strong>pravidla</strong> odpovídají zadání l max = 4, n min = 1 a P min = 0.9 26 . Zde je třeba říci, že vhodná volbatěchto parametrů vyžaduje jistou zkušenost. Neplatí totiž, že se zvyšujícím se rozsahemprozkoumaných implikací se zlepšuje chování nalezené báze znalostí. Dochází zřejmě k přeučenísystému. Jsou ale jakési standardní strategie, jak volit vstupní parametry pro tvorbu báze pravidel:• plná analýza (l max = počet všech atributů, které se nevyskytují v cíli, n min = 1, P min = 0),• minimální analýza (l max = 1, n min = 1, P min = 0),• analýza "bez šumu" (P min = 1); toto zadání znamená, že se do báze zařadí pouze 100%vztahy 27 .24 Dopustili jsme se přitom malého triku. Vzhledem k tomu, že algoritmus používá statistický test, je pro jeho správnoučinnost potřeba dostatečný počet trénovacích příkladů. Zde jsme tedy každý příklad vážili (násobili) vahou 10.25 Jedná se o <strong>pravidla</strong>, která mají váhu w>0.5.26 Připomeňme, že kombinační analýza nalezla pro totéž zadání celkem 46 implikací se závěrem úvěr(ano).27 Tato strategie je vhodná, víme-li apriori, že data neobsahují žádné kontradikce. Budeme pak do báze znalostí zařazovatpouze <strong>pravidla</strong> s velikou diskriminační silou.14


Při klasifikaci nového příkladu použijeme všechna 28 aplikovatelná <strong>pravidla</strong> a pomocí funkce ⊕poskládáme jejich váhy. Příklad zařadíme ke třídě, pro kterou odvodíme nejvyšší váhu; v případějedné třídy příklad patří k této třídě, pokud odvodíme váhu w ⊕ >0.5. Kolem hodnoty w ⊕ =0.5 lze zvolitjakési „pásmo nerozhodnutelnosti“. Příklady pro které se odvodí váha v tomto pásmu nebudousystémem zařazeny do žádné třídy.Jestliže porovnáme algoritmus ESOD s dříve uvedenými klasickými algoritmy strojového učení protvorbu rozhodovacích stromů a pravidel, nalezneme následující odlišnosti:1. vzhledem k použitému statistickému testu je potřeba dostatečný počet příkladů,2. pro jeden příklad lze nalézt více použitelných pravidel (z trénovacích dat se neodstraňují pokrytéobjekty),3. v bázi pravidel se mohou objevit jako <strong>pravidla</strong> vztah i jeho prodloužení (redundance je měřenastatistickým testem),4. při konzultaci může systém pro jeden příklad doporučit (odvodit s pozitivní vahou) více cílů 29 .Algoritmus tedy vytváří více pravidel, což umožňuje různé pohledy na danou úlohu a umožňujeprovést konzultaci i v případě neúplně (nebo částečně chybně) popsaného případu. Redundance (vtomto smyslu) je také výhodná při klasifikaci objektů, které nebyly zahrnuty v trénovacích datech.<strong>5.3</strong>.5 Chybějící hodnotyPodobně jako v případě rozhodovacích stromů, i v případě rozhodovacích pravidel se chybějícíhodnoty ošetřují ve fázi předzpracování dat (často implementované jako součást systému pro tvorbupravidel). Brůha [Bruha, 1996] uvádí tyto relativně vyčerpávající možnosti, jak nakládá s chybějícíhodnotou systém CN4:1) ignoruje příklad s nějakou chybějící hodnotou,2) nahradí chybějící hodnotu novou hodnotou „nevím“,3) nahradí chybějící hodnotu některou z existujících hodnot atributu a sice:a) nejčetnější hodnotou,b) proporcionálním podílem všech hodnot,c) libovolnou hodnotou.V systému KEX se používá pouze nejjednodušší možnost – ignorování příkladů s chybějícími údaji.28 To je výrazný rozdíl ve srovnání s jinými algoritmy pro tvorbu rozhodovacích pravidel a stromů, kde se použije jedinépravidlo resp. cesta stromem.29 V případě, že se cíle navzájem nevylučují (např. pacient je imunní, pacient nemá infekci [Berka,1993d]), lze to objevit.15


<strong>5.3</strong>.6 Numerické atributyVzhledem k tomu, že algoritmy pro tvorbu rozhodovacích pravidel pracují pouze s kategoriálními daty30 , je třeba numerické atributy diskretizovat. Opět se nabízejí dvě možnosti, diskretizace ve fázipředzpracování (tak je např. řešena diskretizace v systému KEX), nebo diskretizace během běhualgoritmu. Tento druhý způsob si přiblížíme na příkladu diskretizace v systému CN4 [Berka, Bruha,1998].Diskretizace je v systému CN4 prováděna při každém průchodu hlavním cyklem algoritmu pro tvorbupravidel. Každý atribut se diskretizuje samostatně. Cílem diskretizace je nalézt vhodné hodnoty x iatributu A, které tento atribut rozdělí na (polouzavřené) intervaly v i =(x i1 ,x i2 ]. To pak umožní vytvářetkategorie A(v i ). Vhodné horní (dolní) meze hledaných intervalů odpovídají nerostoucím (neklesajícím)lokálním maximům heuristické vyhodnocovací funkce F(x i ). Pro funkci F se používá buď negativníentropie, nebo Laplaceův odhad spolehlivosti (viz <strong>5.3</strong>.2). Roli antecedentu pro výpočet četnostífigurujících v příslušných vzorcích nyní hraje testovaný interval.Algoritmus SetBounds(a)1. nechť PoleMezí je prázdné2. pro každou hodnotu x i atributu A2.1. spočítej pro každou třídu Class t (t=1,..,T) četnosti n t (A(≤x i )) a n t (A(>x i ))2.2. spočítej hodnotu funkce F(A(≤x i )) (označ Flevá(x i )) pro případ, že x i jepotenciální horní mez, tedy že A(≤x i ) bude vytvořená kategorie2.3. spočítej hodnotu funkce F(A(>x i )) (označ Fpravá(x i )) pro případ, že x i jepotenciální dolní mez, tedy že A(>x i ) bude vytvořená kategorie3. pro každou hodnotu x i atributu A3.1. pokud Flevá(x i ) je nerostoucí lokální maximum, tedyFlevá(x i-1 ) ≤ Flevá(x i ) > Flevá(x i+1 )3.1.1. přidej kategorii A(≤ x i ) do PoleMezí v pořadí podle hodnoty Flevá(x i )3.2. pokud Fpravá(x i ) je neklesající lokální maximum, tedyFpravá(x i-1 ) < Fpravá(x i ) ≥ Fpravá(x i+1 )3.2.1 přidej kategorii A(>x i ) do PoleMezí v pořadí podle hodnoty < Fpravá(x i )4. pro každou dvojici hodnot x i1 , x i2 z PoleMezí4.1. spočítej pro každou třídu Class t (t=1,..,T) četnosti n t (A(v)), kde v=(x i1 ,x i2 ]4.2. spočítej hodnotu funkce F(A(v))4.3. přidej kategorii A(v), kde v=(x i1 ,x i2 ] do PoleMezí v pořadí podle hodnoty F(v)Obr. 12 Diskretizace v algoritmu CN4Algoritmus diskretizace je uveden na Obr. 12. Diskretizační procedura postupně bere do úvahyvšechny hodnoty v i jako potenciální meze a počítá pro ně hodnotu funkce F. Pak hledá lokální maxima(vhodné meze). V posledním kroku se z mezí vytvářejí intervaly.Vezměme si pro ilustraci tohoto algoritmu situaci, kdy máme 7 pozitivních příkladů (s hodnotaminumerického atributu 45, 46, 50, 50, 100, 100, 120) a 5 negativních příkladů (s hodnotami atributu 51,30 Při hodnocení pravidel nás zajímají četnosti.16


51, 51, 99, 99). Průběh funkce F (počítané jako negativní entropie) je uveden na Obr. 13. Potenciálnídolní meze intervalů jsou 45, 50, a 99, jedinou potenciální horní mezí je hodnota 50. To vede navytvoření následujících intervalů seřazených podle hodnoty fukce F a četnosti n(A(v)). (Tab. 1):Interval v F(A(v)) n(A(v))50 < x


<strong>5.3</strong>.7 Numerické třídyNa rozdíl od rozhodovacích stromů, kde jsou algoritmy pro práci s numerickými třídami běžněpoužívány 31 , jsou algoritmy pro tvorbu rozhodovacích pravidel k numerickým třídám záležitostí spíševýzkumnou. K prvním takovým algoritmům patří R2 [Torgo,1995]. R2 hledá <strong>pravidla</strong>, která jsou„nejlepší“ vzhledem k střední absolutní odchylce mezi skutečnou hodnotou a hodnotou predikovanou.Algoritmus je omezen pouze na numerické atributy. Pravidla vytvářená systémem mají podobuIF Ant THEN avg Ant (y), neboIF Ant THEN ∑ i,Ant k i x i.kde předpoklad Ant je kombinace kategorií typu A(>x i ), resp. A(≤x i ) , závěr <strong>pravidla</strong> je v prvnímpřípadě konstanta (průměrná hodnota cílového atributu pro příklady splňující předpoklad), v druhémpřípadě lineární kombinace vstupních atributů (opět pro příklady splňující předpoklad).Podrobněji se opět podíváme na modifikaci systému CN4 [Bruha, Berka,1997]. V případěnumerických tříd hledá systém CN4 <strong>pravidla</strong> ve tvaruIF AntTHEN avg Ant (y), Mvar Ant (y).Předpoklad Ant je opět kombinace kategorií. Vzhledem k tomu, že C je nyní numerický atribut,objevuje se v závěru <strong>pravidla</strong> průměrná hodnota cíle počítaná pro příklady, které jsou pokrytypravidlem avg Ant (y) a rozptyl tohoto průměru Mvar Ant (y):kde var Ant2(y) =avg Ant (y) =1n(Ant)n(Ant)∑ yi , pro o i ∈ {Ant}i=1Mvar Ant (y) = var Ant 2 (y)n(Ant)1 n(Ant)n(Ant)-1 ∑ (yi - avg Ant (y)) 2 , pro o i ∈ {Ant}.i=1,Generování pravidel probíhá podobně jako ve verzi algoritmu pro diskrétní třídy; metodouspecializace komplexů (kombinací) přidáváním selektorů (hodnot atributů). Pravidla se vyhodnocujína základě porovnání směrodatné odchylky cílového atributu pro příklady pokryté pravidlem asměrodatné odchylky pro celá trénovací data.Při klasifikaci nových příkladů se hledá aplikovatelné pravidlo, průměrná hodnota cílového atribututohoto <strong>pravidla</strong> avg Ant (y) se pak považuje za hodnotu odvozenou pro uvažovaný příklad. Známe-lisprávnou hodnotu cíle pro tento příklad, můžeme posoudit přesnost provedené klasifikace tak, žezjistíme, zda tato správná hodnota leží v intervalu[avg Ant (y)-MvarAnt(y)3 , avg Ant (y)+MvarAnt(y)3 ].31 Jde v tomto případě o regresní stromy implementované např. v systému CART.18


<strong>5.3</strong>.8 Koncepty proměnlivé v časeVe většině úloh dobývání znalostí se předpokládá, že koncept (třída) jehož popis se máme naučit jestálý a s přibývajícím počtem trénovacích příkladů se nemění. Použité algoritmy pak obvykle pracujís celými daty naráz, v dávkovém režimu. Jsou ale úlohy, kdy se koncept v průběhu času dramatickyzmění. Příkladem může být předpovídání počasí, které silně závisí na roční době. Jasná obloha v létědává tušit vysoké teploty, jasná obloha v zimě znamená teploty nízké. Pak je užitečné se takovýmtozměnám konceptu přizpůsobit tak, že bereme do úvahy jen aktuální (čerstvá) data. V oblastistrojového učení se tento přístup nazývá inkrementální učení a zapomínání.Algoritmus takového typu byl implementován v systémech FLORA (např. [Widmer, Kubat, 1992]).Jádrem algoritmu je hledání hypotéz pokrývajících příklady dané třídy metodou generalizaceanalogicky jako u algoritmu AQ. Příklady jsou popsány hodnotami (kategoriálních) atributů ahypotézy mají podobu kombinací kategorií 32 . Kombinace jsou ukládány do tří množin: množina POSobsahuje hypotézy konzistentní s konceptem (kombinace pokrývá pouze pozitivní příklady), množinaNEG obsahuje hypotézy konzistentní s negací konceptu (kombinace pokrývá pouze negativnípříklady), a množina POT obsahuje potenciální hypotézy (kombinace které pokrývají pozitivní inegativní příklady). U každé hypotézy Comb se sleduje, kolik pozitivních resp. negativních příkladůpokrývá (n + (Comb), n - (Comb)). Inkrementalita algoritmu učení spočívá v tom, že množiny POS, NEG aPOT jsou aktualizovány po každém načtení nového příkladu. je-li např. nový pozitivní příklad pokrythypotézu z NEG, přesune se tato hypotéza do POT. Popis algoritmu je na Obr. 14.Algoritmus inkrementálního učení1. pro každý příklad o i z trénovací množiny1.1. je-li o i pozitivní potom1.1.1. pro každou Comb z POS pokud Comb pokrývá o i přiřaď n + (Comb) :=n + (Comb) + 11.1.2. pro každou Comb z POT pokud Comb pokrývá o i přiřaď n + (Comb) :=n + (Comb) + 11.1.3. pro každou Comb z NEG pokud Comb pokrývá o i přiřaď n + (Comb) := 1 apřesuň Comb do POT1.1.4. pokud v POS není žádná Comb která pokrývá o i , přidej do POS novoukombinaci CombN, která pokryje o i a nebude (kvůli sporu) v souladus hypotézami v POT a NEG, a přiřaď n + (CombN) := 11.2. je-li příklad o i negativní potom1.2.1. pro každou Comb z NEG pokud Comb pokrývá o i přiřaď n - (Comb) :=n(Comb) + 11.2.2. pro každou Comb z POT pokud Comb pokrývá o i přiřaď n - (Comb) :=nComb) + 11.2.3. pro každou Comb z POS pokud Comb pokrývá o i přiřaď n - (Comb):= 1 apřesuň Comb do POT1.2.4. pokud v NEG není žádná Comb která pokrývá o i , přidej do NEG novoukombinaci CombN, která pokryje o i a nebude (kvůli sporu) v souladus hypotézami v POT a POS, a přiřaď n - (CombN) := 1Obr. 14 Inkrementální učení v systému FLORA32 Každou kombinaci můžeme chápat jako předpoklad jednoho <strong>pravidla</strong>.19


Reakce na změnu konceptu je umožněna díky mechanismu zapomínání. Ten je analogický algoritmuučení. Starší příklady jsou zapomínány, což opět vede ke změnám v množinách POS, NEG a POT –tentokrát se ale počty pokrytých příkladů odčítají. Zapomenou-li se např. všechny příklady, kteréodpovídaly nějaké hypotéze Comb z množiny POS (tedy n + (Comb) klesne na 0), odstraní se Comb z POS(viz Obr. 15). To že starší příklady jsou zapomínány znamená, že FLORA pracuje jen s jakýmsi„oknem“, které se posunuje podél trénovací množiny. V paměti se tak udržuje jen určitý početnejaktuálnějších příkladů. Schematicky je celý proces učení a zapomínání znázorněn na Obr. 16.Algoritmus inkrementálního zapomínání1. je-li příklad o i pozitivní příklad, potom1.1. pro každou Comb z POS1.1.1. pokud Comb pokrývá o i přiřaď n + (Comb) := n + (Comb) - 11.1.2. je-li n + (Comb) = 0, odstraň Comb z POS1.2. pro každou Comb z POT1.2.1. pokud Comb pokrývá o i přiřaď n + (Comb) := n + (Comb) - 11.2.2. je-li li n + (Comb) = 0, přesuň Comb do NEG2. je-li příklad o i pozitivní příklad, potom2.1. pro každou Comb z NEG2.1.1. pokud Comb pokrývá o i přiřaď n - (Comb) := n - (Comb) - 12.1.2. je-li li n - (Comb) = 0, odstraň Comb z NEG2.2. pro každou Comb z POT2.2.1. pokud Comb pokrývá o i přiřaď n - (Comb) := n - (Comb) - 12.2.2. je-li n - (Comb) = 0, přesuň Comb do POSObr. 15 Inkrementální zapomínání v systému FLORAučenízapomínáníu + u −u +POS POT NEGz + z +z −z −u −Obr. 16 Proces inkrementálního učení a zapomínáníPřizpůsobení se změně konceptu je umožněno dynamickou modifikací velikosti okna (počtu příkladůuchovávaných v paměti). Myšlenka této modifikace je poměrně jednoduchá: pokud se konceptnemění, okno má stabilní velikost (aby se hypotézy vytvářely na základě hodně příkladů), pokud sekoncept začíná měnit, okno se zmenšuje (zapomínají se příklady, které odpovídají starému konceptu).Jak ale poznat začínající změnu konceptu? Změna konceptu je automaticky indikována tehdy, kdyžklesá podíl počtu pozitivních příkladů pokrytých množinou POS ku velikosti množiny POS 33 . Tentopokles znamená, že se nedaří nalézt dostatečně obecné hypotézy pokrývající pozitivní příklady, a že setedy něco děje. Reakcí systému na tuto skutečnost je zmenšení velikosti okna o 10%. Pokud se zdábýt kontext stabilní (výše uvedený podíl je vysoký), velikost okna se nemění. Pokud není podíl anivelký ani malý (systém se zotavuje ze změny konceptu), okno roste tak, že po načtení nového příkladuse nejstarší příklad nezapomene.33 Velikost množiny POS se měří počtem kategorií vyskytujících se v hypotézách v množině POS.20


Uvedený algoritmus byl schopen dobře zpracovávat pouze nezašuměná data, neboť v množině POSjsou hypotézy konzistentní s pozitivními příklady a v množině NEG jsou hypotézy konzistentnís negativními příklady. Novější verze algoritmu toto omezení odstranila tak, že neklade taková striktníomezení na obě množiny. Jednotlivé hypotézy se vyhodnocují statisticky ([Widmer, 1994]).<strong>5.3</strong>.9 Integrace znalostíIntegrace znalostí je otázka, která budí pozornost řady odborníků. Integrací se rozumí zkombinováníznalostí získaných z různých zdrojů do uceleného, konsistentního systému. O integraci znalostí semluví v souvislosti s expertními systémy (kdy je třeba sloučit znalosti získané od více expertů) iv souvislosti se strojovým učením a dobýváním znalostí z dat V tomto druhém kontextu se můžejednat o využití doménových znalostí (tzv. background knowledge) majících podobu např. hierarchiehodnot atributů nebo dílčích expertních znalostí 34 , nebo o zpřesňování a revizi dříve získanýchznalostí (knowledge refinement and revision) na základě dalších dat 35 . Předpokládáme přitom, žestaré i nové příklady odpovídají stejnému konceptu; na rozdíl od předcházející podkapitoly se tedy nicnezapomíná.Obr. 17 ukazuje dva možné přístupy k integrování znalostí; „složení“ jednotlivých modelů do modeluvýsledného (vlevo), nebo aktualizace modelu na základě nových dat (vpravo). První možnostnalezneme např. v [Brazdil, Torgo, 1990]. Dílčí znalosti mají podobu pravidel získaných pomocísystémů ID3 nebo AQ z různých dat. Algoritmus pro integrování prochází seznam všech pravideluspořádaný podle kvality 36 a postupně přidává do souhrnné báze jen ta nejlepší. Poté, co je vybránonějaké pravidlo, algoritmus přepočítá kvalitu všech zbývajících pravidel 37 . Proces výběru pravidelkončí, když není k dispozici žádné pravidlo s dostatečnou kvalitou.Staréznalosti 1. . . . . .Staréznalosti zNová trénovací dataIntegraceznalostíNové znalostiStaréznalostiIntegraceznalostíNové znalostiObr. 17 Obecné schéma integrace znalostíPříklad druhého přístupu, zařazený do kontextu systému KEX, nalezneme např. v [Berka, 1997].Integrace znalostí je zde řešena při zachování hlavní myšlenky algoritmu ESOD, přidávat do báze jenty implikace, která přinášejí novou znalost k již existujícím pravidlům. Algoritmus integrace tedy34 Viz pasáže věnované hierarchii atributů a induktivnímu logickému programování.35 Při dobývání znalostí může nastat situace kdy získáme další trénovací data poté, kdy jsme již vytvořili nějaký model. Proalgoritmy umožňující inkrementální učení je tento typ integrování znalostí přirozeným způsobem práce. Rozhodovacístromy a <strong>pravidla</strong> se ale obvykle vytvářejí v dávkovém režimu36 Kvalita <strong>pravidla</strong> závisí na přesnosti a pokrytí. Podrobněji v kapitole věnované asociačním pravidlům.37 Kvalita zbývajících pravidel se počítá s vyloučením příkladů, pokrytých právě vybraným pravidlem. Aby to šlo spočítat, jeke každému pravidlu přiřazena informace o tom, které příklady pokrývá a které z nich patří k dané třídě.21


porovnává implikace vytvořené pro nová trénovací data a dříve vytvořená <strong>pravidla</strong>. Pokud nějakáimplikace Ant ⇒ Class bude zařazena jako nové pravidlo, může to ovlivnit taková již existující<strong>pravidla</strong> Comb r ⇒ Class (w r ) pro která je kombinace Comb r prodloužením (nadkombinací) kombinaceAnt. Tato <strong>pravidla</strong> je tedy třeba rovněž otestovat a buď je z báze pravidel odstranit (jsou-li nynízbytečná), nebo modifikovat jejich váhu. Schéma algoritmu je na Obr. 18.Algoritmus integrace znalostíInicializace1. nechť KB je již existující báze pravidel2. nechť IMPL je seznam implikací Ant ⇒ Class vytvořených z nových dat uspořádanýsestupně dle četnosti n(Ant)Hlavní cyklus1. dokud IMPL není prázdný seznam1.1. vezmi první implikaci ze seznamu IMPL (označ ji Ant ⇒ Class )1.2. spočítej pomocí kombinační funkce ⊕ váhu w ⊕ (Ant) naskládanou z vah pravidelv bázi KB aplikovatelných na Ant1.3. pokud se platnost implikace P(Class|Ant) signifikantně liší (na základě χ 2 testu) odnaskládané váhy w ⊕ (Ant) potom1.3.1. přidej/přepiš do KB pravidlo Ant ⇒ Class (w), kde w ⊕ w ⊕ (Ant) = P(Class|Ant)1.3.2. pro každé pravidlo Comb r ⇒ Class (w r ) z KB takové, že Ant je podkombinacíkombinace Comb r1.3.2.1. spočítej pomocí kombinační funkce ⊕ váhu w ⊕ (Comb r )1.3.2.2. pokud se platnost implikace P(Class|Comb r ) signifikantně liší odnaskládané váhy w ⊕ (Comb r ) potom modifikuj váhu w r , jinak ostraň pravidloComb r ⇒ Class (w r ) z KB1.4. odstraň Ant ⇒ Class ze seznamu IMPLObr. 18 Algoritmus integrování znalostí pro systém KEX<strong>5.3</strong>.10 Hierarchie hodnot atributůS hierarchiemi (taxonomiemi) hodnot atributů jsme se již setkali u asociačních pravidel. Podobnýproblém hledání pravidel pro různé úrovně obecnosti se může vyskytnout i v souvislosti s úlohouklasifikace.Ukažme si jeden přístup práce s hierarchiemi atributů, který byl navržen v kontextu algoritmu ESOD.Svátek [Svátek, 1996] rozlišuje dva typy hierarchií: hierarchii hodnot “vstupních” atributů a hierarchiihodnot cílového atributu. V obou případech má hierarchie podobu stromu s kořenem odpovídajícímnejobecnější hodnotě “any”. Tato hodnota vyjadřuje, že na atributu nezáleží 38 . Příklady hierarchií jsouuvedeny na Obr. 19 a Obr. 20. Původní hodnoty atributů jsou v plných obdélnících, abstraktnív tečkovaných.38 Podobně tomu bylo v kapitole o učení jako prohledávání22


39V případě hierarchie “na vstupu” hledá navržený algoritmus pouze <strong>pravidla</strong>, která majív předpokladu hodnoty všech atributů. Báze pravidel se tedy místo od prázdného <strong>pravidla</strong> začínávytvářet od <strong>pravidla</strong>, které má v předpokladu hodnotu “any” u všech atributů. Specializace se provádítak, že se hodnota “any” u nějakého atributu nahradí speciálnější hodnotou v rámci dané hierarchie.Četnost výskytu takové hodnoty bude samozřejmě menší než u hodnoty obecnější, je tedy zachovánogenerování kombinací podle četnosti. Podobně jako v původním algoritmu ESOD se postupněprocházejí všechny implikace, a zjišťuje se, zda se mají zařadit do báze pravidel. Naskládaná váhaw ⊕ (Ant) pro konkrétní implikaci Ant ⇒ Class se počítá ze všech pravidel Comb r ⇒ Class obecnějšíchnež tato implikace ve smyslu hierarchie hodnot atributů. Pravidlo Comb r ⇒ Class je obecnější nežimplikace Ant ⇒ Class pokud hodnoty všech atributů v Comb r jsou stejné nebo obecnější, než hodnotyatributů v Ant. V bázi pravidel se tak mohou vyskytnout <strong>pravidla</strong> s hodnotami atributů z různé úrovněhierarchie (bydlení(vlastní_dům) i bydlení(nájemní)).anyvlastnídružstevnínájemnívlastní dům vlastní byt Nájemníbyt státníNájemníbyt smajitelemObr. 19 Hierarchie vstupního atributu “bydlení”V případě hierarchie hodnot cílového atributu (příklad takové hierarchie je na Obr. 20) se vytvářísamostatná báze pravidel pro každou nelistovou hodnotu c dané hierarchie. Do učícího se algoritmupřitom vstupují pouze ty příklady, které patří do podstromu této hodnoty. Přitom se mění i hodnotacíle, původní (nejspeciálnější) hodnota je nahrazena hodnotou obecnější, ležící ovšem rovněžv podstromu hodnoty v. Tedy např. pro nelistový uzel “stanovena” (Obr. 20) budeme vytvářet bázipravidel k příkladům tříd “imunní” a “neimunní”. Schema algoritmu je na Obr. 21.Vytvořená hierarchická báze pravidel je pak použitelná pro konzultaci na různých úrovních obecnosti.Tento přístup je spíše vhodnější pro vysvětlování než pro klasifikaci.39 Jedna hodnota může být součástí více hierarchií. To je dokumentováno v [Svátek, 1996] na příkladu objektů zakreslenýchv mapě, kdy např. “potok” může být v jedné hierarchii chápan jako vodní plocha (stejně jako rybník) a v druhé hierarchiijako jednorozměrný útvar (stejně jako cesta).23


anynestanovenastanovenaimunníneimunníneinfikováninfikovánObr. 20 Hierarchie cíle “diagnoza”Algoritmus tvorby pravidel1. pro každou nelistovou hodnotu v cílového atributu C1.1. zařaď do trénovací množiny D TRv ty příklady, které mají jako hodnotucílového atributu speciálnější hodnotu, než v1.2. v množině D TRv nahraď původní hodnoty cílového atributu v k hodnotouv x takovou, že v x je speciálnější než v ale obecnější než c k (pokud v k jebezprostřední následovník hodnoty v, ponech v k nezměněno)1.3. aplikuj algoritmus ESOD na trénovací data D TRv1.4. přiřaď nalezená <strong>pravidla</strong> R v k uzlu v hierarchieObr. 21 Použití algoritmu ESOD pro hierarchii třídTouto zmínkou o práci s hierarchiemi hodnot zakončíme celou kapitolu věnovanou rozhodovacímpravidlům.Literatrura:[Berka, 1993] Berka,P.: Vybrané znalostní systémy, SAK, SAZE, KEX. Skripta VŠE, Praha 1993.[Berka, 1993b] Berka, P.: Knowledge EXplorer. A tool for automated knowledge acquisition from data. Tech.Report, Austrian Research Institute for AI, Vienna, TR-93-03, 1993, 23s.[Berka, 1993c] Berka,P.: Discretization of numerical attributes for Knowledge EXplorer. Výzkumná zpráva,Praha, LISP-93-03, 1993, 11s.[Berka, 1993d] Berka,P.: A comparison of three different methods for acquiring knowledge about virologicalhepatitis tests. Tech. Report, Austrian Research Institute for AI, Vienna, TR-93-10, 1993, 29s.24


[Berka, 1997] Berka,P.: Towards knowledge integration via knowledge revision: The Knowledge Explorerapproach. In: (Nakhaeizadeh, Bruha, Taylor eds.) Proc. ECML'97 Workshop Dynamically ChangingDomains: Theory Revision and Context Dependence Issues. Prague, 1997, 1-8.[Berka, Bruha, 1998] Berka,P. - Bruha,I.: Empirical comparison of various discretization procedures. Int. J.of Pattern Recognition and Artificial Intelligence Vol. 12 No. 7 (1998) 1017-1032.[Berka, Ivánek, 1994] Berka,P. - Ivánek,J.: Automated knowledge acquisition for PROSPECTOR-like expertsystems. In. (Bergadano, de Raedt eds.) Proc. ECML'94, Springer 1994, 339-342.[Brazdil, Torgo, 1990] Brazdil,P. – Torgo,L.: Knowledge acquisition via knowledge integration. In: CurrentTredns in Knowledge Acquisition, IOS Press, 1990.[Bruha, 1996] Bruha,I.: Rule-induction in machine learning: Some latest enhancements and trends. In: Proc.Artificial Intelligence Techniques AIT’96, Brno, 1996.[Bruha, Berka, 1997] Bruha,I. – Berka,P.: Knowledge acquisition of rules with continuous classes: Empiricalcomparison of two methods. In: (Kaylan, Lehman eds.) Proc. European Simulation MulticonferenceESM'97, SCS, 1997, Vol.2, 42-46.[Bruha, Kočková, 1994] Bruha,I. – Kočková,S.: A support for decision making: Cost-sensitive learning system.Artificial Intelligence in Medicine, 6 (1994), 67-82.[Clark, Niblett, 1989] Clark,P. - Niblett,T.: The CN2 induction algorithm. Machine Learning, 3 (1989), 261-283.[Duda, Gasching, 1979] Duda,R.O. - Gasching,J.E.: Model design in the Prospector consultant system formineral exploration. in: Michie,D. (ed.), Expert Systems in the Micro Electronic Age, Edinburgh UniversityPress, UK, 1979.[Goodman, Smyth, 1989] Goodman,R.: Smyth,P. The induction of probabilistic rule sets – the ITRule algorithm.In: Proc. Int. Wshop on Machine Learning, Morgan Kaufman, 1989.[Hájek, 1985] Hájek,P.: Combining functions for certainty factors in consulting systems. Int.J. Man-MachineStudies 22,1985, 59-76.[Ivánek, Stejskal, 1988] Ivánek,J. - Stejskal,B.: Automatic acquisition of knowledge base from data withoutexpert: ESOD (Expert System from Observational Data). In: Proc. COMPSTAT'88 Copenhagen,Physica-Verlag, 1988, 175-180.[Lavrac, 2000] Lavrac,N.: Decision Rules. Slajdy, http://www.cs.bris.ac.uk/Teaching/Resources/COMS70300/slides/RulesHTML/, 2000.[Michalski, 1969] Michalski,R.S.: On the Quasi-minimal solution of the general covering problem. In: Proc. 5 thInt. Symposium on Information Processing FCIP’69, Bled, Yugoslavia, 1969, 125-128.[Mitchell, 1997] Mitchell,T.: Machine learning. McGraw-Hill. 1997. ISBN 0-07-042807-7[Svátek, 1996] Svátek,V.: Learning with value hierarchies in the ESOD framework. In: Proc. ArtificialIntelligence Techniques AIT’96, Brno, 1996.[Torgo,1995] Torgo,L.: Data fitting with rule-based regresion. In: Proc. Artificial Intelligence TechniquesAIT’96, Brno, 1996.[Widmer, Kubat, 1992] Widmer,G. – Kubat,M.: Learning flexible concepts from streams of examples:FLORA2. In: (Neumann ed.) Proc. 10 th European Conf. on Artificial Intelligence ECAI’92, John Wiley, 1992.[Widmer, 1994] Widmer,G.: Combining robustness and flexibility in learning drifting concepts. In: (Cohn ed.)Proc: 11 th European Conf. on Artificial Intelligence ECAI’94, John Wiley, 1994.25

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

Saved successfully!

Ooh no, something went wrong!