ILP – Bild 1 Induktiv logikprogrammering Regler Sökstrategier Flerklassproblem Överanpassning Ensembler Henrik Boström
ILP – Bild 2 Regler illegal(WKr,WKc,BKr,BKc,BRr,BRc) :- WKr = BRr, WKc BRc, WKr BKr. sentence(L1,L2) :- determiner(L1,L3), noun(L3,L4), verb(L4,L2) ? ? ? active(M) :- atom(M,A1,E,C1), atom(M,A2,E,C2), C1 > C2.
ILP – Bild 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)
ILP – Bild 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
ILP – Bild 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)}
ILP – Bild 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.
ILP – Bild 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
ILP – Bild 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
ILP – Bild 9 Heuristik för val av specialisering Divide-and-Conquer Separate-and-Conquer
ILP – Bild 10 Kung-Torn vs. Kung-Bonde
ILP – Bild 11 Grammatik
ILP – Bild 12 Tic-Tac-Toe
ILP – Bild 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
ILP – Bild – – – – – – – – – – – – – – – – 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. Separate-and-Conquer vs. Divide-and-Conquer
ILP – Bild 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
ILP – Bild 16 Överanpassning Sannolikhetsmått Pre- och Post-Pruning Incremental Reduced Error Pruning
ILP – Bild 17 Sannolikhetsmått Relativ frekvens Laplace mått m-estimate
ILP – Bild 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
ILP – Bild 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
ILP – Bild 20 Ensembler av klassificerare Randomisation Bagging Boosting 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: