Title: Induktiv logikprogrammering
1Induktiv logikprogrammering
Henrik Boström
- Regler
- Sökstrategier
- Flerklassproblem
- Överanpassning
- Ensembler
2Regler
illegal(WKr,WKc,BKr,BKc,BRr,BRc) - WKr BRr,
WKc ? BRc, WKr ? BKr.
active(M) - atom(M,A1,E,C1), atom(M,A2,E,C2),
C1 gt C2.
sentence(L1,L2) - determiner(L1,L3),
noun(L3,L4), verb(L4,L2).
-
-
-
-
-
-
-
-
-
?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
?
-
-
-
-
-
-
-
?
-
-
-
-
-
-
3Nå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)
4Induktionsproblemet
- 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
5Exempel
- 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)
6Top-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.
7Separate-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
8Divide-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
9Heuristik för val av specialisering
- Divide-and-Conquer
-
- Separate-and-Conquer
10Kung-Torn vs. Kung-Bonde
11Grammatik
12Tic-Tac-Toe
13Replikationsproblemet
- p(X1,X2,X3,X4)- X11, X21. p(X1,X2,X3,X4)-
X31, X41. p(X1,X2,X3,X4)- X31,
X42.p(X1,X2,X3,X4)- X31, X41.p(X1,X2,X3,X4
)- X31, X42.p(X1,X2,X3,X4)- X31, X43,
X11, X21.p(X1,X2,X3,X4)- X31, X44, X11,
X21. p(X1,X2,X3,X4)- X32, X11,
X21.p(X1,X2,X3,X4)- X33, X11,
X21.p(X1,X2,X3,X4)- X34, X11, X21.
SAC
DAC
14Separate-and-Conquer vs. Divide-and-Conquer
- Divide-and-Conquer är effektivare än
Separate-and- Conquer (O(E) vs. O(E2) ). - 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.
15Flerklassproblem
- 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
17Sannolikhetsmått
Relativ frekvens Laplace mått m-estimate
18Pre- 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
19Incremental 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
20Ensembler 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