© Prof. Dr. H. Gläser, Künstliche Intelligenz
Automatisierung des Lernens
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Inhalt:
• Problemstellung
• Prädikatenlogische Mittel
• Sequentielle Bedeckalgorithmen
• Induktive Logische Programmierung
• Induktion als invertierte Deduktion
• Erklärungsbasiertes Lernen
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Problemstellung:
Lernen = Induzieren von Regeln aus Beispielen !
Viele Patienten mit Röteln haben rote Punkte
Alle Menschen mit roten Punkten haben Röteln
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Attribute
Eigenschaften, die einen Wert annehmen könnenSpaltenbezeichnungen in einer Tabelle
TennisWirdGespielt Windstärke Feuchtigkeit Wetter
ja schwach normal sonnig
nein stark hoch regnerisch
Beispiel
eine Zeile der Tabelle
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Regel:
IF <Vorbedingung> THEN <Nachbedingung>
Vorbedingung bzw. Nachbedingung:
Konjunktion (Verbindungen mit UND) vonAttribut / Wert Kombinationenz.B.Wetter=sonnig UND Feuchtigkeit=hoch UND ...
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Aufgabe:
Es sollen Regeln gelernt werden, die ein Attribut (das Zielattribut) als Nachbedingung haben
z.B.IF Wind=schwach UND Feuchtigkeit=niedrig THEN TennisWirdGespielt=ja
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Sequentieller Bedeckalgorithmus
while( noch nicht alle Beispiele abgedeckt )
ruft „Learn One Rule“ auf:
Learn-One_Rule liefert neue Regel„abgedeckte“ Beispiele werden beiseite gelegtRegeln = bisher gewonnene Regeln neue Regel
Learn-One-Rule(ZielAttribut, Attribute, Beispiele)
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Learn One Rule - Algorithmus
Menge von Hypothese Kandidaten
Beste Hypothese
informierte „Tiefe zuerst Suche“ vom allgemeinen zum speziellen
HypotheseEine versuchsweise aufgestellte Regel
Während der Suche diejenige Hypothese, mit der besten Performanz,d.h. diejenige, die die Beispiele am besten beschreibt
Stapel noch nicht expandierter Knoten, d.h. noch nichtausgewerteter Kandidaten für Hypothesen
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Alle Constraints
Neue Hypothese Kandidaten
Eine Menge von neuen Hypothese Kandidaten, die während derSuche gebildet werden
Menge aller Constraints, die in den Beispielen vorkommen
ConstraintAttribut / Wert Paar der Form Windstärke=stark
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Problemzustand:= eine Regel-Hypothese mit dem Zielattribut
Operator:
jeder Constraint a=b aus „alle Constraints“ bildet einen Operator
beim Expandieren eines Problemzustands wird der neueConstraint der bisherigen Hypothese mit UND hinzugefügt:
alter Problemzustand:IF Windstärke=stark UND Wetter=regnerisch THEN TS = ja
Operator: Feuchtigkeit=hoch
neuer Problemzustand:IF Windstärke=stark UND Wetter=regnerisch UND Feuchtigkeit=hochTHEN TP = ja
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Algorithmusidee:
es werden vorhandenen Constraints systematisch mit UND zuRegel-Vorbedingungen kombiniert, und deren Wirksamkeit in der Beschreibung der Beispiele gemessen (Performanz)= informierte Suche
Dabei beginnt man mit möglichst allgemeinen Hypothesen d.h.mit möglichst wenigen Constraints und expandiert diese zuspezielleren Hypothesen (mehr Constraints)
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Performanzmaß
relative Häufigkeit
n = Zahl von Beispielen, die mit der Vorbedingung der Regel übereinstimmen
nc= Zahl von Beispielen aus n, bei denen das Zielattribut denWert des Zielattributs der Regel annimmt
n
nc
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Performanzmaß
Entropie:
S = Menge von Beispielen, die mit der Vorbedingung der Regel übereinstimmenc = Anzahl von verschiedenen Werten, die das Zielattributannehmen kann
pi= Anteil von Beispielen aus S, bei denen das Zielattribut den i-tenWert annimmt
c
iii ppSEntropie
12log)(
(Formel wie sie im beschriebenen Algorithmus verwendet wird)
(bessere Regeln habenhöhere Werte)
(mißt die Gleichförmigkeit der Zielattribut Wertefür den Satz S an Beispielen)
© Prof. Dr. H. Gläser, Künstliche Intelligenz
-0,6
-0,5
-0,4
-0,3
-0,2
-0,1
0
0,1
0 0,2 0,4 0,6 0,8 1 1,2
Reihe1
ii pp 2log
ip
© Prof. Dr. H. Gläser, Künstliche Intelligenz
(Fortsetzung des Algorithmus)
Initialisieren der Beste Hypothese mit der allgemeinsten Hypothese
while (Menge von Hypothese Kandidaten nicht leer)
1. Erzeuge die nächst-spezifischeren Hypothese Kandidatend.h. die Neue Hypothese Kandidaten:
for jede Hypothese h in Menge von Hypothese Kandidaten
for jeden Constraint c in Alle Constraints
neue Spezialisierung durch Hinzufügen von c zu h
2. for jede Hypothese h aus Neue Hypothese Kandidaten: if Performanz(h) > Performanz(Beste Hypothese) h wird Beste Hypothese
Entferne alle Hypothesen, die doppelt, inkosistent, nicht maximalspezifisch
© Prof. Dr. H. Gläser, Künstliche Intelligenz
(Fortsetzung des Algorithmus)
3. die k besten Hypothesen aus Neue Hypothese Kandidaten bilden nun Menge von Hypothese Kandidaten
(Ende von while über Menge von Hypothese Kandidaten )
return Regel: IF Beste Hypothese THEN Nachbedingungwobei Nachbedingung: Zielattribut=Wertwobei Wert der häufigste Wert vom Zielattribut unter den Beispielen,die Beste Hypothese beschreibt
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Beispiel für „Sequentielle Bedeckung + Lerne_Eine_Regel“
© Prof. Dr. H. Gläser, Künstliche Intelligenz
TennisWirdGespielt Wetter Luftfeuchtigkeit Windstärkeja sonnig gering geringnein regnerisch hoch geringnein regnerisch hoch geringnein sonnig gering hochnein regnerisch hoch geringnein sonnig gering hochnein sonnig gering hochja sonnig gering geringnein sonnig gering hochnein sonnig gering geringja sonnig gering geringja sonnig gering geringnein regnerisch hoch geringja sonnig gering hochja regnerisch hoch geringja regnerisch hoch geringja sonnig gering hoch
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Alle Constraints :{Wetter=sonnig,Wetter=regnerisch,Luftfeuchtigkeit=gering, Luftfeuchtigkeit=hoch,Windstärke=gering,Windstärke=hoch}
Kandidaten Hypothesen: IF THEN TennisWirdGespielt = ?
Neue Kandidaten Hyphothesen:
IF Wetter=sonnig THEN TennisWirdGespielt = ?IF Wetter=regnerisch THEN TennisWirdGespielt = ?IF Luftfeuchtigkeit=gering THEN TennisWirdGespielt = ?IF Luftfeuchtigkeit=hoch THEN TennisWirdGespielt = ?IF Windstärke=gering THEN TennisWirdGespielt = ?IF Windstärke=hoch THEN TennisWirdGespielt = ?
© Prof. Dr. H. Gläser, Künstliche Intelligenz
IF Wetter=sonnig THEN TennisWirdGespielt = ?Gesamtbsp.: 11; pja=6/11; pnein=5/11; Entropie=-0,99IF Wetter=regnerisch THEN TennisWirdGespielt = ?Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92IF Luftfeuchtigkeit=gering THEN TennisWirdGespielt = ?Gesamtbsp.:11; pja=6/11; pnein=5/11; Entropie=-0,99IF Luftfeuchtigkeit=hoch THEN TennisWirdGespielt = ?Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92IF Windstärke=gering THEN TennisWirdGespielt = ?Gesamtbsp.:11; pja=6/11; pnein=5/11; Entropie=-0,99IF Windstärke=hoch THEN TennisWirdGespielt = ?Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92
Bewertung mit Entropie:
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Kandidaten Hypothesen (k = 1)
Neue Kandidaten Hypothesen
IF Wetter=regnerisch THEN TennisWirdGespielt = ?Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92
IF Wetter=regnerisch UND Wetter=sonnig,IF Wetter=regnerisch UND Wetter=regnerisch,IF Wetter=regnerisch UND Luftfeuchtigkeit=gering,IF Wetter=regnerisch UND Luftfeuchtigkeit=hoch,IF Wetter=regnerisch UND Windstärke=gering,IF Wetter=regnerisch UND Windstärke=hoch
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Bewertung mit Entropie:
IF Wetter=regnerisch UND Wetter=sonnig,widersprüchlich !IF Wetter=regnerisch UND Wetter=regnerisch,doppelt !IF Wetter=regnerisch UND Luftfeuchtigkeit=gering, kein Beispiel IF Wetter=regnerisch UND Luftfeuchtigkeit=hoch,Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92IF Wetter=regnerisch UND Windstärke=gering,Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92IF Wetter=regnerisch UND Windstärke=hoch kein Beispiel
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Kandidaten Hypothesen (k = 1)
Neue Kandidaten Hypothesen
Wetter=regnerisch,Luftfeuchtigkeit=hoch, Wetter=sonnig,Wetter=regnerisch,Luftfeuchtigkeit=hoch, Wetter=regnerisch,Wetter=regnerisch,Luftfeuchtigkeit=hoch, Luftfeuchtigkeit=gering, Wetter=regnerisch,Luftfeuchtigkeit=hoch, Luftfeuchtigkeit=hoch,Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=gering,Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=hoch
IF Wetter=regnerisch UND Luftfeuchtigkeit=hoch,Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92
© Prof. Dr. H. Gläser, Künstliche Intelligenz
TennisWirdGespielt Wetter Luftfeuchtigkeit Windstärkeja sonnig gering geringnein regnerisch hoch geringnein regnerisch hoch geringnein sonnig gering hochnein regnerisch hoch geringnein sonnig gering hochnein sonnig gering hochja sonnig gering geringnein sonnig gering hochnein sonnig gering geringja sonnig gering geringja sonnig gering geringnein regnerisch hoch geringja sonnig gering hochja regnerisch hoch geringja regnerisch hoch geringja sonnig gering hoch
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Kandidaten Hypothesen (k = 1)
Neue Kandidaten Hypothesen
Wetter=regnerisch,Luftfeuchtigkeit=hoch, Wetter=sonnig,widersprüchlich !Wetter=regnerisch,Luftfeuchtigkeit=hoch, Wetter=regnerisch,doppelt !Wetter=regnerisch,Luftfeuchtigkeit=hoch, Luftfeuchtigkeit=gering, widersprüchlich !Wetter=regnerisch,Luftfeuchtigkeit=hoch, Luftfeuchtigkeit=hoch,doppeltWetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=gering,Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=hochkein Bsp.
IF Wetter=regnerisch UND Luftfeuchtigkeit=hoch,Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Beste Hypothese
Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=gering,
häufigste Belegung des Zielattributs mit dieser Vorbedingung:TennisWirdGespielt = nein (4 von 6)
=> 1. Regel:IF Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=gering THENTennisWirdGespielt = nein
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Entfernen der beschriebenen Beispiele aus dem Beispielsatz:
TennisWirdGespielt Wetter Luftfeuchtigkeit Windstärkeja sonnig gering geringnein sonnig gering hochnein sonnig gering hochnein sonnig gering hochja sonnig gering geringnein sonnig gering hochnein sonnig gering geringja sonnig gering geringja sonnig gering geringja sonnig gering hochja sonnig gering hoch
Learn_One_Rule beginnt von vorne:
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Alle Constraints :{Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=gering,Windstärke=hoch}
Kandidaten Hypothesen: IF THEN TennisWirdGespielt = ?
Neue Kandidaten Hyphothesen:
Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=gering,Windstärke=hoch
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Entfernen der beschriebenen Beispiele aus dem Beispielsatz:
TennisWirdGespielt Wetter Luftfeuchtigkeit Windstärkeja sonnig gering geringnein sonnig gering hochnein sonnig gering hochnein sonnig gering hochja sonnig gering geringnein sonnig gering hochnein sonnig gering geringja sonnig gering geringja sonnig gering geringja sonnig gering hochja sonnig gering hoch
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Bewertung mit Entropie:
Wetter=sonnig,Gesamtbsp.: 11; pja=6/11; pnein=5/11; Entropie=-0,99Luftfeuchtigkeit=gering, Gesamtbsp.: 11; pja=6/11; pnein=5/11; Entropie=-0,99Windstärke=gering,Gesamtbsp.: 5; pja=4/5; pnein=1/5; Entropie=-0,72Windstärke=hochGesamtbsp.: 6; pja=2/6; pnein=4/6; Entropie=-0,92
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Neue Kandidaten Hypothesen
Windstärke=gering UND Wetter=sonnig,Windstärke=gering UND Luftfeuchtigkeit=gering, Windstärke=gering UNDWindstärke=gering,Windstärke=gering UND Windstärke=hoch
IF Windstärke=gering
Kandidaten Hypothesen (k = 1)
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Entfernen der beschriebenen Beispiele aus dem Beispielsatz:
TennisWirdGespielt Wetter Luftfeuchtigkeit Windstärkeja sonnig gering geringnein sonnig gering hochnein sonnig gering hochnein sonnig gering hochja sonnig gering geringnein sonnig gering hochnein sonnig gering geringja sonnig gering geringja sonnig gering geringja sonnig gering hochja sonnig gering hoch
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Bewertung mit Entropie:
Windstärke=gering UND Wetter=sonnig,Gesamtbsp.: 5; pja=4/5; pnein=1/5; Entropie=-0,72Windstärke=gering UND Luftfeuchtigkeit=gering,Gesamtbsp.: 5; pja=4/5; pnein=1/5; Entropie=-0,72 Windstärke=gering UNDWindstärke=gering,doppeltWindstärke=gering UND Windstärke=hochwidersprüchlich
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Da bei allen Bsp. sonnig und Luftfcht. = gering:
Beste Hypothese
Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=gering
häufigste Belegung des Zielattributs mit dieser Vorbedingung:TennisWirdGespielt = ja (4 von 5)
=> 2. Regel:IF Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=gering THENTennisWirdGespielt = ja
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Entfernen der beschriebenen Beispiele aus dem Beispielsatz:
TennisWirdGespielt Wetter Luftfeuchtigkeit Windstärkenein sonnig gering hochnein sonnig gering hochnein sonnig gering hochnein sonnig gering hochja sonnig gering hochja sonnig gering hoch
=> 3. Regel:IF Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=hoch THENTennisWirdGespielt = nein
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Regeln geben zwar Aussagen für alle BeispieleSie treffen aber nicht unbedingt immer zuPerformanzwert gibt Aussage über Wahrscheinlichkeit
=> 1. Regel:IF Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=gering THENTennisWirdGespielt = nein
=> 2. Regel:IF Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=gering THENTennisWirdGespielt = ja
=> 3. Regel:IF Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=hoch THENTennisWirdGespielt = nein
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Learn One Rule
positive Beispiele:
(Name1=Sharon, Mother1=Louise, Father1=Bob, Male1= False, Female1=True,Name2=Bob, Mother2=Nora, Father2=Victor, Male2=True, Female2=False,Daughter1,2=True)
while (noch Attribute übrig) Daughter1,2=True (ohne Vorraussetzung)
Daughter1,2=True Voraussetzung 1 neues AttributAttribut / Wert Kombinationen Wirksamkeit in Bedeckung der BeispieleRangliste
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Prädikatenlogische Mittel
prädikatenlogischer Ausdruck =
Literalsymbol, Prädikatsymbol,Funktionsymbol,
M = Greater_than( age( Mary ), x )
Konstantensymbol, Variablensymbol
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Horn Clause
nLLH 1
KopfKörper
IF Parent(x,y) THEN Ancestor(x,y)
KopfKörper
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Ergebnis Regel propositional:
Nachteil Propositionen: Keine Beziehung zwischen den Attributwerten
Lösung: Horn clause:
TrueFemaleBobNameBobFatherIF 121
TrueDaughterTHEN 2,1
1. Ordnungsregel
),()(),( yxDaughterTHENyFemalexyFatherIF
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Induktive Logische Programmierung
innere Schleife des sequentiellen Bedeckalgorithmus:
(input: Prädikate, die auch in den Beispielen vorkommen, z.B Father, Female)
GrandDaughter(x,y) (ohne Vorraussetzung)
Regel:
Es wird nur nach Regeln für GrandDaughter(x,y)=True gesucht !
© Prof. Dr. H. Gläser, Künstliche Intelligenz
while (es werden noch negative Bindungen abgedeckt)
Kandidatenbildung:),(),(),,(),,(),,(),,(),,(),,( yFemalexFemaleyzFatherzyFatherxzFatherzxFatherxyFatheryxFather
).,(..),,( yxEqualBzwieNegationendieundyxEqual
Bewertung anhand der Beispiele
GrandDaughter(x,y) bisherige Regel bester Kandidat
Ergebnis: )(),(),(),( yFemalexzFatherzyFatheryxterGrandDaugh
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Algorithmus zur induktiven logischen Programmierung
Eingabe: (Ziel_Prädikat, Prädikate, Beispiele)
Prädikate: Prädikatsnamen, wie sie auch in den Beispielen vorkommen, hier also Father, Female
Beispiele: Beispielprädikate mit Konstanten z.B.
GrandDaughter(Victor, Sharon) Father(Sharon, Bob) Father(Tom, Bob)Female(Sharon) Father(Bob, Victor)
© Prof. Dr. H. Gläser, Künstliche Intelligenz
),( yxterGrandDaugh
Victor, Sharon, Bob, Tom 16 Kombinationen mit x,y
1 positive Bindung: SharonyVictorx /,/
StartRegel: die reine Nachbedingung (am allgemeinsten)
15 negative Bindungen
Bilanz:
Closed World Assumption:alles was nicht explizit wahr ist,ist falsch.
Dies führt zu negative Bindungen von x, y
© Prof. Dr. H. Gläser, Künstliche Intelligenz
),( VictorVictorterGrandDaugh),( BobVictorterGrandDaugh),( TomVictorterGrandDaugh
),( VictorSharonterGrandDaugh),( SharonSharonterGrandDaugh
),( BobSharonterGrandDaugh),( TomSharonterGrandDaugh
),( VictorBobterGrandDaugh),( SharonBobterGrandDaugh
Implizite negative Beispiele:
),( BobBobterGrandDaugh),( TomBobterGrandDaugh
),( VictorTomterGrandDaugh),( SharonTomterGrandDaugh
),( BobTomterGrandDaugh),( TomTomterGrandDaugh
),( yxterGrandDaugh
Die Regel
bedeckt auch diese negativen Beispiele !(Denn sie besagt: „ Alle sindEnkelin von allen, auch von sich selbst“) d.h. die Regel sagtz.B. Victor ist Enkelin von Victor, dies ist aber wegen der Closed World Assumptionnicht wahr. -> Spezialisierung mussweitergehen
© Prof. Dr. H. Gläser, Künstliche Intelligenz
nächster Schritt:
Bisher vorkommende („alte“) Variablen:
Neue Regel = Alte Regel ^ neues Literal
x, y
Neue Variablenmenge (mit einer ergänzten Variable):
x, y, z
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Kandidatenbildung für neues Literal: - Alle möglichen Kombinationen der Prädikate (von der Eingabe) sowie equals mit den Variablen aus der Variablenmenge. - Dabei muß in der Variablenliste jedes Kandidatenliterals mindestens ein Variable, die schon in der Regel existiert ! vorkommen (bei equals nur Variablen die schon in Regel existieren) ! - Dazu kommen alle Negationen dieser neuen Literale !
Prädikate der Eingabe: Father, Female
Alle möglichen Kombinationen:Father(x,y) Father(x,z) Father(y,x)Father(y,z)Father(z,x)Father(z,y)
Female(x)Female(y)Female(z)
equals(x,y)equals(x,z)equals(y,x)equals(y,z)equals(z,x)equals(z,y)
identisch
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Bewertung der Kandidaten:
),(),( yxFatheryxterGrandDaugh
16 Möglichkeiten der Bindung der 4 Konstanten an x,y
Keine positive Bindung !
),(),( zyFatheryxterGrandDaugh
43 Möglichkeiten der Bindung der 4 Konstanten an x,y,z
)(),( yFemaleyxterGrandDaugh
42 Möglichkeiten der Bindung der 4 Konstanten an x,y
Eine positive Bindung !
Eine positive Bindung !
© Prof. Dr. H. Gläser, Künstliche Intelligenz
),(),( zyFatheryxterGrandDaugh
Zwar gibt es 43 Möglichkeiten der Bindung der 4 Konstanten an x,y,zaber nach wie vor 1 positives Beispiel für das Zielprädikatund 15 negative Beispiele für das Zielprädikat.
Auswahl des Literals „Father(y,z)“
Durch Hinzunahme des Literals „Father(y,z)“ wird die Anzahlbedeckter negativer Beispiele des Zielprädikats geringer:Es gelten nur GrandDaughter Beispiele, die als zweiten Parameter dieselbe Person haben, wie ein Father Prädikat als erste Person !
(Es darf immer noch x==y und/oder x==z und/oder y==z sein)
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Es gibt zwei Father Beispiele: Father(Sharon,Bob), Father(Tom,Bob)positive Belegung:
),(),( BobSharonFatherSharonVictorterGrandDaugh
negative Belegungen
),(),( BobTomFatherTomBobterGrandDaugh
d.h. es existiere nur noch zwei negative Belegungen
),(),( VictorBobFatherBobVictorterGrandDaugh
GrandDaughter(Victor, Sharon) Father(Sharon, Bob) Father(Tom, Bob)Female(Sharon) Father(Bob, Victor)
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Beste Hypothese:
),(),( zyFatheryxterGrandDaugh
Kandidatenbildung für neues Literal:- Alle Literale aus dem vorherigen Schritt- zusätzlich:
Neue Variablenmenge (mit einer ergänzten Variable):
x, y, z, w
Father(z,w)Father(w,z)Father(y,w)Father(w,y)Father(x,w)Father(w,x)
Female(z) equal(z,x)equal(z,y)
Nächste Iteration:
© Prof. Dr. H. Gläser, Künstliche Intelligenz
),(),(),( wzFatherzyFatheryxterGrandDaugh
Neue Hypothesen:
u.s.w.mit „alten“ Literalen
),(),(),( yxFatherzyFatheryxterGrandDaugh
),(),(),( zxFatherzyFatheryxterGrandDaugh
),(),(),( xyFatherzyFatheryxterGrandDaugh
u.s.w.
),(),(),( xzFatherzyFatheryxterGrandDaugh
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Es gibt nur ein Femal Beispiele: Female(Sharon)
positive Bedeckung:)(),(),( SharonFemalBobSharonFatherSharonVictorterGrandDaugh
negative Bedeckung:
d.h. es existiert keine negative Belegung: Learn One Rule bricht ab, keine weitere Spezialisierung derVorbedingung
Beste Hypothese
Es werde „Female(y)“ gewählt
-
Für die echte Regel fehlt es an Beispielen
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Herausfinden der besten Kandidaten
00
02
11
12 loglog),(_
np
p
np
ptRLGainFoil
p = Zahl positiver bedeckter Beispiele, n= Zahl negativer bedeckter Beispiele0 = vor Erweitern der Regel um Literal L, 1= nach Erweitern der Regelt = Zahl der positiven Bindungen der Regel R die noch bedeckt werden, nachdem L hinzugefügt wurde
Foil_Gain = Verminderung notwendiger Bits um positive Bindungen von R zu kodieren.
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Bewertung der Kandidaten:
),( yxterGrandDaughR =
Kandidaten für L
),(),( yxFatheryxterGrandDaugh p0=1 n0=15
neues R z.B. (mit Father(x,y))
4 mögliche Konstanten: Victor, Sharon, Bob, Tom
p0 n01 15
p1 n1 t Gain(L,R)Father(x,y) 0 16 0 #ZAHL!Father(x,z) 0 64 0Father(y,x) 0 16 0Father(y,z) 1 63 1 -2Father(z,x) 0 64 0Father(z,y) 0 64 0Female(x) 0 16 0Female(y) 1 15 1 0equals(x,y) 0 16 0
Negationen binden nur negative Beispiele
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Übung zur induktiven logischen Programmierung-- zum Selberrechnen - versuchen Sie‘s selbst
)(),(),(),( xWeiblichzxKindyzSchwesteryxNichte
)();,(
);,();,(
SusanneWeiblichSusannePaulaKind
ElfriedeSusanneSchwesterElfriedPaulaNichte
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Eine Anwendung des maschinellen Lernens:Data Mining- Schürfen im Datenbergwerk
Data Mining
Entdeckung vonMustern
Vorhersage
Suche nach Besonderheiten
Wenn Dann Regeln
Zusammenhänge
Trends
Suche nach Informationsmustern in Daten
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Zwei unterschiedliche Strategien
logisch
Gleichungen
Daten werden„destilliert“
Data bleibenerhalten
Nächster Nachbar
Entscheidungsbaum
Induktion von Regeln
Statistik
Neuronale Netze
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Nächster Nachbar Methode
Vorhersage von Eigenschaften
Beispiel: Ist ein neuer Bankkunde eventuell an Aktienfonds interessiert ?
Attribute von vorhandenem Kunden werden mit Attributen von neuem Kunden verglichen
Hat „ähnlichster“ Alt-Kunde Aktienfonds ?
Werbematerial nicht zusenden.
Werbematerial zusenden.
Ja Nein
Speicheraufwand! -> Datensatz auf Typische einschränken
© Prof. Dr. H. Gläser, Künstliche Intelligenz
logisch
Gleichungen
Daten werden„destilliert“
Data bleibenerhalten
Nächster Nachbar
Entscheidungsbaum
Induktion von Regeln
Statistik
Neuronale Netze
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Entscheidungsbaum
Beispiel:Wann ist der Gewinn einer deutsche Firma im Ausland hoch ?
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Entscheidungsbaum
Land Hersteller Produkt Farbe Gewinn China Schmidt blau Hoch
Japan Schmidt grün Niedrig Niederlande Alberts blau Hoch Japan Alberts rot Niedrig Niederlande Jung grün Mittel China Jung rot Mittel
China
Japan
Start Niederlande
Mittel
Alberts
Jung Mittel
Niedrig
Hoch
Schmidt
Jung
blau
rot
blau
grün
Hoch
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Entscheidungsbaum
Land Hersteller Produkt Farbe Gewinn China Schmidt blau Hoch
Japan Schmidt grün Niedrig Niederlande Alberts blau Hoch Japan Alberts rot Niedrig Niederlande Jung grün Mittel China Jung rot Mittel
Problem:In welcher Reihenfolge werden die Attribute angewandt ?
© Prof. Dr. H. Gläser, Künstliche Intelligenz
blau
rot
Start grün Japan
Niederlande Mitt
el
Niedrig
Hoch
Land Hersteller Produkt Farbe Gewinn China Schmidt blau Hoch
Japan Schmidt grün Niedrig Niederlande Alberts blau Hoch Japan Alberts rot Niedrig Niederlande Jung grün Mittel China Jung rot Mittel
Japan
China Mitt
el
Niedrig
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Induktion als invertierte Deduktion
Nur Regeln erzeugen, die auf Beispiele passen
)()( ii xfhxB
CCC 21
B: Hintergrundwissenh: Hypothesexi: Beispiel
f: Zielprädikat
© Prof. Dr. H. Gläser, Künstliche Intelligenz
LPC 1
RLC 2
RPC
LLCCC ))(( 12
Konstruktion von C2
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Erklärungsbasiertes Lernen
Jedes Beispiel wird anhand von Hintergrundwissen mit Blickauf das Zielkonzept erklärt.
z.B. es ist sicher x auf y zu stapeln, da y nicht zerbrechlich ist Beispiel: Glas auf einen Holzklotz zu stapeln ist sicher. Holzklotz ist nicht zerbrechlich. Holzklotz ist braun.
Mit dieser Erklärung werden die relevanten von den nicht relevantenEigenschaften getrennt.
Mit Hintergrundwissen wird der Hypothesenraum deduktiv verringert
© Prof. Dr. H. Gläser, Künstliche Intelligenz
„Domänentheorie“: SafeToStack x y Fragile y( , ) ( )
SafeToStack x y Lighter x y( , ) ( , )
Lighter x y Weight x wx Weight y wy LessThan wx wy( , ) ( , ) ( , ) ( , )
Weight x w Volume x v Density x d Equal w times v d( , ) ( , ) ( , ) ( , ( , ))
Weight x Type x Endtable( , ) ( , )5
Fragile x Material x Glass( ) ( , )
On(Obj1,Obj2) Owner(Obj1,Fred)
Type(Obj1,Box) Owner(Obj2,Louise)
Type(Obj2,Endtable) Density(Obj1,0.3)
Color(Obj1,Red) Material(Obj1,Cardboard)
Color(Obj2,Blue) Material(Obj2,Wood)
Volume(Obj1,2)
positives Beispiel:
Zielkonzept: SafeToStack(x,y)
SafeToStack(Obj1, Obj2)
=Hintergrundwissen
Konstanten groß geschriebenVariablen klein geschrieben
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Anwendung von PROLOG
Das Beispiel wird aus dem Hintergrundwissen erklärt
Das Zielkonzept wird (irgenwie) aus den anderen Prädikaten des Beispiels deduktiv abgeleitet
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Erklärungsbaum
SafeToStack(Obj1,Obj2)
Lighter(Obj1,Obj2)
Weight(Obj1,0.6) Weight(Obj2,5)
Volume(Obj1,2) Density(Obj1,0.3) Equal(0.6,2*0.3) LessThan(0.6,5) Type(Obj2,Endtable)
Prolog
),()3.0,()2,(),( EndtableyTypexDensityxVolumeyxkSafeToStac
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Verallgemeinerung
•Durchgehen des Erklärungsbaums von der Wurzel aus Ebene um Ebene
•Geltungsbereich der Variablen der Literale ausdehnen,
soweit es die Regeln der Domänen Theorie zulassen
© Prof. Dr. H. Gläser, Künstliche Intelligenz
SafeToStack(Obj1,Obj2)
Lighter(Obj1,Obj2)
Weight(Obj1,0.6) Weight(Obj2,5)
Volume(Obj1,2) Density(Obj1,0.3) Equal(0.6,2*0.3) LessThan(0.6,5) Type(Obj2,Endtable)
SafeToStack x y Volume x vx Density x dx( , ) ( , ) ( , )
Equal wx times vx dx LessThan wx( , ( , )) ( , ) 5
Type y Endtable( , )
Verallgemeinerung
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Maschinelles Lernen
Lösung: Man fängt mit dem allgemeinsten Zielprädikat an,und spezialisiert pro „Regelkopf zu Regelkörper Schritt“ gerade nursoviel, wie irgend nötig.
Suchen nach dem Unifikator von zwei Prädikaten:
Term = Konstante; Variable; Funktion;
Wie kann man die Erklärungskette verallgemeinern ??
-> Unifikation von Regelkopf mit Regelkörper
Bsp.: abgeben(x,Geld) und abgeben(Otto,y) was ist das allgemeinste Prädikat „abgeben(v,w)“ das sich aus denobigen Prädikaten gerade noch ableiten läßt ??
Wenn man x durch Otto und y durch Geld ersetzt-> Unifikator = {Otto/x, Geld/y} -> abgeben(Otto, Geld)
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Maschinelles Lernen
Variable x: Werte können aus dem gesamten Wertebereich kommenFunktion f(x): Werte kommen aus einem Teil des WertebereichsKonstante a: Ein Wert des Wertebereichs
Mögliche Ersetzungen bei denen P wahr bleibt:
P(x) zu P(f(x))P(x) zu P(a)P(x) zu P(y) wenn x und y aus der gleichen Wertemenge kommen
Ersetzungen, bei denen man nicht garantieren kann, das P wahr bleibt:
P(f(x)) zu P(a) a ist möglicherweise nicht in der Menge ,die durch die f(x) gebildet wird
g(x) und f(x) beschreiben nicht die gleiche MengeP(f(x)) zu P(g(x))
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Maschinelles Lernen
C1 C2
_ _ _ _ _ _ ... _ _ _ _ _ _ ...
Position k = 1
Zeichen an Position k vergleichen - k weiterrücken bis Ende
Sobald verschiedene Zeichen:Wenn in C1 (bzw. C2) eine Variable an Position k beginnt, wirdsie durch den an k beginnende Term von C2 (bzw. C1) ersetzt
Position k = 1
Die Ersetzung wird in einer Liste vermerkt
Wenn verschiedene Zeichen, aber keine Variable => nicht unifizierbar
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Maschinelles Lernen
Beispiele:
{P(x,f(z)), P(h(a),y)}
Unifikator: {h(a)/x, f(z)/y}
y wird durch f(z) ersetzt
{P(h(g(u))), P(g(h(x)))}
nicht unifizierbar
{P(x, f(a,b), h(a)), P(f(z,v),x,h(z))}Unifikator {f(a,b)/x, a/z, b/v}
{P(x, f(z,x), h(a)), P(f(a,b),x, h(x))}nicht unifizierbar
z, x, y Variablena, b Konstanten
© Prof. Dr. H. Gläser, Künstliche Intelligenz
SafeToStack(Obj1,Obj2)SafeToStack(x,y)
Ligther(Obj1,Obj2)Ligther(x,y)
Weight(Obj1,0.6)Weight(x,wx)
LessThan(0.6,5)LessThan(wx,wy)
Weight(Obj2,5)Weight(y,wy)
Weight(y,wy)LessThan(wx,wy)Equal(0.6,2*0.3)Equal(wx,vx*dx)
Density(Obj1,0.3)Density(x,dx)
Volume(Obj1,2)Volume(x,vx)
LessThan(wx,5)Equal(wx,vx*dx)Density(x,dx)Volume(x,vx)
Type(Obj2,Endtable)
Type(y,Endtable)
zugehörige Regel=
),(),( yxLighteryxkSafeToStac
© Prof. Dr. H. Gläser, Künstliche Intelligenz
Literal aus der Regel
Literal aus der „Frontlinie“
z.B. weight(x,w) aus )),(,(),(),(),( dvtimeswEqualdxDensityvxVolumewxWeight
z.B. weight(y,wy)
© Prof. Dr. H. Gläser, Künstliche Intelligenz
1. Schritt
zugehörige Regel=
),(),( yxLighteryxkSafeToStac
)2,1()2,1( ObjObjLighterObjObjkSafeToStac
Unifikation von Literal der Frontlinie mit Kopf der Regel :{x/x, y/y}
Kopf wird durch Regelkörper ersetzt: „Frontlinie“ wird verändert
Frontlinie: ),( yxLighter
Literal der Frontlinie: SafeToStack(x,y)
Ersetzung wird in der ganzen Frontlinie durchgeführt: nichts zu tun
© Prof. Dr. H. Gläser, Künstliche Intelligenz
2. Schritt
zugehörige Regel=
„Frontlinie“ erweitert: Literal wird durch Regelkörper ersetzt:
Frontlinie:
),(),(),(),( wywxLessThanwyyWeightwxxWeightyxLighter
)5,6.0()5,2()6.0,1()2,1( LessThanObjWeightObjWeightObjObjLighter
Literal der Frontlinie: ),( yxLighter
Unifikation von Literal der Frontlinie mit Kopf der Regel :{x/x, y/y}
),(),(),( wywxLessThanwyyWeightwxxWeight
Ersetzung wird in der ganzen Frontlinie durchgeführt: nichts zu tun
© Prof. Dr. H. Gläser, Künstliche Intelligenz
4. Schritt
zugehörige Regel=
„Frontlinie“ erweitert: Literal wird durch Regelkörper ersetzt:
),2()5,2( EndtableObjTypeObjWeight
Literal der Frontlinie: ),( wyyWeight
Unifikation von Literal der Frontlinie mit Kopf der Regel :{y/y, wy/5}
)5,()5,()*,(),(),( yWeightwxLessThandxvxwxEqualdxxDensityvxxVolume
Ersetzung wird in der ganzen Frontlinie durchgeführt:
),()5,( EndtableyTypeyWeight
),()5,()*,(),(),( EndtableyTypewxLessThandxvxwxEqualdxxDensityvxxVolume
© Prof. Dr. H. Gläser, Künstliche Intelligenz
2. Beispiel
abgeben(Mary, Geld); zeigtMitGewehrAuf(John, Mary); verlangtGeldVon(John, Mary)
zugehörige Domänentheorie:
),,()],(),([,
)],(),,(),([,,
)],([
GeldLebenysenXOderabgebenMüsyxldverlangtGeyxwehrAufzeigtMitGeyx
yzabgebenyxzsenXOderabgebenMüsyxmehrWertzyx
yLebenmehrWertTRUEy
© Prof. Dr. H. Gläser, Künstliche Intelligenz
„Schliess-Baum“abgeben( Mary , Geld)
mehrWert (Leben,Geld) abgebenMüssenXOder (Mary ,Leben,Geld)
zeigtMitGewehrAuf (John,Mary) verlangtGeld (John,Mary )
© Prof. Dr. H. Gläser, Künstliche Intelligenz
verallgemeinerter Ausdruck passende Regel (laut „Schliess-Baum“)
abgeben(x,y) mehrWert(x‘,y‘)abgebenMüssenXOder(z‘,x‘,y‘) abgeben(z‘,y‘)
Unifikation des Regelkopfs mit dem verallgemeinerter Ausdruck :(das allgemeinere wird durch das speziellere ersetzt. x und x‘ sind gleich allgemein, y und y‘auch -> es ist egal wie ersetzt wird, nur es muss AUCH in der LiteralFront ersetzt werden !!) {neu / alt}
{x/z‘, y/y‘} unifizierte Regel: mehrWert(x‘,y)abgebenMüssenXOder(x,x‘,y) abgeben(x,y)
„Front der Literale“
mehrWert(x‘,y)abgebenMüssenXOder(x,x‘,y) abgeben(x,y)
ersetzen von Literalen mitHilfe von Regeln
verallgemeinerter Ausdruck
mehrWert(x‘,y)
passende Regel (laut „Schliess-Baum“)
TRUE mehrWert(Leben,x‘‘)
Unifikation des Regelkopfs mit dem verallgemeinerter Ausdruck :(Leben ist spezieller als x‘, y und x‘‘sind gleich allgemein)
{Leben/x‘, y/x‘‘} unifizierte Regel: TRUE mehrWert(Leben,y)
„Front der Literale“ (nach Unif. und ersetzen des Literals durchden Regelkörper)
ersetzen von Literalen mitHilfe von Regeln
TRUEabgebenMüssenXOder(x,Leben,y) abgeben(x,y)
© Prof. Dr. H. Gläser, Künstliche Intelligenz
verallgemeinerter Ausdruck passende Regel (laut „Schliess-Baum“)
abgebenMüssenXOder(x,Leben,y) zeigtMitGewehrAuf(x‘‘‘,y‘‘‘) verlangtGeld(x‘‘‘,y‘‘‘) abgebenMüssenXOder(y‘‘‘,Leben,Geld)
Unifikation des Regelkopfs mit dem verallgemeinerter Ausdruck :(das allgemeinere wird durch das speziellere ersetzt. y‘‘‘ und x sind gleich allgemein, Leben undLeben sind gleich (sonst wäre gar keine Unifikation möglich, denn beides sind Konstanten !), Geld istspezieller als y ) {neu / alt}
{x/y‘‘‘, Geld/y} unifizierte Regel: zeigtMitGewehrAuf(x‘‘‘,x) verlangtGeld(x‘‘‘,x) abgebenMüssenXOder(x,Leben,Geld)
„Front der Literale“ (nach Unif. und ersetzen des Literals durchden Regelkörper)
TRUE zeigtMitGewehrAuf(x‘‘‘,x) verlangtGeld(x‘‘‘,x) abgeben(x,Geld)
Keine weiteren Regeln mehr im „Schliess-Baum“
TRUE kann weggelassen werden, wegen UND Verknüpfung
zeigtMitGewehrAuf(x‘‘‘,x) verlangtGeld(x‘‘‘,x) abgeben(x,Geld)
Aus dem Beispiel gelernte Regel lautet: