Maschinelles Lernen
Entscheidungsbäume Teil 1
(Mitchell Kap. 3)
Beispiel
Nationalitäten:
BeispielBehandlung bei Artikulationsstörungen
BeispielTage, um Sport zu treiben
Motivation
• Versuche Abfolge von Tests oder Bedingungen zu automatisieren
• Für Aufgaben, denen irgendwie abstrahierbare Regeln zugrunde liegen
• Zur Repräsentation komplexer Abhängigkeiten
• Disjunktion von Konjunktionen
Eigenschaften
• Probleme erlauben Attribut-Wert-Darstellung
• Zielfunktion muß diskret sein
• Disjunktive Beschreibung
• Fehlerhafte Trainingsdaten möglich
• Unvollständige Trainingsdaten möglich
• Typischerweise Klassifikationsprobleme
Typische Anwendungen
• Medizinische Diagnosen
• Analyse des Kreditrisikos
• Raumbelegungspläne etc.
Naive Beschreibung
• Interne Knoten = Überprüfen eines Attributs
• Verzweigung nach Anzahl der möglichen Werte
• Blätter: Ergebnis = Klassifikation• Pfad durch den Baum =
Entscheidungsprozess, für jedes Objekt gibt es genau einen Pfad von der Wurzel zu einem Blatt
Baum
• Definition: <K,bK X K> ist ein Baum mit Knoten K und Kanten b gdw.– Es gibt genau ein w K, so dass kK: <k,w> b (w
heißt Wurzel)
– Es gibt B K mit : bB(kK: <b,k>b) (B sind die Blätter)
– Für kK mit k ≠ w und k B: ki,kl K: <ki,k> b und <k,kl> b (das sind zusammen mit w die internen Knoten)
– Für jeden Pfad <w= ki0,ki1, ki2, ki3,..., kin> (0≤r<n: <kir,kir+1> b) gilt: kir, kis: kir ≠ kis (keine Zyklen!)
Entscheidungsbaum
• Sei zusätzlich– A = {a1, a2, a3,..., aj} Menge von Attributen mit
möglichen Attributwerten V = {va11, va12, ...,vaj1, ..., vajn}– C = {c1, c2, c3,..., cm} Menge von Zielkonzepten
• Ein Entscheidungsbaum ist ein Baum, bei dem – jeder interne Knoten mit einem Attribut gelabelt ist (k
= <k,ai>) und – jede Kante mit einem entsprechenden Attributwert (b
= < <km,ai>,vair,<kn,al>> und vair ist möglicher Wert von ai) ,
– jedes Blatt ist mit einer Klasse c gelabelt (k = <k,ci>)
Zwischenfragen
• Welche Tiefe hat ein Entscheidungsbaum?– Minimal? Maximal?
• Wieviele Knoten hat ein Entscheidungsbaum maximal?
• Gibt es Zielfunktionen, die nicht als Entscheidungsbaum dargestellt werden können?
Grundidee zur Konstruktion
• Prinzip von ID3 (Quinlan 1986)
• Top-down Suche (greedy) durch die Menge aller möglichen Entscheidungsbäume
• Problem: welches Attribut soll als erstes/nächstes überprüft werden?– Dasjenige, das die beste Einschränkung
bringt!
Top-down Induktion von Entscheidungsbäumen (ID3)
• Hauptschleife:– Wähle bestes Entscheidungsattribut ai als Label für
nächsten Knoten k
– Generiere für jeden möglichen Wert vl von ai Tochterknoten kn von k und Kanten, die mit vl gelabelt sind
– Verteile alle Trainingsbeispiele auf die Blätter– Wenn sich eine korrekte Aufteilung aller
Trainingsbeispiele ergibt, labele die Blätter mit C, andernfalls führe Schleife für jeden neuen Knoten aus
Auswahl der Attribute
• Wann ist ein Attribut nützlich?– Wenn es wenige Objekte, aber die eindeutig
klassifiziert?– Wenn es die Inputmenge möglichst
gleichmäßig splittet?
• Betrachte Maße aus der Informations-Theorie: „Information Gain“
Entropie
• Entropie ≈ Maß für die Homogenität oder Reinheit einer Menge
• Entropie = Anzahl der Bits, die für die Kodierung bestimmter Information minimal benötigt wird
Entropie
• Sei:– T Menge von Trainingsdaten
– p+ sei der Anteil der positiven Beispiele in T
– p- sei der Anteil der negativen Beispiele in T
– Entropie(T) = -p+ log2(p+) – p-log2p-
– im allgemeinen Fall:• Entropie(T) = ∑cC –pclog2(pc)
– Annahme: 0*log2(0) = 0
Entropie: Beispiele
• Angenommen alle Beispiele sind positiv:
Entropie: Beispiele
• T1: alle Beispiele sind positiv:
– p+ = 1 und p- = 0
– Entropie(T1) = -1(log21) – 0(log20) = 0
• T1: alle Beispiele sind negativ:
Entropie: Beispiele
• T1: alle Beispiele sind positiv:– p+ = 1 und p- = 0– Entropie(T1) = -1(log21) – 0(log20) = 0
• T2: alle Beispiele sind negativ:– p+ = 0 und p- = 1– Entropie(T2) = -0(log20) – 1(log21) = 0
• T3: die Hälfte ist positiv und die Hälfte ist negativ:– p+ = 0.5 und p- = 0.5
Entropie: Beispiele
• T1: alle Beispiele sind positiv:– p+ = 1 und p- = 0– Entropie(T1) = -1(log21) – 0(log20) = 0
• T2: alle Beispiele sind negativ:– p+ = 0 und p- = 1– Entropie(T2) = -0(log20) – 1(log21) = 0
• T3: die Hälfte ist positiv und die Hälfte ist negativ:– p+ = 0.5 und p- = 0.5– Entropie(T3) = -0.5(log20.5) – 0.5(log20.5) = -log2(0.5) = 1
• T4: ¼ ist positiv, der Rest ist negativ– p+ = 0.25 und p- = 0.75
Entropie: Beispiele
• T1: alle Beispiele sind positiv:– p+ = 1 und p- = 0– Entropie(T1) = -1(log21) – 0(log20) = 0
• T2: alle Beispiele sind negativ:– p+ = 0 und p- = 1– Entropie(T2) = -0(log20) – 1(log21) = 0
• T3: die Hälfte ist positiv und die Hälfte ist negativ:– p+ = 0.5 und p- = 0.5– Entropie(T3) = -0.5(log20.5) – 0.5(log20.5) = -log2(0.5) = 1
• T4: ¼ ist positiv, der Rest ist negativ– p+ = 0.25 und p- = 0.75– Entropie(T4) = -0.25(log20.25) – 0.75(log20.75) = 0.811...
Entropie
• Werteverteilung
Information Gain
• Idee: betrachte den Unterschied in der Entropie von T, wenn nach einem Attribut ai sortiert wird:
• GAIN(T,ai):
– Entropie(T) - ∑v von ai(|Tv|/|T| * Entropie(Tv))
• Das beste Attribut für einen Knoten ist dasjenige, das den höchsten Information Gain erzielt!
Konstruktion
Beispiel
Beispiel
Beispiel
Grundannahmen
• Welche Grundannahmen wurden gemacht?
Grundannahmen
• Welche Grundannahmen wurden gemacht?– Bzgl. Hypothesenraum: keine!
Grundannahmen
• Welche Grundannahmen wurden gemacht?– Bzgl. Hypothesenraum: keine!– Bzgl. Struktur des entstehenden Baums?
Grundannahmen
• Welche Grundannahmen wurden gemacht?– Bzgl. Hypothesenraum: keine!– Bzgl. Struktur des entstehenden Baums?
• Präferenz für möglichst flache Bäume• Präferenz für Bäume, bei denen die spezifischsten
Attribute möglichst nahe bei der Wurzel angesiedelt sind
• Warum möglichst flache Bäume?
Zusammenfassung
• Hypothesenraum unbeschränkt, d.h. Zielfunktion ist mit Sicherheit im Hypothesenraum enthalten
• Lediglich Präferenz bei der Konstruktion des Baumes
• Betrachtet immer gesamte Trainingsmenge– Toleranz gegenüber fehlerhaften Beispielen möglich
(akzeptiere auch Knoten als Blätter, die nicht ausschließlich die Zielmenge enthalten)
• Keine Beschreibung der gesamten Lösungsmenge
• Keine Gewähr, dass der minimale Baum gefunden wird, nur lokal minimal!
Aufgaben• Berechnen Sie bitte Entropie und
Information Gain für folgendes Beispiel. Was sollte also sinnvoller Weise als Top-Knoten gewählt werden?
Aufgaben
• Lösen Sie bitte Aufgabe 3.1 und 3.2 aus dem Buch von Mitchell (S. 77/78)
• Erstellen Sie bitte für das Beispiel von letzter Woche einen Entscheidungsbaum nach dem vorgestellten Basis-Algorithmus
Aufgaben (Mitchell)
• (3.1.) Geben Sie Entscheidungsbäume an, die die folgenden booleschen Funktionen repräsentieren:
1. A and non B2. A or (B and C)3. A xor B4. (A and B) or (C and D)
• (3.2) Trainingsbeispiel: nächste Seite1. Was ist die Entropie des Trainingsbeispiels im Hinblick auf
die Zielfunktion?
2. Was ist der Information Gain von a2 für diese Trainingsbeispiele?
Trainingsbeispiel 3.2
Instanz Klassifikation a1 a2
1 + T T
2 + T T
3 - T F
4 + F F
5 - F T
6 - F T