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.

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

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

Saved successfully!

Ooh no, something went wrong!