200 likes | 339 Views
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) :-
E N D
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) :- determiner(L1,L3), noun(L3,L4), verb(L4,L2). - - + - - - + - - + + ? - - - + - + + - - + + + - + - - + - + + + - - - - - - - - - - - - - + - - - - + - + + ? - - - + - - - + ? - - + - - - - -
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)
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
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)}
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.
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
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
Divide-and-Conquer Separate-and-Conquer Heuristik för val av specialisering
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
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. + – – + – – + – + + – + – – + + – + + + – – + –
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
Överanpassning • Sannolikhetsmått • Pre- och Post-Pruning • Incremental Reduced Error Pruning
Sannolikhetsmått Relativ frekvens Laplace mått m-estimate
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
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
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