2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen • Gegeben sei eine Menge von Objekten, die durch Attribut/WertPaare beschrieben sind. • Jedes Objekt kann einer Klasse zugeordnet werden. • Ein Entscheidungsbaum liefert eine Entscheidung für die Frage, welcher Klasse ein betreffendes Objekt zuzuordnen ist. Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 71 2. Lernen von Entscheidungsbäumen Entscheidungsbäume Beispielanwendung Beispiel 2.1. • Gegeben seien die Beschreibungen von Bankkunden. • Die Bankkunden können in die beiden Klassen “kreditwürdig” und “nicht kreditwürdig” eingeteilt werden. • Ein Entscheidungsbaum soll eine Entscheidung liefern, ob ein Kunde kreditwürdig ist oder nicht. Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 72 2. Lernen von Entscheidungsbäumen Entscheidungsbäume Entscheidungsbaum Ein Entscheidungsbaum ist ein Baum mit den folgenden Eigenschaften: • Ein Blatt repräsentiert eine der Klassen. • Ein innerer Knoten repräsentiert ein Attribut. • Eine Kante repräsentiert einen Test auf dem Attribut des Vaterknotens, typischerweise den Vergleich mit einem Attributwert. ☞ Geht man von nur zwei Klassen aus, repräsentiert ein Entscheidungsbaum eine boolsche Funktion. Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 73 2. Lernen von Entscheidungsbäumen Entscheidungsbäume Klassifikation mit Entscheidungsbäumen Ein neues Objekt wird mit Hilfe eines Entscheidungsbaums klassifiziert, • indem man ausgehend von der Wurzel jeweils die den Knoten zugeordneten Attribute überprüft und • solange den Kanten folgt, die mit den Attributwerten des Objekts markiert sind, • bis man einen Blattknoten erreicht. ☞ Der dem Blattknoten zugeordnete Wert entspricht der Klasse, der das Objekt zugeordnet wird. Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 74 2. Lernen von Entscheidungsbäumen Entscheidungsbäume Beispiel 2.2. Ein Entscheidungsbaum zur Risikoabschätzung für eine KFZVersicherung: Autotyp = LKW <> LKW Risikoklasse = niedrig Alter > 60 Risikoklasse = niedrig Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 <= 60 Risikoklasse = hoch 75 2. Lernen von Entscheidungsbäumen Entscheidungsbäume Entscheidungsbäume und Regeln • Entscheidungsbäume repräsentieren Regeln in kompakter Form. • Jeder Pfad von der Wurzel zu einem Blattknoten entspricht einer logischen Formel in der Form einer if-then-Regel. Beispiel 2.3. Der Entscheidungsbaum aus Beispiel 2.2 entspricht den folgenden Regeln: if Autotyp = LKW then Risikoklasse = niedrig, if Autotyp 6= LKW and Alter > 60 then Risikoklasse = niedrig, if Autotyp 6= LKW and Alter ≤ 60 then Risikoklasse hoch. Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 76 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen Problem der Generierung von Entscheidungsbäumen • Ziel ist es, aus einer Trainingsmenge einen Entscheidungsbaum zu generieren. ☞ induktives Lernen • Trainingsbeispiele bestehen aus einer Menge von Attribut/WertPaaren zusammen mit der Klassifikation des Beispiels. • Erzeugter Entscheidungsbaum muss konsistent zur Trainingsmenge sein. Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 77 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen • Für einen so generierten Entscheidungsbaum hofft man, daß dieser auch Beispiele, die nicht aus der Trainingsmenge stammen, mit hoher Wahrscheinlichkeit richtig klassifiziert. ☞ Verallgemeinerung/Abstraktion Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 78 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen Beispiel 2.4. Potentielle Trainingsmenge für den Baum aus Beispiel 2.2: ID 1 2 3 4 5 Alter 23 18 43 68 32 Autotyp Familie Sport Sport Familie LKW Risikoklasse hoch hoch hoch niedrig niedrig Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 79 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen Naiver Ansatz der Generierung: • Man entscheidet streng sequentiell anhand der Attribute. • Jeder Baumebene ist ein Attribut zugeordnet. • Der Baum wird dann konstruiert, in dem für jedes Beispiel ein Pfad erzeugt wird. Tafel ✎. ☞ Keine sinnvolle Generalisierung auf andere Fälle ☞ Overfitting ☞ Entscheidungsbaum mit vielen Knoten Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 80 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen Beispiel 2.5. Zwei Entscheidungsbäume für die Trainingsmenge aus Beispiel 2.4: Alter Autotyp < 30 = LKW > 60 <> LKW >= 30 and <= 60 Risikoklasse = niedrig Risikoklasse = hoch Alter > 60 Risikoklasse = niedrig <= 60 <> LKW Autotyp Risikoklasse = niedrig = LKW Risikoklasse = hoch Risikoklasse = hoch Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 Risikoklasse = niedrig 81 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen Ziel der Generierung ist es, einen Baum aufzubauen, • der die Beispiele der gegebenen Trainingsmenge korrekt klassifiziert und • der möglichst kompakt ist. ☞ Bevorzuge die einfachste Hypothese, die konsistent mit allen Beobachtungen ist. Occam’s Razor (William of Occam, engl. Philosoph 1285–1349): One should not increase, beyond what is necessary, the number of entities required to explain anything. Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 82 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen Prinzip der Generierung • Man teste das “wichtigste” Attribut zuerst! • Die Wichtigkeit hängt von der Differenzierung der Beispielmenge ab. • Die Beispielmenge wird gemäß der Attributwerte des ausgewählten Attributs auf die Söhne verteilt. • Man setze dieses Prinzip in jedem Unterbaum für die diesem Unterbaum zugeordnete Beispielmenge fort. Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 83 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen Trainingsmenge zum Thema “Kinobesuch”: Nr. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Attr. + o o o + o o o + o + o o Preis $$ $ $ $ $ $$ $ $ $ $ $ $ $$ $ $ Loge ja ja nein ja ja ja ja nein ja ja ja nein ja ja ja Wetter o o o o + + + o o + - Warten ja nein ja ja nein nein nein ja nein nein ja ja ja ja nein Bes. + o o o o + o o o o + o o + o Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 Kat. AC KO DR SF DR SF KO AC KO KO DR AC SF DR AC Land int int int int int int nat int nat int int nat int int int Res. ja nein nein nein nein ja nein nein nein nein nein nein nein ja nein Gr. F P F a P F F F F P P a a F P 84 Kino? ja ja nein nein ja ja ja ja nein nein ja nein nein nein ja 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen Attributauswahl für das Kinoproblem: ja: 1, 2, 5, 6, 7, 8, 11, 15 nein: 3, 4, 9, 10, 12, 13, 14 Gruppe P F a ja: 1, 6, 7, 8 nein: 3, 9, 14 ja: − nein: 4, 12, 13 ja: 2, 5, 11, 15 nein: 10 ja: 1, 2, 5, 6, 7, 8, 11, 15 nein: 3, 4, 9, 10, 12, 13, 14 Kategorie DR ja: 5, 11 nein: 3, 14 AC ja: 1, 8, 15 nein: 12 SF KO ja: 2, 7 nein: 9, 10 Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 ja: 6 nein: 4, 13 85 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen Situationen bei der rekursiven Konstruktion 1. Alle Beispiele zu einem Knoten haben die gleiche Klassifikation. Dann wird der Knoten mit der entsprechenden Klasse markiert und die Rekursion beendet. 2. Die Menge der Beispiele zu einem Knoten ist leer. In diesem Fall kann man eine Default-Klassifikation angeben. Man wählt zum Beispiel die Klasse, die unter den Beispielen des Vaters am häufigsten vorkommt. Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 86 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen 3. Falls Beispiele mit unterschiedlicher Klassifikation existieren und es Attribute gibt, die noch nicht in den Vorgängerknoten verwendet wurden, dann wähle aus diesen Attributen ein Attribut a gemäß seiner Wichtigkeit aus. Generiere für jeden möglichen Attributwert einen Nachfolgerknoten und verteile die Beispiele auf die Nachfolger gemäß ihres Attributwerts. Setze das Verfahren für jeden Nachfolger fort. Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 87 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen 4. Falls Beispiele mit unterschiedlicher Klassifikation existieren, es aber kein noch nicht verwendetes Attribut gibt, dann ist die Trainingsmenge inkonsistent. Inkonsistent bedeutet hier, daß keine funktionale Abhängigkeit der Klassifikation von den Attributen existiert. Beispiel 2.6. Kinoproblem: Als Grad für die Wichtigkeit eines Attributs nehme man die Anzahl der Beispiele, die damit endgültig klassifiziert werden. Tafel ✎. Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 88 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen Algorithmus zur Konstruktion Algorithmus 2.1. [Entscheidungsbaum-Konstruktion] procedure Entscheidungsbaum( T, A, W ) if T = ∅ then markiere W mit einer Default-Klasse; return else if ∀t ∈ T : Klasse(t) = c then markiere W mit c; return else if A = ∅ then error else Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 89 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen for each a ∈ A do for each mögliche Partition P von a do if (a, P) besser als best then best := (a, P) end end end Sei best = (a, P); Seien P1, . . . , Pn die Teilmengen von P; for i := 1 to n do erzeuge Knoten Ki als Sohn von W; Ti := {t ∈ T |t fällt in Pi} Entscheidungsbaum( Ti, A \ {a}, Ki ) end end Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 90 2. Lernen von Entscheidungsbäumen Generierung von Entscheidungsbäumen Partitionen für Attribute Typen von Partitionen für nominale Attribute Attribut =a1 =a2 Attribut =a3 in A1 Attribut <a1 <=a2 in A2 Attribut <=a3 <a >= a Typen von Partitionen für numerische Attribute Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 91 2. Lernen von Entscheidungsbäumen Die Algorithmen ID3 und C4.5 Attributauswahl • Die auf Algorithmus 2.1 basierenden Verfahren heißen Top-Down Induction of Decision Trees (TDIDT). Durch den schrittweisen Aufbau des Entscheidungsbaums wird die dadurch repräsentierte Hypothese schrittweise spezialisiert. • Der Kern eines TDIDT-Verfahrens ist die Attributauswahl. • Das Ziel bei der Attributauswahl ist es, den Baum möglichst klein zu halten. Ein ideales Attribut würde die verbleibende Beispielmenge exakt auf verschiedene Klassen aufteilen. • Der ID3-Algorithmus formalisiert diese Idee durch die Berücksichtigung des Informationsgehaltes der Attribute. Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 92 2. Lernen von Entscheidungsbäumen Die Algorithmen ID3 und C4.5 Informationsgehalt und Informationsgewinn • Die mit einem Ereignis verbundene Information wird logarithmisch aus dessen Wahrscheinlichkeit berechnet. • Den mittleren Informationsgehalt H(P) einer Wahrscheinlichkeitsverteilung P über einer endlichen Menge Ω bezeichnet man als die Entropie von P: H(P) = − X P(ω) log2 P(ω) ω∈Ω • Wir stellen uns vor, daß in einer beliebigen Trainigsmenge jedes Beispiel die gleiche Wahrscheinlichkeit hat. Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 93 2. Lernen von Entscheidungsbäumen Die Algorithmen ID3 und C4.5 • Demnach ist der Informationsgehalt I(E) einer Beispielmenge E mit p positiven und n negativen Beispielen (genau zwei Klassen) I(E) := H p n ; p+n p+n =− p n n p log2 − log2 bit p+n p+n p+n p+n Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 94 2. Lernen von Entscheidungsbäumen Die Algorithmen ID3 und C4.5 Informationsgewinn für die Attributauswahl • Bei der Attributauswahl soll nun berücksichtigt werden, welchen Informationsgewinn man erhält, wenn man den Wert eines Attributs kennt. • Dazu stellen wir fest, wieviel Information wir nach dem Test eines Attributs a noch benötigen. • Jedes Attribut a teilt die Trainingsmenge E in k disjunkte Teilmenge E1, . . . , Ek auf, wobei k die Anzahl der verschiedenen Werte (w1, . . . , wk) ist, die a annehmen kann. • Teilmenge Ei habe pi positive und ni negative Beispiele. Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 95 2. Lernen von Entscheidungsbäumen Die Algorithmen ID3 und C4.5 • Der mittlere Informationsgehalt I(Ei) von Ei ist also I(Ei) = H( pi ni ; ) bit pi + ni pi + ni • Der mittlere Informationsgehalt I(E|a) der Antwort, nachdem wir Attribut a getestet haben ist: I(E|a bekannt) = k X i=1 P(a = wi)I(Ei) = k X pi + ni i=1 pi ni H( ; ) bit p+n pi + ni pi + ni • Um den Informationsgewinn gain(a) von Attribut a zu quantifizieren, bilden wir die Differenz der ursprünglichen Information (vor dem Test von a) und der Restinformation (nach dem Test von a): gain(a) := I(E) − I(E|a bekannt) Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09 96