1 / 20

Induktiv logikprogrammering

Induktiv logikprogrammering. Regler Sökstrategier Flerklassproblem Överanpassning Ensembler. Henrik Boström. illegal(WKr,WKc,BKr,BKc,BRr,BRc) :- WKr = BRr, WKc  BRc, WKr  BKr. Regler. active(M) :- atom(M,A1,E,C1), atom(M,A2,E,C2), C1 > C2. sentence(L1,L2) :-

natara
Download Presentation

Induktiv logikprogrammering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Induktiv logikprogrammering • Regler • Sökstrategier • Flerklassproblem • Överanpassning • Ensembler Henrik Boström

  2. illegal(WKr,WKc,BKr,BKc,BRr,BRc) :- WKr = BRr, WKc  BRc, WKr  BKr. Regler active(M) :-atom(M,A1,E,C1), atom(M,A2,E,C2), C1 > C2. sentence(L1,L2) :- determiner(L1,L3), noun(L3,L4), verb(L4,L2). - - + - - - + - - + + ? - - - + - + + - - + + + - + - - + - + + + - - - - - - - - - - - - - + - - - - + - + + ? - - - + - - - + ? - - + - - - - -

  3. Några tillämpningar • Molekylärbiologi (läkemedelsaktivitet, mutagenicitet, sekundär- strukturer hos protein)active(M):- atom(M,A1,E1,T1,C1), atom(M,A2,E2,T2,C2), ... • Naturligt språkbehandling (morfologi, part-of-speech tagging, grammatik)rmv(A,B,dt):- nounp(B,C),noun(C,D), pos(D,E), nounp(E,F). • Diagnos-, styr- och modelleringssystem (diagnos av fel i kommunikationssatteliter, manövrera F-16 simulator, kvalitativa modeller)

  4. Induktionsproblemet • Givet: • en mängd bakgrundspredikat B och två disjunkta mängder grunda atomer P och N Finn: • en hypotes (regelmängd) H, så att H B  p, för alla p  P och H B | n, för alla n  N

  5. Exempel • B = • suit(Suit):- black(Suit).suit(Suit):- red(Suit). • rank(Rank):- num(Rank).rank(Rank):- face(Rank). • black(spades). black(clubs). • red(hearts). red(diamonds). • num(1). ... num(10). • face(jack). face(queen). face(king).P = {reward(spades,7), reward(clubs,3)} • N = {reward(hearts,5), reward(clubs,jack)}

  6. Top-Down vs. Bottom-Up Induction • Top-Down (General-to-specific) induction • Starta med en hypotes som täcker några positiva exempel och specialisera den tills inga negativa exempel täcks. • Bottom-Up (Specific-to-general) induction • Starta med en hypotes som täcker endast positiva exempel och generalisera den så långt det går utan att negativa exempel täcks.

  7. Separate-and-Conquer • Indata: E+ (positiva exempel), E– (negativa exempel) och T (målpredikat) • Utdata: H (hypotes) H :=  och Pos := E+ • Så länge Pos  • C := T • Så länge C täcker något negativt exempel • Specialisera C • Addera C till H • Subtrahera de element i Pos som täcks av H Returnera H System: Foil, Progol

  8. Divide-and-Conquer • Indata: E+ (positiva exempel), E– (negativa exempel) och T (målpredikat) • Utdata: H (hypotes) H := T • Så länge någon klausul C i H täcker ett negativt exempel • Om C täcker något positivt exempel så ersätt C med split(C) annars subtrahera C från H Returnera H System: CART, C4.5, Spectre, Tilde

  9. Divide-and-Conquer Separate-and-Conquer Heuristik för val av specialisering

  10. Kung-Torn vs. Kung-Bonde

  11. Grammatik

  12. Tic-Tac-Toe

  13. Replikationsproblemet • p(X1,X2,X3,X4):- X1=1, X2=1. p(X1,X2,X3,X4):- X3=1, X4=1. p(X1,X2,X3,X4):- X3=1, X4=2.p(X1,X2,X3,X4):- X3=1, X4=1.p(X1,X2,X3,X4):- X3=1, X4=2.p(X1,X2,X3,X4):- X3=1, X4=3, X1=1, X2=1.p(X1,X2,X3,X4):- X3=1, X4=4, X1=1, X2=1. p(X1,X2,X3,X4):- X3=2, X1=1, X2=1.p(X1,X2,X3,X4):- X3=3, X1=1, X2=1.p(X1,X2,X3,X4):- X3=4, X1=1, X2=1. SAC DAC

  14. Separate-and-Conquer vs. Divide-and-Conquer – – + + + + – + + – • Divide-and-Conquer är effektivare än Separate-and- Conquer (O(|E|) vs. O(|E|2) ). • Hypotesrymden är större för Separate-and-Conquer än för Divide-and-Conquer. • För varje hypotes i hypotesrymden för Separate-and- Conquer så finns det en ekvivalent hypotes i hypotesrymden för Divide-and-Conquer. • Divide-and-Conquer är i motsats till Separate-and- Conquer ej applicerbar för inlärning av rekursiva regler. + – – + – – + – + + – + – – + + – + + + – – + –

  15. Flerklassproblem • Inga problem för Divide-and-Conquer: - endast heuristiken behöver modifieras - reglerna är ej överlappande, så ordningen spelar ingen roll • Två möjligheter för Separate-and-Conquer: i) betrakta reglerna som ordnade (decision lists)  strategi för att bestämma i vilken ordning reglerna skall läras behövs ii) betrakta reglerna som oordnade strategi för att resolvera konflikter behövs System: CN2

  16. Överanpassning • Sannolikhetsmått • Pre- och Post-Pruning • Incremental Reduced Error Pruning

  17. Sannolikhetsmått Relativ frekvens Laplace mått m-estimate

  18. Pre- och Post-pruning • Pre-pruning - specialisering av regel som täcker exempel från flera klasser utförs inte om ej tillräckligt bra alternativ finns (t.ex. ingen informations- vinst) - effektiv men riskfylld metod • Post-pruning - reglerna generaliseras efter att en konsistent hypotes har genererats - mer kostsam men ger ofta upphov till mer korrekt hypotes

  19. Incremental Reduced Error Pruning • Applicera Post-pruning direkt på en regel efter att den lagts till hypotesen av SAC • Stor effektivitetsvinst då ju en större mängd exempel kan subtraheras vid varje iteration • Dock risk för s.k. ”hasty generalisation” System: IREP, Ripper, Flipper

  20. Ensembler av klassificerare En uppsättning klassificerare får rösta (ev. med olika vikter) när ett nytt exempel skall klassificeras. De mest populära metoderna för att genera en ensemble är: • Randomisation • Bagging • Boosting

More Related