Generovanie LOGICKÝCH KONJUNKCIÍ doc. Ing. Kristína Machová, PhD. kristina.machova@tuke.sk http://people.tuke.sk/kristina.machova/
OSNOVA: 1. Prehľadávanie priestoru pojmov 2. Reprezentácia a použitie logických konjunkcií 3. Inkrementálna indukcia logických konjunkcií 4. VSS algoritmy (Version Space Search) 5. Prehľadávanie od špecifického k všeobecnému 6. Prehľadávanie od všeobecného k špecifickému 7. Obojsmerné prehľadávanie 8. Neinkrementálna indukcia logických konjunkcií 9. Úplné prehľadávanie 10.Heuristické prehľadávanie
PREHĽADÁVANIE PRIESTORU POJMOV Riadené prehľadávanie (usporiadanie podľa všeobecnosti) Operátory zovšeobecnenia/špecifikácie: nahradenie konštanty premennou farba( lopta, cervena) farba( lopta, X ) vypustenie podmienky z konjunktívneho výrazu t var( X, lopta) & velkost( X, mala ) t pridanie disjunkcie do výrazu t var( X, lopta) & farba( X, biela) t var( X, lopta) var( X, lopta) & farba( X, biela cervena) nahradenie vlastnosti jej rodičom v hierarchii tried farba( X, cervena) farba( X, primarna _ farba) Predpoklad: obj (Veľkosť, Farba, Tvar) Veľkosť = {veľká, malá} Farba = {červená, biela, modrá} Tvar = {lopta, tehla, kocka}
REPREZENTÁCIA A POUŽITIE LOGICKÝCH KONJUNKCIÍ Reprezentácia: IF konjunkcia podm. (A=v) THEN záver Použitie: TP vyhovujúci podmienkam konjunkcie je zaradený do triedy (označený ako pozitívny) Bičíky = {jeden, dva} Farba = {tmavá, svetlá} Jadrá = {jeden, dva}.
REPREZENTÁCIA A POUŽITIE LOGICKÝCH KONJUNKCIÍ IF H > 5 THEN + IF G < 5 THEN + IF H > 5 & H < 9 & G > 2 & G < 5 THEN + pričom 0<H<10 a 0<G<10
INKREMENTÁLNA INDUKCIA Vstup: postupnosť pozitívnych trénovacích príkladov pre triedu T postupnosť negatívnych trénovacích príkladov pre triedu T Výstup: logická konjunkcia, ktorá, korektne klasifikuje testovacie príklady Hľadáme aproximáciu pojmu (triedy) pomocou konjunkcie podmienok. Problémy v doménach obsahujúcich šum (reprezentačný bias). Multitriedna indukcia indukuje popisy pre množinu N pojmov, ktoré majú slúžiť na klasifikáciu do N tried.
VSS algoritmy (Version Space Search) Hľadáme pojmy, konzistentné so vstupnými príkladmi. Pokrývajú všetky pozitívne a žiaden negatívny príklad. Chceme sa vyhnúť prevšeobecneniu a prešpecifikácii.
PREHĽADÁVANIE od ŠPECIFICKÉHO ku VŠEOBECNÉMU Pracuje inkrementálne. Tento algoritmus uskutočňuje zovšeobecňovanie. Buduje množinu S ( specific ) kandidátov pojmov. Používa operátory zovšeobecnenia. Vyhýba sa prílišnému zovšeobecneniu. Pojem P je najšpecifickejšie zovšeobecnený, ak pre každý ďalší pojem P tiež pokrývajúci pozitívne príklady platí: P P.
PREHĽADÁVANIE od ŠPECIFICKÉHO ku VŠEOBECNÉMU begin N={},S=prvý pozitívny trénovací príklad for begin for if then end for begin end end. každý pozitívny príklad p každé s z S s nepokrýva p nahraď s jeho najšpecifickejším zovšeobecnením, ktoré pokrýva p vymaž z S hypotézy všeobecnejšie ako iné hypotézy v S vymaž z S hypotézy pokrývajúce nájdené negatívne príklady v N každý negatívny príklad n vymaž členov S pokrývajúcich n pridaj n do N pre kontrolu prílišného zovšeobecnenia budúcich hypotéz
PREHĽADÁVANIE od ŠPECIFICKÉHO ku VŠEOBECNÉMU
PREHĽADÁVANIE od VŠEOBECNÉHO k ŠPECIFICKÉMU Pracuje inkrementálne. Tento algoritmus uskutočňuje špecifikáciu. Buduje množinu G ( general ) kandidátov pojmov. Používa operátory špecifikácie. Vyhýba sa prílišnej špecifikácii. Pojem P je najvšeobecnejšou špecifikáciou, ak pre každý ďalší pojem P, ktorý tiež nepokrýva žiadny negatívny príklad, platí: P > P.
end PREHĽADÁVANIE od VŠEOBECNÉHO k ŠPECIFICKÉMU begin P={} G=najvšeobecnejší pojem priestoru for begin for každé g z G if g pokrýva n každý negatívny príklad n then nahraď g jeho najvšeobecnejšou špecifikáciou, ktorá nepokrýva n vymaž z G hypotézy špecifickejšie ako iné hypotézy v G end vymaž z G hypotézy nepokrývajúce niektoré pozitívne príklady for každý pozitívny príklad p begin vymaž z G hypotézy, nepokrývajúce p pridaj p do P pre kontrolu prílišnej špecifikácie budúcich hypotéz
PREHĽADÁVANIE od VŠEOBECNÉHO k ŠPECIFICKÉMU
OBOJSMERNÉ PREHĽADÁVANIE Algoritmus eliminácie kandidátov pojmov (Mitchell) Buduje množinu S ( specific ) a zároveň množinu G ( general ) kandidátov pojmov. Používa operátory zovšeobecnenia a špecifikácie.
OBOJSMERNÉ PREHĽADÁVANIE begin S=prvý pozitívny trénovací príklad, G=najvšeobecnejší pojem v priestore for každý nový pozitívny trénovací príklad p begin vymaž z G hypotézy, ktoré nepokrývajú p end for for každé s z S if s nepokrýva p then nahraď s jeho najšpecifickejším zovšeobecnením, ktoré pokrýva p vymaž z S hypotézy všeobecnejšie ako iné hypotézy v S vymaž z S hypotézy všeobecnejšie ako nejaká hypotéza v G každý nový negatívny príklad n begin vymaž z S hypotézy, ktoré pokrývajú n for každé g z G if g pokrýva n then nahraď g jeho najvšeobecnejšou špecifikáciou, ktorá nepokrýva n vymaž z G hypotézy špecifickejšie ako iné hypotézy v G vymaž z G hypotézy špecifickejšie ako niektorá hypotéza v S end if G=S then algoritmus našiel konzistentný pojem,
NEINKREMENTÁLNA INDUKCIA Vstup: množina pozitívnych trénovacích príkladov pre triedu T množina negatívnych trénovacích príkladov pre triedu T Výstup: logická konjunkcia, ktorá, korektne klasifikuje testovacie príklady Algoritmus úplného prehľadávania priestoru pojmov EGS (Exhaustive General to Specific) ESG (Exhaustive Specific to General) Algoritmus heuristického prehľadávania priestoru pojmov HGS (Heuristic General to Specific) HSG (Heuristic Specific to General)
EGS EXHAUSTIVE GENER. to SPEC. egs(pset,nset,cset,hset) for každý pojem H v HSET if H nepokrýva všetkých členov PSET then vymaž H z HSET if H nepokrýva žiadny člen z NSET then vymaž H z HSET & pridaj H do CSET if HSET={} then vráť CSET else nech NEWSET={} for každý pojem H v HSET nech SPECS sú všetky jedno-podmienkové špecifikácie H for každý pojem S v SPECS if CSET neobsahuje žiadny pojem všeobecnejší ako S (kontrola prílišnej špecifikácie) then pridaj S do NEWSET egs(pset,nset,cset,newset)
EGS EXHAUSTIVE GENER. to SPEC.
EGS EXHAUSTIVE GENER. to SPEC.
ESG EXHAUSTIVE SPEC. to GENER. Vykonáva logickú indukciu neinkrementálnej povahy Hľadá najšpecifickejšiu logickú konjunkciu Je výpočtovo menej náročná ako EGS Nepracuje s negatívnymi príkladmi EGS ako aj ESG algoritmus: oneuspeje ak neexistuje LK konzistentná s TM onezvláda zašumené dáta
HGS HEURISTIC GENER. to SPEC. Vykonáva heuristickú indukciu neinkrementálnej povahy. HGS hľadá najvšeobecnejšiu logickú konjunkciu. HSG Hľadá najšpecifickejšiu logickú konjunkciu. Používa ohodnocovaciu funkciu SCORE(h). Používa lúčové prehľadávanie beam-search, ktoré definuje parameter BS: beam-size HGS ako aj HSG algoritmus: oneuspeje ak neexistuje LK konzistentná s TM ozvláda zašumené dáta
HGS HEURISTIC GENER. to SPEC. hgs(pset,nset,closed-set,hset) nech OPEN-SET={} for každý pojem H v HSET nech SPECS sú všetky jedno-podmienkové špecifikácie H, nech NEWSET={} for každý špecifikovaný pojem S v SPECS if Score (S,PSET,NSET)>Score (H,PSET,NSET) then pridaj S do NEWSET if NEW-SET={} then pridaj H do CLOSED-SET else for každý pojem S v NEW-SET pridaj S do OPEN-SET for každý pojem C v CLOSED-SET if S je aspoň tak špecifický ako C then if Score (C,PSET,NSET)>Score (S,PSET,NSET) then vymaž S z OPEN-SET else vymaž C z CLOSED-SET if OPEN-SET={} then vráť člena s najvyšším skóre v CLOSED-SET else nech BEST-SET je Beam-Size počet najvyššie skórovaných členov zjednotenia OPEN-SET a CLOSED-SET hgs (PSET,NSET,CLOSED-SET,OPEN-SET).
HGS HEURISTIC GENER. to SPEC. Algoritmus používa hodnotiacu funkciu, napríklad v tvare: Pc N nc Score( H, P, N) P N Kde: P je množina pozitívnych príkladov N je množina negatívnych príkladov Pc sú pokryté pozitívne príklady Nnc sú nepokryté negatívne príklady Je možné používať aj štatistické a informačné miery, Ale aj tak jednoduchú mieru ako: Score( H, P, N) P c N nc