Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Automatisierung des Lernens

Ähnliche Präsentationen


Präsentation zum Thema: "Automatisierung des Lernens"—  Präsentation transkript:

1 Automatisierung des Lernens

2 Inhalt: Problemstellung Prädikatenlogische Mittel Sequentielle Bedeckalgorithmen Induktive Logische Programmierung Induktion als invertierte Deduktion Erklärungsbasiertes Lernen

3 Problemstellung: Lernen = Induzieren von Regeln aus Beispielen !
Viele Patienten mit Röteln haben rote Punkte Alle Menschen mit roten Punkten haben Röteln

4 Attribute Eigenschaften, die einen Wert annehmen können Spaltenbezeichnungen in einer Tabelle Beispiel eine Zeile der Tabelle

5 Regel: IF <Vorbedingung> THEN <Nachbedingung> Vorbedingung bzw. Nachbedingung: Konjunktion (Verbindungen mit UND) von Attribut / Wert Kombinationen z.B. Wetter=sonnig UND Feuchtigkeit=hoch UND ...

6 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

7 Sequentieller Bedeckalgorithmus
while( noch nicht alle Beispiele abgedeckt ) ruft „Learn One Rule“ auf: Learn-One-Rule(ZielAttribut, Attribute, Beispiele) Learn-One_Rule liefert neue Regel „abgedeckte“ Beispiele werden beiseite gelegt Regeln = bisher gewonnene Regeln  neue Regel

8 Learn One Rule - Algorithmus
informierte „Tiefe zuerst Suche“ vom allgemeinen zum speziellen Hypothese Eine versuchsweise aufgestellte Regel Beste Hypothese Während der Suche diejenige Hypothese, mit der besten Performanz, d.h. diejenige, die die Beispiele am besten beschreibt Menge von Hypothese Kandidaten Stapel noch nicht expandierter Knoten, d.h. noch nicht ausgewerteter Kandidaten für Hypothesen

9 Neue Hypothese Kandidaten
Eine Menge von neuen Hypothese Kandidaten, die während der Suche gebildet werden Constraint Attribut / Wert Paar der Form Windstärke=stark Alle Constraints Menge aller Constraints, die in den Beispielen vorkommen

10 Problemzustand: = eine Regel-Hypothese mit dem Zielattribut Operator: jeder Constraint a=b aus „alle Constraints“ bildet einen Operator beim Expandieren eines Problemzustands wird der neue Constraint 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=hoch THEN TP = ja

11 Algorithmusidee: es werden vorhandenen Constraints systematisch mit UND zu Regel-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 zu spezielleren Hypothesen (mehr Constraints)

12 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 den Wert des Zielattributs der Regel annimmt

13 Performanzmaß Entropie:
(mißt die Gleichförmigkeit der Zielattribut Werte für den Satz S an Beispielen) S = Menge von Beispielen, die mit der Vorbedingung der Regel übereinstimmen c = Anzahl von verschiedenen Werten, die das Zielattribut annehmen kann pi= Anteil von Beispielen aus S, bei denen das Zielattribut den i-ten Wert annimmt (bessere Regeln haben höhere Werte) (Formel wie sie im beschriebenen Algorithmus verwendet wird)

14

