generovanie logickÝch konjunkciÍ

23
Generovanie LOGICKÝCH KONJUNKCIÍ doc. Ing. Kristína Machová, PhD. [email protected] http://people.tuke.sk/ kristina.machova/

Upload: hailey

Post on 12-Jan-2016

75 views

Category:

Documents


0 download

DESCRIPTION

Generovanie LOGICKÝCH KONJUNKCIÍ. doc. Ing. Kristína Machová, PhD . k ristina. m achova @tuke.sk http://people.tuke.sk/kristina.machova/. O SNOVA:. Prehľadávanie priestoru pojmov Reprezentácia a použitie logických konjunkcií Inkrementálna indukcia logických konjunkcií - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Generovanie LOGICKÝCH KONJUNKCIÍ

Generovanie LOGICKÝCH KONJUNKCIÍ

doc. Ing. Kristína Machová, PhD.

[email protected]

http://people.tuke.sk/kristina.machova/

Page 2: Generovanie LOGICKÝCH KONJUNKCIÍ

OSNOVA:

1. Prehľadávanie priestoru pojmov2. 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ému6. Prehľadávanie od všeobecného k špecifickému7. Obojsmerné prehľadávanie8. Neinkrementálna indukcia logických konjunkcií9. Úplné prehľadávanie10.Heuristické prehľadávanie

Page 3: Generovanie LOGICKÝCH KONJUNKCIÍ

PREHĽADÁVANIE PRIESTORU POJMOV

Riadené prehľadávanie (usporiadanie podľa všeobecnosti)Operátory zovšeobecnenia/špecifikácie: nahradenie konštanty premennou

vypustenie podmienky z konjunktívneho výrazu

pridanie disjunkcie do výrazu

nahradenie vlastnosti jej rodičom v hierarchii tried

),(),( Xloptafarbacervenaloptafarba

),var(),(&),var( loptaXtmalaXvelkostloptaXt

),(&),var(),(&),var( cervenabielaXfarbaloptaXtbielaXfarbaloptaXt

)_,(),( farbaprimarnaXfarbacervenaXfarba

Predpoklad: obj (Veľkosť, Farba, Tvar) Veľkosť = {veľká, malá}Farba = {červená, biela, modrá}Tvar = {lopta, tehla, kocka}

Page 4: Generovanie LOGICKÝCH KONJUNKCIÍ

REPREZENTÁCIA A POUŽITIELOGICKÝCH KONJUNKCIÍ

Reprezentácia: IF konjunkcia podm. (A=v) THEN záverPoužitie: TP vyhovujúci podmienkam konjunkcieje zaradený do triedy (označený ako pozitívny)

Bičíky = {jeden, dva}Farba = {tmavá, svetlá}Jadrá = {jeden, dva}.

Page 5: Generovanie LOGICKÝCH KONJUNKCIÍ

REPREZENTÁCIA A POUŽITIELOGICKÝCH KONJUNKCIÍ

IF H > 5 THEN “+” pričom 0<H<10 a 0<G<10

IF G < 5 THEN “+”IF H > 5 & H < 9 & G > 2 & G < 5 THEN “+”

Page 6: Generovanie LOGICKÝCH KONJUNKCIÍ

INKREMENTÁLNA INDUKCIA

Vstup: postupnosť pozitívnych trénovacích príkladov pre triedu Tpostupnosť 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.

Page 7: Generovanie LOGICKÝCH KONJUNKCIÍ

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.

Page 8: Generovanie LOGICKÝCH KONJUNKCIÍ

PREHĽADÁVANIE od ŠPECIFICKÉHOku 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’.

Page 9: Generovanie LOGICKÝCH KONJUNKCIÍ

PREHĽADÁVANIE od ŠPECIFICKÉHOku VŠEOBECNÉMU

begin

N={},S=prvý pozitívny trénovací príklad

for každý pozitívny príklad p

begin

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 pokrývajúce nájdené

negatívne príklady v N

end

for každý negatívny príklad n

begin

vymaž členov S pokrývajúcich n

pridaj n do N pre kontrolu prílišného

zovšeobecnenia

budúcich hypotéz

end

end.

Page 10: Generovanie LOGICKÝCH KONJUNKCIÍ

PREHĽADÁVANIE od ŠPECIFICKÉHOku VŠEOBECNÉMU

Page 11: Generovanie LOGICKÝCH KONJUNKCIÍ

PREHĽADÁVANIE od VŠEOBECNÉHOk Š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’.

Page 12: Generovanie LOGICKÝCH KONJUNKCIÍ

PREHĽADÁVANIE od VŠEOBECNÉHOk ŠPECIFICKÉMU

begin

P={}

G=najvšeobecnejší pojem priestoru

for každý negatívny príklad n

begin

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 nepokrývajúce niektoré pozitívne

príklady

end

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

end

Page 13: Generovanie LOGICKÝCH KONJUNKCIÍ

PREHĽADÁVANIE od VŠEOBECNÉHOk ŠPECIFICKÉMU

Page 14: Generovanie LOGICKÝCH KONJUNKCIÍ

OBOJSMERNÉ PREHĽADÁVANIE

Algoritmus eliminácie kandidátov pojmov (Mitchell)Buduje množinu S (“specific”) a zároveň množinuG (“general”) kandidátov pojmov.Používa operátory zovšeobecnenia a špecifikácie.

Page 15: Generovanie LOGICKÝCH KONJUNKCIÍ

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

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

end

for 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,

Page 16: Generovanie LOGICKÝCH KONJUNKCIÍ

NEINKREMENTÁLNA INDUKCIA

Vstup: množina pozitívnych trénovacích príkladov pre triedu Tmnož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 pojmovEGS (Exhaustive General to Specific)ESG (Exhaustive Specific to General)

Algoritmus heuristického prehľadávania priestoru pojmovHGS (Heuristic General to Specific)HSG (Heuristic Specific to General)

Page 17: Generovanie LOGICKÝCH KONJUNKCIÍ

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)

Page 18: Generovanie LOGICKÝCH KONJUNKCIÍ

EGS–EXHAUSTIVE GENER. to SPEC.

Page 19: Generovanie LOGICKÝCH KONJUNKCIÍ

EGS–EXHAUSTIVE GENER. to SPEC.

Page 20: Generovanie LOGICKÝCH KONJUNKCIÍ

ESG–EXHAUSTIVE SPEC. to GENER.

Vykonáva logickú indukciu neinkrementálnej povahyHľadá najšpecifickejšiu logickú konjunkciuJe výpočtovo menej náročná ako EGSNepracuje s negatívnymi príkladmi

EGS ako aj ESG algoritmus:oNeuspeje ak neexistuje LK konzistentná s TMoNezvláda zašumené dáta

Page 21: Generovanie LOGICKÝCH KONJUNKCIÍ

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 TMoZvláda zašumené dáta

Page 22: Generovanie LOGICKÝCH KONJUNKCIÍ

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).

Page 23: Generovanie LOGICKÝCH KONJUNKCIÍ

HGS–HEURISTIC GENER. to SPEC.

NP

NPNPHScore ncc

),,(

Algoritmus používa hodnotiacu funkciu, napríklad v tvare:

Kde: P je množina pozitívnych príkladovN je množina negatívnych príkladovPc sú pokryté pozitívne príkladyNnc sú nepokryté negatívne príklady

Je možné používať aj štatistické a informačné miery,Ale aj tak jednoduchú mieru ako:

ncc NPNPHScore ),,(