Maschinelles Lernen Entscheidungsbäume Teil 1 (Mitchell Kap. 3) Beispiel Nationalitäten: Beispiel Behandlung bei Artikulationsstörungen Beispiel Tage, 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-WertDarstellung • 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 InformationsTheorie: „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 TopKnoten 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. 2. 3. 4. • A and non B A or (B and C) A xor B (A and B) or (C and D) (3.2) Trainingsbeispiel: nächste Seite 1. 2. Was ist die Entropie des Trainingsbeispiels im Hinblick auf die Zielfunktion? 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