15 (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 Kandidaten d.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 Entferne alle Hypothesen, die doppelt, inkosistent, nicht maximal spezifisch 2. for jede Hypothese h aus Neue Hypothese Kandidaten: if Performanz(h) > Performanz(Beste Hypothese) h wird Beste Hypothese

16 (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 Nachbedingung wobei Nachbedingung: Zielattribut=Wert wobei Wert der häufigste Wert vom Zielattribut unter den Beispielen, die Beste Hypothese beschreibt

17 Beispiel für „Sequentielle Bedeckung + Lerne_Eine_Regel“

18

19 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 = ?

20 Bewertung mit Entropie:
IF Wetter=sonnig THEN TennisWirdGespielt = ? Gesamtbsp.: 11; pja=6/11; pnein=5/11; Entropie=-0,99 IF Wetter=regnerisch THEN TennisWirdGespielt = ? Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92 IF Luftfeuchtigkeit=gering THEN TennisWirdGespielt = ? Gesamtbsp.:11; pja=6/11; pnein=5/11; Entropie=-0,99 IF Luftfeuchtigkeit=hoch THEN TennisWirdGespielt = ? IF Windstärke=gering THEN TennisWirdGespielt = ? IF Windstärke=hoch THEN TennisWirdGespielt = ?

21 Kandidaten Hypothesen (k = 1)
IF Wetter=regnerisch THEN TennisWirdGespielt = ? Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92 Neue Kandidaten Hypothesen 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

22 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,92 IF Wetter=regnerisch UND Windstärke=gering, IF Wetter=regnerisch UND Windstärke=hoch

23 Kandidaten Hypothesen (k = 1)
IF Wetter=regnerisch UND Luftfeuchtigkeit=hoch, Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92 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

24

25 Kandidaten Hypothesen (k = 1)
IF Wetter=regnerisch UND Luftfeuchtigkeit=hoch, Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92 Neue Kandidaten Hypothesen Wetter=regnerisch,Luftfeuchtigkeit=hoch, Wetter=sonnig, widersprüchlich ! Wetter=regnerisch,Luftfeuchtigkeit=hoch, Wetter=regnerisch, doppelt ! Wetter=regnerisch,Luftfeuchtigkeit=hoch, Luftfeuchtigkeit=gering, Wetter=regnerisch,Luftfeuchtigkeit=hoch, Luftfeuchtigkeit=hoch, doppelt Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=gering, Gesamtbsp.:6; pja=2/6; pnein=4/6; Entropie=-0,92 Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=hoch kein Bsp.

26 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 THEN TennisWirdGespielt = nein

27 Entfernen der beschriebenen Beispiele aus dem Beispielsatz:
Learn_One_Rule beginnt von vorne:

28 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

29 Entfernen der beschriebenen Beispiele aus dem Beispielsatz:

30 Bewertung mit Entropie:
Wetter=sonnig, Gesamtbsp.: 11; pja=6/11; pnein=5/11; Entropie=-0,99 Luftfeuchtigkeit=gering, Windstärke=gering, Gesamtbsp.: 5; pja=4/5; pnein=1/5; Entropie=-0,72 Windstärke=hoch Gesamtbsp.: 6; pja=2/6; pnein=4/6; Entropie=-0,92

31 Kandidaten Hypothesen (k = 1)
IF Windstärke=gering 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

32 Entfernen der beschriebenen Beispiele aus dem Beispielsatz:

33 Bewertung mit Entropie:
Windstärke=gering UND Wetter=sonnig, Gesamtbsp.: 5; pja=4/5; pnein=1/5; Entropie=-0,72 Windstärke=gering UND Luftfeuchtigkeit=gering, Windstärke=gering UNDWindstärke=gering, doppelt Windstärke=gering UND Windstärke=hoch widersprüchlich

34 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 THEN TennisWirdGespielt = ja

35 Entfernen der beschriebenen Beispiele aus dem Beispielsatz:
=> 3. Regel: IF Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=hoch THEN TennisWirdGespielt = nein

36 => 1. Regel: IF Wetter=regnerisch,Luftfeuchtigkeit=hoch, Windstärke=gering THEN TennisWirdGespielt = nein => 2. Regel: IF Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=gering THEN TennisWirdGespielt = ja => 3. Regel: IF Wetter=sonnig,Luftfeuchtigkeit=gering, Windstärke=hoch THEN TennisWirdGespielt = nein Regeln geben zwar Aussagen für alle Beispiele Sie treffen aber nicht unbedingt immer zu Performanzwert gibt Aussage über Wahrscheinlichkeit

37 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) Daughter1,2=True  (ohne Vorraussetzung) while (noch Attribute übrig) Daughter1,2=True  Voraussetzung  1 neues Attribut Attribut / Wert Kombinationen Wirksamkeit in Bedeckung der Beispiele Rangliste

38 Prädikatenlogische Mittel
prädikatenlogischer Ausdruck = Literalsymbol, Prädikatsymbol,Funktionsymbol, M = Greater_than( age( Mary ), x ) Konstantensymbol, Variablensymbol

39 Horn Clause Körper Kopf IF Parent(x,y) THEN Ancestor(x,y) Kopf Körper

40 1. Ordnungsregel Ergebnis Regel propositional:
Nachteil Propositionen: Keine Beziehung zwischen den Attributwerten Lösung: Horn clause:

41 Induktive Logische Programmierung
innere Schleife des sequentiellen Bedeckalgorithmus: (input: Prädikate, die auch in den Beispielen vorkommen, z.B Father, Female) Regel: GrandDaughter(x,y)  (ohne Vorraussetzung) Es wird nur nach Regeln für GrandDaughter(x,y)=True gesucht !

42 while (es werden noch negative Bindungen abgedeckt)
Kandidatenbildung: Bewertung anhand der Beispiele GrandDaughter(x,y)  bisherige Regel  bester Kandidat Ergebnis:

43 Algorithmus zur induktiven logischen Programmierung
Eingabe: (Ziel_Prädikat, Prädikate, Beispiele) Beispiele: Beispielprädikate mit Konstanten z.B. GrandDaughter(Victor, Sharon) Father(Sharon, Bob) Father(Tom, Bob) Female(Sharon) Father(Bob, Victor) Prädikate: Prädikatsnamen, wie sie auch in den Beispielen vorkommen, hier also Father, Female

44 StartRegel: die reine Nachbedingung (am allgemeinsten) Bilanz: Victor, Sharon, Bob, Tom 16 Kombinationen mit x,y 1 positive Bindung: 15 negative Bindungen Closed World Assumption: alles was nicht explizit wahr ist, ist falsch. Dies führt zu negative Bindungen von x, y

45 Implizite negative Beispiele:
Die Regel bedeckt auch diese negativen Beispiele ! (Denn sie besagt: „ Alle sind Enkelin von allen, auch von sich selbst“) d.h. die Regel sagt z.B. Victor ist Enkelin von Victor, dies ist aber wegen der Closed World Assumption nicht wahr. -> Spezialisierung muss weitergehen

46 nächster Schritt: Bisher vorkommende („alte“) Variablen: x, y
Neue Variablenmenge (mit einer ergänzten Variable): x, y, z Neue Regel = Alte Regel ^ neues Literal

47 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

48 Bewertung der Kandidaten:
16 Möglichkeiten der Bindung der 4 Konstanten an x,y Keine positive Bindung ! 43 Möglichkeiten der Bindung der 4 Konstanten an x,y,z Eine positive Bindung ! 42 Möglichkeiten der Bindung der 4 Konstanten an x,y Eine positive Bindung !

49 Auswahl des Literals „Father(y,z)“
Zwar gibt es 43 Möglichkeiten der Bindung der 4 Konstanten an x,y,z aber nach wie vor 1 positives Beispiel für das Zielprädikat und 15 negative Beispiele für das Zielprädikat. (Es darf immer noch x==y und/oder x==z und/oder y==z sein) Durch Hinzunahme des Literals „Father(y,z)“ wird die Anzahl bedeckter 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 !

50 GrandDaughter(Victor, Sharon) Father(Sharon, Bob) Father(Tom, Bob) Female(Sharon) Father(Bob, Victor) Es gibt zwei Father Beispiele: Father(Sharon,Bob), Father(Tom,Bob) positive Belegung: negative Belegungen d.h. es existiere nur noch zwei negative Belegungen

51 Nächste Iteration: Beste Hypothese: Neue Variablenmenge (mit einer ergänzten Variable): x, y, z, w Kandidatenbildung für neues Literal: - Alle Literale aus dem vorherigen Schritt - zusätzlich: 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)

