Universität Dortmund
Lehrstuhl Informatik VIII
Stefan Haustein
Wintersemester 2000/2001 |
2001-01-12 |
Übungsblatt 10 zur Vorlesung Künstliche Intelligenz
Abgabe bis Do., 18.01.2001, Briefkasten LS VIII im Eingangsbereich GB IV,
oder per Email an haustein@ls8.cs.uni-dortmund.de,
bitte keine Attachments und max. 65 Zeichen pro Zeile.
Auf dem letzten Übungszettel war die Modellierung des
Lernproblems vorgegeben, und die Aufgabe war es, das Lernverfahren zu
implementieren. Bei diesem Übungszettel ist es genau anders
herum. Die Implementierung (einer Variante) des Lernverfahrens ID3 ist
gegeben (http://www-ai.cs.uni-dortmund.de/LEHRE/VORLESUNGEN/KI/UEBUNGEN/BLATT10/idt.pl), und die
Modellierung eines Problems soll erarbeitet werden.
Aufgabe 10.1: (2 Punkte)
Machen Sie sich mit der obigen Implementierung von ID3 vertraut.
Benutzen sie hierzu den Beispieldatensatz
http://www-ai.cs.uni-dortmund.de/LEHRE/VORLESUNGEN/KI/UEBUNGEN/BLATT10/lenses.pl.
Der Datensatz kann mit dem Prädikat load_examples(+Dateiname)
geladen werden.
- Erstellen Sie mit dem Prädikat
build_decision_tree(Examples)
einen Entscheidungsbaum. Examples ist eine Liste der
Beispielnummern, die zum Lernen verwendet werden sollen.
Verwenden Sie die ersten 23 Beispiele zum Lernen.
- Geben Sie den Entscheidungsbaum mit show_decision_tree/0 aus.
- Benutzen Sie classify_example(24,Class) um das letzte Beispiel
klassifizieren zu lassen. Ist die Klassifikation korrekt?
Aufgabe 10.2: (5 Punkte)
In der Datei http://www-ai.cs.uni-dortmund.de/LEHRE/VORLESUNGEN/KI/UEBUNGEN/BLATT10/word.txt
finden Sie 15 (fiktive) Protokolle von Anrufern bei der MSWord-Hotline.
Die Protokolle sind jeweils danach klassifiziert, ob ein Anwender MSWord
für seine Anwendung gut oder schlecht geeignet empfand. Das Ziel ist es
automatisch zu lernen, für welche Aufgaben MSWord geeignet ist und für
welche nicht.
- Denken Sie sich Attribute und deren Werte aus, um Protokolle für
ID3 geeignet zu repräsentieren (z. B. Attribut
dokumenttyp mit den Werten
skript, brief, handbuch, tabelle, faltblatt, formular).
- Erstellen Sie anhand dieser Attribute und Werte für jedes Protokoll
ein Lernbeispiel. Teilweise sind die Protokolle unterspezifiziert.
Benutzen Sie Ihr Allgemeinwissen, um die Lücken zu füllen.
- Lassen Sie den Entscheidungsbaum lernen und geben Sie ihn aus.
- Schätzen Sie die Vorhersagegenauigkeit von ID3 auf ihrem Datensatz
mit der leave-one-out Methode. Diese Methode funktioniert
folgendermaßen: Bei n Beispielen benutzt man n-1
Beispiele zum
Training und klassifiziert das verbliebene Beispiel anhand des
gelernten Baumes. Dies wiederholt man für alle n
möglichen
Kombinationen. Die Vorhersagegenauigkeit ergibt sich aus der Anzahl
der korrekten Klassifikationen geteilt durch n. Implementieren
Sie die Methode in Prolog und wenden Sie sie an.
Aufgabe 10.3: (3 Punkte)
Überdenken Sie Ihre obige Modellierung des Problems anhand der gemachten
Erfahrungen. Wie können die Attribute und deren Werte besser gewählt werden?
- Überarbeiten Sie Ihre Modellierung aus Aufgabe 10.2!
Benutzen Sie Hintergrundwissen um neue Attribute einzufügen,
so daß der Entscheidungsbaum kompakter wird.
- Wiederholen Sie die Schritte 2 bis 4 aus Aufgabe 10.2.
Ist das Lernergebnis jetzt besser?