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.

  1. 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.

  2. Geben Sie den Entscheidungsbaum mit show_decision_tree/0 aus.

  3. 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.

  1. 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).

  2. 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.

  3. Lassen Sie den Entscheidungsbaum lernen und geben Sie ihn aus.

  4. 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?

  1. Überarbeiten Sie Ihre Modellierung aus Aufgabe 10.2! Benutzen Sie Hintergrundwissen um neue Attribute einzufügen, so daß der Entscheidungsbaum kompakter wird.

  2. Wiederholen Sie die Schritte 2 bis 4 aus Aufgabe 10.2. Ist das Lernergebnis jetzt besser?