52 Neue Hypothesen: u.s.w. mit „alten“ Literalen u.s.w.

53 Beste Hypothese Es werde „Female(y)“ gewählt Es gibt nur ein Femal Beispiele: Female(Sharon) positive Bedeckung: negative Bedeckung: - d.h. es existiert keine negative Belegung: Learn One Rule bricht ab, keine weitere Spezialisierung der Vorbedingung Für die echte Regel fehlt es an Beispielen

54 Herausfinden der besten Kandidaten
p = Zahl positiver bedeckter Beispiele, n= Zahl negativer bedeckter Beispiele 0 = vor Erweitern der Regel um Literal L, 1= nach Erweitern der Regel t = 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.

55 Bewertung der Kandidaten:
neues R z.B. (mit Father(x,y)) p0=1 n0=15 4 mögliche Konstanten: Victor, Sharon, Bob, Tom Kandidaten für L Negationen binden nur negative Beispiele

56 Übung zur induktiven logischen Programmierung
-- zum Selberrechnen - versuchen Sie‘s selbst

57 Eine Anwendung des maschinellen Lernens:
Data Mining- Schürfen im Datenbergwerk Suche nach Informationsmustern in Daten Wenn Dann Regeln Entdeckung von Mustern Zusammenhänge Trends Data Mining Vorhersage Suche nach Besonderheiten

