140 likes | 265 Views
Príznakové mriežky a ID3. Ivan Kapustík. Všeobecné informácie. Príznakové mriežky sú určené pre ručné získavanie znalostí nad množinou objektov z problémovej oblasti menšie súbory objektov doplnenie alebo rozšírenie automatizovaných metód dolovania znalostí. Postup.
E N D
Príznakové mriežky a ID3 Ivan Kapustík
Všeobecné informácie • Príznakové mriežky sú určené pre ručné získavanie znalostí nad množinou objektov z problémovej oblasti • menšie súbory objektov • doplnenie alebo rozšírenie automatizovaných metód dolovania znalostí
Postup • Identifikovanie dôležitých objektov problémovej oblasti • Identifikovanie atribútov, ktoré sú dôležité pre rozhodnutia • Pre každý atribút sa určia možné hodnoty alebo triedy hodnôt • Vyberie sa trojica objektov a hľadá sa odlišnosť jedného z nich od ostatných dvoch • Buduje sa celá mriežka pridávaním podobných objektov a hľadaním nových rozdielov • Hotovú mriežku je možné transformovať do novej formy • Mriežka sa transformuje do vhodného formalizmu
Príklad – výber prog. jazyka Máme skupinu programovacích jazykov – C, Java, Lisp, Prolog, Fortran • Táto skupina zároveň určuje objekty do mriežky • Určíme možné atribúty na ich rozlíšenie: • rozšírenosť, čas učenia, zameranie,
Atribúty • Rozšírenosť • univerzálny, rozšírený, občasný, špeciálny • Čas učenia • kratší, priemerný, dlhý • Zameranie • čísla, symboly, univerzálne
Triády • Čím sa odlišujú Lisp, Prolog a Java? • Lisp a Prolog sú zamerané na symboly • Java je univerzálna • Rozšírenie triády – pridáme C • C je univerzálne ako Java • Hľadáme ďalší atribút na rozlíšenie objektov v jednej triede – napríklad rozlíšenie C a Java
Transformácia mriežky • Algoritmy na dolovanie údajov • ID3 (Iterative Dichotomiser 3) • Occamova britva • C4.5 • Rieši problém chýbajúcich hodnôt • Spojité hodnoty člení na intervaly • AQ algoritmus – generuje pravidlá • Naivný Bayesov klasifikátor
ID3 – algoritmus let examples = množina trénovacích príkladov let atts = množina všetkých atribútov function id3(examples, atts): if examples sú všetky v jednej triede c then return koncový uzol označený 'predpovedaj triedu c' else for each atribút z atts usporiadaj examples podľa ich hodnôt vi atribútu a vypočítaj entropiu usporiadaných príkladov endfor vyber abest, atribút ktorý vykazuje najnižšiu entropiu for each hodnotu vi atribútu abest vyber príklady ei z examples pre ktoré abest = vi generuj subtreei s využitím id3(ei, atts - abest) endfor return uzol ktorý testuje abest a pripojené substromy subtreei
ID3 – entropia • Algoritmus vyberá najzaujímavejší atribút – ten, ktorý prinesie najviac informácií – najlepšie rozdelí množinu objektov. Najviac informácií prináša atribút s najnižšou entropiou. • Entropia atribútu • E = ∑wiEi • wi je váha i-tej vetvy, vytvorenej podľa tohto atribútu • wi = počet príkladov vo vetve i / počet príkladov v rodičovskom uzle • Ei je entropia i-tej vetvy • Ei = - ∑pjlog2pj • pj je pravdepodobnosť j-tej triedy • pj = počet príkladov j-tej triedy / počet všetkých príkladov vo vetve
ID3 –entropia príklad • Rozšírenosť – tri vetvy s 2, 2, 1 triedami • w1 = 2/5, w2 = 2/5, w3 = 1/5 • E1 = E2 = -2(1/2 log2 1/2) = 1 • E3 = - log2 1 = 0 • ERozšírenosť = 2/5 + 2/5 = 0,8
ID3 –entropia príklad • Čas učenia – dve vetvy s 3 a 2 triedami • w1 = 3/5, w2 = 2/5 • E1 = -3(1/3 log2 1/3) = 1,58 • E2 = -2(1/2 log2 1/2) = 1 • EČas učenia = 0,6*1,58 + 0,4 = 1,35 • Atribút Zameranie má rovnakú entropiu ako Rozšírenosť (ktorá je menšia ako pre Čas učenia), preto algoritmus vyberie jeden z týchto dvoch.
Vytvorený strom Rozš. o u š Čas Čas F p k p k Rozš. P L C J o u š x Čas Čas Čas F x p k p k x p k x P P L C J C P L P L J C J C F L J F