58 Zwei unterschiedliche Strategien
Data bleiben erhalten Nächster Nachbar Entscheidungsbaum logisch Induktion von Regeln Daten werden „destilliert“ Statistik Gleichungen Neuronale Netze

59 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 Ja Nein Werbematerial zusenden. Werbematerial nicht zusenden. Hat „ähnlichster“ Alt- Kunde Aktienfonds ? Speicheraufwand! -> Datensatz auf Typische einschränken

60 Data bleiben erhalten Nächster Nachbar Entscheidungsbaum logisch Induktion von Regeln Daten werden „destilliert“ Statistik Gleichungen Neuronale Netze

61 Entscheidungsbaum Beispiel: Wann ist der Gewinn einer deutsche Firma im Ausland hoch ?

62 Entscheidungsbaum Schmidt blau Hoch China Jung rot Mittel Start Niederlande Alberts blau Hoch Jung grün Mittel Japan Niedrig

63 Entscheidungsbaum Problem: In welcher Reihenfolge werden die Attribute angewandt ?

64 blau Hoch Japan Niedrig Start grün Niederlande Mittel Japan Niedrig rot China Mittel

65 Induktion als invertierte Deduktion
Nur Regeln erzeugen, die auf Beispiele passen B: Hintergrundwissen h: Hypothese xi: Beispiel f: Zielprädikat

66 Konstruktion von C2

67 Erklärungsbasiertes Lernen
Jedes Beispiel wird anhand von Hintergrundwissen mit Blick auf 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 relevanten Eigenschaften getrennt. Mit Hintergrundwissen wird der Hypothesenraum deduktiv verringert

68 Zielkonzept: positives Beispiel: „Domänentheorie“: = Hintergrundwissen
SafeToStack(Obj1, Obj2) Konstanten groß geschrieben Variablen klein geschrieben „Domänentheorie“: = Hintergrundwissen

69 Das Beispiel wird aus dem Hintergrundwissen erklärt
Das Zielkonzept wird (irgenwie) aus den anderen Prädikaten des Beispiels deduktiv abgeleitet Anwendung von PROLOG

70 Erklärungsbaum Prolog 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)

71 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

72 Verallgemeinerung 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) Verallgemeinerung

73 Maschinelles Lernen Wie kann man die Erklärungskette verallgemeinern ?? Lösung: Man fängt mit dem allgemeinsten Zielprädikat an, und spezialisiert pro „Regelkopf zu Regelkörper Schritt“ gerade nur soviel, wie irgend nötig. -> Unifikation von Regelkopf mit Regelkörper Term = Konstante; Variable; Funktion; Suchen nach dem Unifikator von zwei Prädikaten: Bsp.: abgeben(x,Geld) und abgeben(Otto,y) was ist das allgemeinste Prädikat „abgeben(v,w)“ das sich aus den obigen 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)

74 Maschinelles Lernen Variable x: Werte können aus dem gesamten Wertebereich kommen Funktion f(x): Werte kommen aus einem Teil des Wertebereichs Konstante 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 P(f(x)) zu P(g(x)) g(x) und f(x) beschreiben nicht die gleiche Menge

75 Maschinelles Lernen C1 C2 _ _ _ _ _ _ ... _ _ _ _ _ _ ... Position k = 1 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, wird sie durch den an k beginnende Term von C2 (bzw. C1) ersetzt Die Ersetzung wird in einer Liste vermerkt Wenn verschiedene Zeichen, aber keine Variable => nicht unifizierbar

76 Maschinelles Lernen Beispiele: y wird durch f(z) ersetzt {P(x,f(z)), P(h(a),y)} Unifikator: {h(a)/x, f(z)/y} {P(h(g(u))), P(g(h(x)))} nicht unifizierbar {P(x, f(a,b), h(a)), P(f(z,v),x,h(z))} z, x, y Variablen a, b Konstanten 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

77 zugehörige Regel= 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) 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) Type(Obj2,Endtable) Type(y,Endtable) zugehörige Regel=

78 Literal aus der Regel z.B. weight(x,w) aus Literal aus der „Frontlinie“ z.B. weight(y,wy)

79 zugehörige Regel= 1. Schritt Literal der Frontlinie: SafeToStack(x,y)
Unifikation von Literal der Frontlinie mit Kopf der Regel : {x/x, y/y} Ersetzung wird in der ganzen Frontlinie durchgeführt: nichts zu tun Kopf wird durch Regelkörper ersetzt: „Frontlinie“ wird verändert Frontlinie:

80 zugehörige Regel= 2. Schritt Literal der Frontlinie:
Unifikation von Literal der Frontlinie mit Kopf der Regel : {x/x, y/y} Ersetzung wird in der ganzen Frontlinie durchgeführt: nichts zu tun „Frontlinie“ erweitert: Literal wird durch Regelkörper ersetzt: Frontlinie:

81 zugehörige Regel= 4. Schritt Literal der Frontlinie:
Unifikation von Literal der Frontlinie mit Kopf der Regel : {y/y, wy/5} Ersetzung wird in der ganzen Frontlinie durchgeführt: „Frontlinie“ erweitert: Literal wird durch Regelkörper ersetzt:

82 zugehörige Domänentheorie:
2. Beispiel abgeben(Mary, Geld); zeigtMitGewehrAuf(John, Mary); verlangtGeldVon(John, Mary) zugehörige Domänentheorie:

83 „Schliess-Baum“ abgeben( Mary , Geld) mehrWert (Leben,Geld)
abgebenMüssenXOder ( ,Leben,Geld) zeigtMitGewehrAuf John , ) verlangtGeld

84 passende Regel (laut „Schliess-Baum“)
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) ersetzen von Literalen mit Hilfe von Regeln „Front der Literale“ mehrWert(x‘,y)abgebenMüssenXOder(x,x‘,y) abgeben(x,y) verallgemeinerter Ausdruck passende Regel (laut „Schliess-Baum“) mehrWert(x‘,y) 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 durch den Regelkörper) ersetzen von Literalen mit Hilfe von Regeln TRUEabgebenMüssenXOder(x,Leben,y) abgeben(x,y)

85 Keine weiteren Regeln mehr im „Schliess-Baum“
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 und Leben sind gleich (sonst wäre gar keine Unifikation möglich, denn beides sind Konstanten !), Geld ist spezieller 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 durch den 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 Aus dem Beispiel gelernte Regel lautet: zeigtMitGewehrAuf(x‘‘‘,x) verlangtGeld(x‘‘‘,x) abgeben(x,Geld)


Herunterladen ppt "Automatisierung des Lernens"

Ähnliche Präsentationen


Google-Anzeigen