Proseminar Maschinelles Lernen
Transcription
Proseminar Maschinelles Lernen
Entscheidungsbaum-Lernen im Proseminar Maschinelles Lernen Wintersemester 2003/2004 2. Dezember 2003 Gliederung: 1 Einleitung 1.1 Was sind Entscheidungsbäume? 1.2 Was ist „Entscheidungsbaumlernen“ („Decision Tree Learning“)? 2 Der ID3-Algorithmus 2.1 Entropie 2.2 Information Gain 2.3 Hypothesenraum 2.4 Inductive Bias 2.4.1 Restriction und Preference Bias 2.4.2 Ockhams Razor 3 Probleme bei ID3 und Lösungsansätze 3.1 Überanpassung (Overfitting) 3.1.1 Reduced Error Pruning 3.1.2 Rule Post-Pruning 3.2 Umgang mit kontinuierlich-wertigen Attributen 3.3 Gain Ratio – Alternative zur Auswahl von Eigenschaften 3.4 Verarbeitung von lückenhaften Daten 3.5 Verarbeitung von Attributen mit verschiedenen Kosten 4 Zusammenfassung 2 1.Einleitung 1.1Was sind Entscheidungsbäume? Bäume in der Informatik sind Abbildungen von Zuständen oder Eigenschaften, dargestellt in Form einer Wurzel, meist mit der Kernaussage, und deren Äste. Jeder Ast besitzt Abzweigungen, die dann zu Knoten und letztendlich zu Blättern, dem Ende eines Baumes, führen. Mit Hilfe von Bäumen können Computer Entscheidungen treffen und eine Lösung erreichen. Die Wurzel eines Entscheidungsbaums teilt den Baum in mehrere Unterbäume, deren Knoten die Wurzel der jeweiligen Unterbäume darstellt. In dem Beispiel in Abbildung 1.1 ist die Wurzel der Knoten mit der Frage nach der Feuchtigkeit. Um eine mehrfache Abfrage einer wichtigen Eigenschaft zu vermeiden, ist es sinnvoll, diese relativ nahe der Wurzel zu überprüfen. Die Knoten können zu weiteren Knoten führen oder in Blättern enden. Blätter repräsentieren dabei eine bestimmte Entscheidung, die mit Hilfe dieses Baumes gefällt wurden. Dabei kann als Entscheidung zum Beispiel ein Wahrheitswert herauskommen. Der Entscheidungsbaum im Beispiel besitzt nur einen Subknoten – Temperatur. Die Blätter „Fenster öffnen“ und „Fenster zu lassen“ sind die Blätter. Man kann diese Baumstruktur zur besseren Darstellung für den Menschen als eine Menge von Implikationen (wenn/dann-Regeln) beschreiben. Dabei sind unterschiedliche Äste von einem Knoten als ODER, und die Verbindung mehrerer Knoten, d.h. einen Pfad, als UND-Verknüpfung zu interpretieren. Also kann man einen Entscheidungsbaum als Konjunktion von Disjunktionen interpretieren. Deswegen ist es auch möglich, mit Hilfe eines Entscheidungsbaumes aussagenlogische Fakten darzustellen. Feuchtigkeit Hoch Niedrig Fenster öffnen Temperatur Warm Fenster öffnen Kalt Fenster zu lassen Abbildung 1.1 Ein Entscheidungsbaum, der feststellt ob ein Fenster geöffnet werden soll oder nicht. Es werden also bestimmte Eigenschaften, im Folgenden auch Attribute genannt, einer 3 Situation in den Computer eingegeben und dieser gibt mit Hilfe des Entscheidungsbaumes den Wert des zu findenden Zielattributs aus. Damit können wir festhalten, dass Entscheidungsbäume als Menge von Regeln interpretiert und mit Hilfe des Entscheidungsbaums Klassifizierungsprobleme gelöst werden können. 1.2 Was ist Entscheidungsbaumlernen („Decision Tree Learning“)? Entscheidungsbaumlernen ist die Fähigkeit, einen sinnvollen Entscheidungsbaum aus einer Menge Daten aufzustellen, der dann mit möglichst hoher Wahrscheinlichkeit ein korrektes Ergebnis bei neuen, noch unbekannten Daten liefern soll. Es umfasst die populärsten induktiven Folgerungsalgorithmen und kann mit einer breiten Anzahl von praktischen Aufgaben umgehen, wie zum Beispiel in der Medizin und beim Berechnen von Kreditrisiken. Entscheidungsbaumlernen empfiehlt sich besonders bei Problemen mit folgendem Charakter: •Instanzen •Die werden durch eine feste Anzahl von Eigenschaften und ihren Werten beschrieben. Zielfunktion hat diskrete Ausgabewerte. •Disjunkte Beschreibungen sind sinnvoller, da ein Entscheidungsbaum von Natur aus disjunkte Ausdrücke beschreibt. •Die Informationen, die die Grundlage beim Lernen bilden, können Fehler enthalten. •Die Informationen zum Lernen können auch fehlende Eigenschaftswerte haben. 4 2.Der ID3-Algorithmus Einer der grundlegenden Algorithmen beim Entscheidungsbaumlernen ist ID3. Er sucht zuerst für die Wurzel die wichtigste Eigenschaft; also die Eigenschaft, die das höchste Information Gain, welches den Zuwachs des Informationsgehaltes darstellt, für das jeweilige Entscheidungsproblem beinhaltet. Auf diese Art und Weise erstellt ID3 weitere Knoten des Baumes. Dieses Vorgehen ist bekannt unter dem Namen Greedy Search, übersetzt in etwa: gierige Suche. So wird von ID3 von der Wurzel bis zu den Blättern ein Entscheidungsbaum konstruiert. Dieses Verfahren nennt man topdown. Würde man von den Blättern zur Wurzel wandern, hätte man das gegenteilige bottom-upVerfahren. Backtracking ist in diesem Algorithmus nicht vorgesehen. Wenn ID3 also einen neuen Knoten im Baum bestimmt, ist diese Entscheidung unumkehrbar. 2.1Entropie Beim Entscheidungsbaumlernen werden verschiedene Algorithmen verwendet, um festzustellen, welche Eigenschaft die beste für einen bestimmten Knoten ist. ID3 berechnet dann das Information Gain. So werden grundlegende Eigenschaften in Knoten abgefragt, die näher an der Wurzel liegen. Je unwichtiger eine Eigenschaft, desto weiter unten wird ihre Abfrage im Entscheidungsbaum erstellt. Dadurch soll ein möglichst balancierter Entscheidungsbaum entstehen, also ein Baum, der in allen Abzweigungen eine ähnliche, am besten gleiche, Tiefe besitzt. Um Information Gain zu bestimmen, definieren wir erst einmal die Entropie. Mit ihr wird die Reinheit bzw. Unreinheit einer beliebigen Menge von Beispielen berechnet. Die Entropie bestimmt also den mittleren Informationsgehalt eines Attributs. Zur Berechnung der Entropie aus einer Menge S, die nur positive und negative Werte enthält, also Werte vom Typ Boolean. Entropie( S ) ≡ − p⊕ log 2 p⊕ − pÖ log 2 pÖ Gleichung 2.1 p⊕ - Anzahl der positiven Beispiele pÖ - Anzahl der negativen Beispiele und es wird definiert, dass 0 log 2 0 = 0 . Wenn also p⊕ = 0 oder pÖ = 0, dann ist die Entropie(S) = 0, und bei p⊕ = pÖ ist die Entropie(S) = 1. Alle anderen möglichen Werte liegen zwischen 0 und 1. 5 Eine allgemeine Gleichung, um auch die Entropie(S) aus nicht-boolean Werte berechnen zu können, lautet wie folgt: c Entropie( S ) ≡ − pi log 2 pi Gleichung 2.2 i =1 pi ist dabei der Anteil von S, der zur Klasse i gehört. Wir haben uns ein Beispiel ausgedacht, in dem die Frage geklärt werden soll, ob eine bestimmte Person ein Informatiker sein könnte oder eher nicht. Dazu haben wir uns fiktiv zehn positive Beispiele und zehn negative Beispiele gesucht. Wir haben es hier also mit einer Entropie zu tun, die nur boolsche Werte annimmt. Die Entopie(S) rechnen wir nun wie folgt aus: Entropie(10⊕ ,10Ö ) = − p⊕ log 2 p⊕ − pÖ log 2 pÖ 10 10 10 10 log 2 − log 2 20 20 20 20 = −0,5 ⋅ (−1) − 0,5 ⋅ (−1) = 0,5 + 0,5 =1 =− Im nächsten Kapitel besprechen wir das Beispiel genauer. Die allgemeine Formel der Entropie braucht man zum Beispiel dann, wenn man statt der Frage „Sind Sie Informatiker?“, den Beruf ermitteln möchte. 2.2 Information Gain Jetzt können wir also die Entropie bestimmen. Doch welche Funktion erfüllt diese jetzt beim Entscheidungsbaumlernen? Wir können mit ihr Information Gain berechnen. Dies ist die erwartete Verringerung der Entropie, wenn man an einen Knoten eine bestimmte Eigenschaft abfragt. Auch hier existiert wieder eine Formel, die den Informationszuwachs Gain(S,A) der Eigenschaft A in Relation zur Beispielsammlung S definiert: Gain( S , A) Entropie( S ) vWerte ( A ) Sv S Entropie( Sv ) Gleichtung 2.3 Werte( A) – alle möglichen Werte der Eigenschaft A Sv – Teilmenge von S, wobei A den Wert v hat 6 Der erste Teil der Gleichung entspricht der Gleichung 2.2. Der zweite Teil misst die Summe der Entropien der Teilmengen Sv, die die Eigenschaft A erfüllt. Das heißt, je kleiner die Summe der Entropien nach Abfragen der Eigenschaft A ist, desto größer ist Information Gain. So ermittelt ID3 die beste Eigenschaft für die Wurzel und der Knoten des entstehenden Baumes. Kommen wir zurück zum fiktiven Beispiel aus Kapitel 2.1. Wir haben zehn Informatiker und zehn Nicht-Informatiker „befragt“. Die folgende Tabelle zeigt unsere „Ergebnisse“: Zuerst die Informatiker: Nr Geschlecht Deutscher? Familienstand Abschluss Alter 1 männlich ja geschieden Studium 36 2 weiblich ja verheiratet Realschule 25 3 männlich nein ledig Studium 27 4 männlich ja verheiratet Abitur 32 5 männlich ja verheiratet Abitur 35 6 weiblich nein ledig Studium 25 7 männlich ja ledig Studium 30 8 männlich nein verheiratet Studium 47 9 männlich ja verheiratet Realschule 39 10 männlich ja verheiratet Studium 55 Deutscher? Familienstand Abschluss Alter 11 männlich ja geschieden Realschule 50 12 männlich ja verheiratet Studium 27 13 weiblich ja geschieden Abitur 44 14 weiblich ja geschieden Hauptschule 61 15 weiblich ja ledig Abitur 18 16 männlich nein verheiratet Realschule 23 17 weiblich ja verheiratet Realschule 24 18 männlich ja ledig Kein Abschluss 30 19 männlich ja verheiratet Hauptschule 47 20 weiblich nein verheiratet Abitur 35 Nun die Nicht-Informatiker: Nr Geschlecht 7 Nun berechnen wir Gain(S, A) an diesem Beispiel. Sei A = {männlich, weiblich} 8 8 5 5 log 2 log 2 85 85 85 85 8 8 5 5 log 2 log 2 13 13 13 13 0, 6154 (0, 7004) 0,3846 (1,379) 0, 4310 0,5304 0,9614 Entropie( Smännlich ) Auf der gleichen Weise bekommen wir für die Frauen folgende Entopie heraus: Entropie(Swebilich) 0,8631 Nun können wir Gain(S, Am,w) ausrechnen: Gain( S , Am , w ) Entropie( S ) v{männlich , weiblich} Sv Entropie( Sv ) S 7 13 0,9614 0,8631 20 20 1 0,9270 0, 0730 1 Wir vergleichen diesen Wert mit den anderen möglichen. Das Alter lassen wir dabei erst einmal außer Acht: Gain( S , Adeutsch ) 0, 0097 Gain( S , AFStand ) 0, 0483 Gain( S , AAbschluss ) 0,3074 Wir sehen aus diesen Werten, dass Gain(S, AAbschluss) der höchste ist. Also sollten wir in der Wurzel unseres Entscheidungsbaumes den Abschluss der Person erfragen. Nun können wir von den einzelnen Subknoten erneut das höchste Information Gain ausrechnen, um auch dort die jeweils beste Abfrage zu stellen. Da es keine Informatiker in der Trainingsmenge gibt, die keinen oder einen Hauptschulabschluss hatten, sind wir an diesen beiden Ästen schon am Ende angelangt und können die Frage mit „nein“ beantworten. 8 Berechnet man nun weiter alle Werte, kommt man auf folgenden Entscheidungsbaum: Abschluss Studium Keinen Abschluss Deutscher nein ja ja nein Familien stand verheiratet unbestimmt Abitur Geschlecht männlich ja ledig geschieden ja ja Real schule Hauptschule Deutscher nein ja nein weiblich nein Familien stand nein verheiratet Geschlecht weiblich unbestimmt geschieden nein männlich ja Abbildung 2.1 – Der Entscheidungsbaum zu unseren Trainingsbeispielen 2.3 Hypothesenraum ID3 ist also ein Algorithmus, der die Strategie benutzt, einen Entscheidungsbaum vom Einfachen zum Komplexen (simple-to-complex), mit einem leeren Baum anfangend, aufzubauen. Dabei ist die bewertende Funktion, also sein Bewertungskriterium, das oben beschriebene Information Gain. Auf seinem Weg zu einem vollständigen Entscheidungsbaum sucht ID3 nach Hypothesen, die auf das Trainingsbeispiel passen. Alle möglichen Entscheidungsbäume, also die Menge, nennt man Hypothesenraum. Dabei ist der Hypothesenraum aller Entscheidungsbäume repräsentierbar durch endliche, diskrete Funktionen, die in Relation zu den vorhandenen Eigenschaften stehen. Jede dieser Funktionen kann dabei durch einen Entscheidungsbaum dargestellt werden. Dadurch, dass ID3 einen kompletten Hypothesenraum sucht, verhindert es im Gegensatz zu den Lernmethoden, die sich konjunktiver Hypothesen bedienen, das Hauptrisiko von unvollständigen Hypothesenräumen. Außerdem beinhaltet ID3 immer nur eine aktuelle Hypothese, die er durch den Raum der Entscheidungsbäume sucht. Die Candidate-Elimination-Methode sucht dagegen in der Menge aller Hypothesen die mit dem aktuellen Trainingsbeispielen übereinstimmen. Aber dabei gibt 9 es bei ID3 nicht mehr die Möglichkeit festzustellen, ob, und wenn es welche gibt, wie viele, Entscheidungsbäume mit den vorhandenen Trainingsbeispielen übereinstimmen. Abbildung 2.2 – ID3s Suche durch den Hypothesenraum (Mitchell, 1997) 2.4 Inductive Bias Nach Erstellung eines Entscheidungsbaumes aus den Trainingsdaten stellt sich die Frage, welche Bäume ID3 überhaupt bevorzugt, um mit diesen unbekannte Daten zu verarbeiten. Anders formuliert: Welches Inductive Bias besitzt ID3? Erst einmal wählt ID3 den ersten akzeptablen Baum, den er bei seiner simple-to-complex-, hill-climbing-Suche findet. Dadurch, dass sein Auswahlkriterium beim Erstellen neuer Knoten Information Gain ist, wählt ID3 Entscheidungsbäume aus, deren Attribute mit dem höchsten Information Gain nahe der Wurzel platziert sind. So werden eher kürzere als längere Entscheidungsbäume gefunden. Diese Suche wird auch greedy heuristic search genannt. Dies heißt allerdings nicht, dass ID3 den kürzesten möglichen Entscheidungsbaum findet. Es ist vielmehr eine effizientere Annäherung als eine ganz normale Breitensuche nach dem kürzesten Entscheidungsbaum. Zusammenfassend kann man sagen, dass ID3s Inductive Bias einzig und allein die Konsequenz der Ordnung der Hypothesen durch seine Suchstrategie ist. 2.4.1 Restriction Bias und Preference Bias Wir erwähnten in Kapitel 2.3 schon den Candidate-Elimination-Algorithmus. Zwischen 10 diesem und dem Algorithmus von ID3 besteht ein interessanter Unterschied. Wie wir im Kapitel 2.2 beschrieben hatten, sucht ID3 einen vollständigen Hypothesenraum. Diesen durchsucht er allerdings unvollständig, da er nur solange, bis die Abbuchbedingung erfüllt ist. Also bis er zum Beispiel eine Hypothese gefunden hat, die zu den Daten passt. Der Candidate-Elimination-Algorithmus hingegen sucht nur einen unvollständigen Hypothesenraum, durchsucht ihn aber vollständig. Er findet also alle Hypothesen, die mit den Trainingsdaten übereinstimmen. Seine Inductive Bias ist einzig und allein die Konsequenz seiner Hypothesenrepräsentation. Also sieht man, dass Candidate-Elimination, anders als ID3, welcher seiner Suchstrategie folgt, sich nach dem Suchraum ausrichtet. Die Bevorzugung für bestimmte Hypothesen vor anderen (wie bei ID3) nennt man Preference Bias oder Search Bias. Die strikte Begrenzung der Menge der Hypothesen (siehe CandidateElimination) wird Restriction Bias oder Language Bias genannt. Meistens ist es von Vorteil im gesamten Hypothesenraum zu arbeiten, da dort die Wahrscheinlichkeit höher ist, dass es die unbekannte Zielfunktion enthält. Also ist häufig Preference Bias dem Restriction Bias vorzuziehen. Neben ID3 und Candidate Elimination gibt es auch noch Algorithmen, die eine Kombination aus beiden Biases darstellen. 2.4.2 Ockhams Razor Nachdem wir nun ID3s Inductive Bias kennen, bleibt noch die Frage offen, ob dieses Bias auch eine vernünftige Basis zum Verallgemeinern über die Trainingsdaten hinaus darstellt, also ob kürzere Bäume wirklich von Vorteil sind. William von Ockham ist schon 1320 der Frage nachgegangen, welche Hypothesen, die zu den Daten passen, bevorzugt werden sollen. Seiner Meinung nach sind einfachere Hypothesen vorzuziehen. Dieses Vorgehen wird deshalb Ockhams Razor genannt: ”Pluralitas non est ponenda sine necessitate.“ (”Eine Vielfachheit ist ohne Notwendigkeit nicht zu setzen.“), Wilhelm von Ockham, 1320 (ZITAT AUS SKRIPT) Viele wären überrascht, wenn es zu unseren Trainingsbeispielen ein Entscheidungsbaum existiert, der nur wenige Knoten besitzt und sie trotzdem gut repräsentieren kann. Daher könnte man annehmen, dass ein Baum mit mehreren Knoten die Trainingsbeispiele besser darstellen könnte. Beim Verallgemeinern auf unbekannte Daten wird letztere Hypothese aber wahrscheinlicher scheitern, da es viel weniger Daten gibt, die eine komplizierte Hypothese erfüllen. Mitchell beschreibt in Machine Learning Agenten, die die Möglichkeit der Mutation, Evolution, Reproduktion und natürliche Auslese besitzen. Dabei kann sich die Wahrnehmung des 11 Agenten bezüglich seiner Umgebung von Generation zu Generation ändern. Wenn die Agenten einen festen Lernalgorithmus (wie ID3) haben, der sich nicht mit der Evolution verändert, dann wird ihre interne Repräsentation der Umwelt diese immer besser darstellen und sie kommen immer besser mit der Umgebung zurecht. Wenn wir nun weiter annehmen, dass der Erfolg eines Agenten von seiner Fähigkeit der Verallgemeinerung seiner Umgebung abhängt, dann würden wir erwarten, dass die Evolution eine interne Repräsentation entwickelt, die unabhängig vom Lernalgorithmus und der Inductive Bias arbeitet. Sei diese Inductive Bias nun der Ockhams Razor, dann erwarten wir auch eine interne Repräsentation, in der Ockhams Razor eine erfolgreiche Strategie ist. Ebenso würden wir bei jedem anderen Inductive Bias diesen als erfolgreiche Strategie der internen Repräsentation erwarten. Also ist jedes Inductive Bias, den der Lernalgorithmus benutzt, eine erfolgreiche Strategie, da es die Repräsentation einfacher verändern kann als den Lernalgorithmus selbst. Was schlussfolgern wir daraus? Es ist schwer festzustellen, ob Ockhams Razor die beste Strategie ist. Sie kann es sein, muss es aber nicht. 12 3.Probleme bei ID3 und Lösungsansätze Der Algorithmus von ID3 beinhaltet nicht nur Vorteile, sondern bringt auch Nachteile mit sich, die in der Praxis auftreten können. In den nächsten Kapiteln betrachten wir diese und werden Lösungsansätze anderer Algorithmen präsentieren. 3.1 Überanpassung (Overfitting) Ein großes Problem im ID3-Algorithmus ist die Möglichkeit, dass Trainingsdaten den entstehenden Entscheidungsbaum „überanpassen“ können. Dieses kann zum Beispiel geschehen, wenn fehlerhafte Daten (auch Rauschen genannt) enthalten sind oder schlichtweg zu wenige Trainingsbeispiele vorhanden sind. Dabei sprechen wir von einer Überanpassung der Hypothesen, wenn es andere Hypothesen gibt, die zwar weniger zu den Trainingsbeispielen passen, aber dafür besser die gesamte Verteilung der Instanzen repräsentiert. Wenn es, wie in unserem Beispiel, zu wenige Trainingsdaten gibt, um für die Praxis aussagekräftig zu sein, spricht man in einigen Fällen auch von Underfitting. Genauigkeit Definition: Gegeben sei ein Hypothesenraum H, dann „überanpasst“ (overfit) eine Hypothese h H die Trainingsbeispiele, wenn eine alternative Hypothese h ' H existiert, die im Gegensatz zu h bei den Trainingsbeispielen mehr Fehler, aber über die gesamte Verteilung der Instanzen weniger Fehler hat. Baumgröße (Anzahl der Knoten) Abbildung 3.1 – Überanpassung im Entscheidungsbaumlernen (Mitchell, 1997) 13 Das Diagramm zeigt genau, ab welchem Punkt die Überanpassung einsetzt. Die durchgezogene Linie steigt bei steigender Knotenanzahl stetig an, während die gestrichelte Linie ab eben diesem Punkt anfängt zu fallen. Anders ausgedrückt: die Trefferquote und damit die Qualität des Entscheidungsbaums nimmt ab diesem Punkt ab. Die Ursachen für dieses Phänomen sind vielschichtig. Fehlerhafte Trainingsdaten sind noch die einfachste Variante. ID3, das diese fehlerhaften Daten einbezieht, erstellt auch Knoten für diese in dem Entscheidungsbaum. Somit wird der Baum komplexer und hat Probleme mit neuen unbekannten Daten. Eine weitere einfache Möglichkeit der Überanpassung ist eine zu kleine Basis an Trainingsbeispielen. Hier ist es sehr schnell möglich, eine Hypothese aufzustellen, die nur zufällig mit den Trainingsbeispielen übereinstimmt. Die dritte Möglichkeit, durch die Überanpassung entsteht, ist schlichtweg eine zu hohe Anzahl an Trainingsbeispielen. Diese Variante hatten wir schon in Kapitel 2.4.2 beschrieben, da dies genau Ockhams Razor beschreibt. Der Entscheidungsbaum repräsentiert sicherlich perfekt die Trainingsdaten, ist aber nicht mehr dynamisch genug, um noch mit hoher Wahrscheinlichkeit bei unbekannten Daten eine richtige Vorhersage treffen zu können. Überanpassung ist in der Praxis sehr häufig anzutreffen. In der Medizin zum Beispiel stehen immer sehr viele Daten über einen Patienten zur Verfügung. So kann einen Entscheidungsbaum mit diesen ganzen Daten schnell überanpassen. Es existieren aber auch Lösungsvorschläge, um dieses Problem zu beheben. Zum einen kann man das Wachstum des Entscheidungsbaumes frühzeitig beenden, zum anderen kann man einen fertig erstellten, überangepassten Entscheidungsbaum nachträglich beschneiden (pruning). Obwohl erstere Möglichkeit sinnvoller klingt, ist sie praktisch schwerer anzuwenden, da man nicht genau bestimmen kann, wann der Punkt der Überanpassung erreicht ist. Um die korrekte Endgröße eines Entscheidungsbaumes abzuschätzen, gibt es mehrere Möglichkeiten. Zum einen kann man eine von den Trainingsbeispielen disjunkte Menge von Testbeispielen festlegen, um den Nutzen der post-pruning-Knoten des Entscheidungsbaumes zu bewerten. Die zweite Möglichkeit sieht einen statistischen Test des Entscheidungsbaums vor, welche überprüft, ob eine Erweiterung oder eine Kürzung (pruning) zum Erfolg führt. Dann gibt es noch eine Variante die ideale Größe festzustellen, indem man eine Messung der Komplexität durchführt. Damit kann man dann die Trainingsbeispiele und den Entscheidungsbaum kodieren. Der Baum hört auf zu wachsen, wenn die Kodiergröße am kleinsten ist. Dies nennt man auch „Minimale Beschreibungslänge“. Die ersten beiden Varianten werden am häufigsten verwendet. Dort wird die Beispielmenge aufgeteilt in Trainings- und Validierungsmenge. Mit der Trainingsmenge werden die Hypothesen aufgestellt. Mit der Validierungsmenge wird dann bewertet, inwiefern die Hypothesen auch über 14 fremde Daten gültig sind und ob man mit pruning den Baum verbessern kann, da es unwahrscheinlich ist, dass die Validierungsmenge dieselben zufälligen Fluktuationen (Schwankungen) enthält wie die Trainingsmenge. Dafür muss die Validierungsmenge natürlich eine gewisse Größe besitzen, um überhaupt eine sichere Überprüfung gegen Überanpassung zu sein. 3.1.1 Reduced Error Pruning Im Reduced Error Pruning wird jeder Knoten des Entscheidungsbaumes überprüft, ob der Baum, wenn er an diesem Knoten beschnitten wird, eine bessere Performance gegenüber der Validierungsmenge besitzt. Sollte dies der Fall sein, dann wird der Teilbaum, der mit dem Knoten verbunden ist, abgeschnitten und der Knoten wird neues Knotenblatt. Ihm wird dann die Klassifizierung gegeben, die am besten die Trainingsbeispiele erfüllen, die an diesem Knoten abgefragt werden. Dabei werden Knoten iterativ beschnitten. Es wird immer der Knoten genommen, durch dessen Entfernung der Entscheidungsbaum besser an die Validierungsmenge angepasst wird. Dies geht so weit, bis das pruning den Baum nicht mehr besser an diese Validierungsmenge anpassen Genauigkeit kann. Baumgröße (Anzahl der Knoten) Abbildung 3.2 – Zurückschneiden des überangepassten Entscheidungsbaum (Mitchell, 1997) Dieses Verfahren ist eine gute Herangehensweise, wenn die zur Verfügung stehenden Daten groß genug sind. Bei kleineren Mengen an Informationen kann dies aber dazu führen, dass nicht mehr ausreichende Mengen von Daten nach der Teilung in Trainings- und Validierungsmenge zur Verfügung stehen, um mit der Trainingsmenge einen Entscheidungsbaum zu konstruieren, der geeignet ist für zukünftige, noch unbekannte Daten. Das nächste Kapitel zeigt eine Variante auf, die auch mit kleineren Mengen, wie sie in der Praxis häufig vorkommen, zurechtkommt. 3.1.2 Rule Post-Pruning 15 Rule Post-Pruning ist ein Kürzen des Entscheidungsbaumes mit der Zuhilfenahme von Regeln. Nachdem der Baum erstellt wurde und möglicherweise auch überangepasst ist, wird jeder Pfad des Baumes durch eine Regel ersetzt. Dadurch entsteht eine Gleichungsmenge. Durch Entfernen aller Vorbedingungen, die dazu führen, dass die Genauigkeit nicht erhöht wird, kann dann die Regel verallgemeinert, also beschnitten, werden. Als letztes werden die beschnittenen Regeln nach der Genauigkeit sortiert und dabei wird überprüft, wie gut diese Regeln mit unbekannten Instanzen zurechtkommen. Wie beim Reduced Error Pruning kann man die Regelgenauigkeit über eine Trainings- und Validierungsmenge prüfen. Um aber die Nachteile dieser Aufspaltung zu umgehen, gibt es noch eine andere Möglichkeit. Man misst einfach direkt an den Trainingsbeispielen die Genauigkeit und schätzt diese dann pessimistisch ab, indem man mit Hilfe eines binomialen Verfahrens die Standardabweichung dieser Genauigkeit berechnet und dann die Untergrenze als Schätzwert benutzt. Diese geschätzte Genauigkeit wird dann als Maß für die Regelperfomance verwendet. Diese Möglichkeit wird von C4.5 benutzt. Der Haupteffekt ist, dass bei immer größeren Datenmengen die pessimistische Abschätzung sehr nahe an der beobachteten Genauigkeit in der Praxis liegt. Diese Genauigkeit sinkt aber mit immer kleineren Datenmengen. Es gibt mehrere Vorteile von Rule Post-Pruning. Der erste ist, dass man mit Hilfe von Regeln Knoten im Kontext unterschiedlich charakterisieren kann. Damit ist es, im Gegensatz zum direkten Kürzen am Entscheidungsbaum, möglich diese dann auf unterschiedliche Art und Weise zu beschneiden. Als zweites helfen Regeln beim Charakterisieren von Knoten nahe der Wurzel. Wenn man direkt an einem Baum schneidet, muss man danach den Baum reorganisieren. Dies entfällt natürlich bei den Regeln. Die letzte aber auch sehr wichtige Überlegenheit des Rule Post-Pruning ist die Lesbarkeit für Menschen. Sie ist meist wesentlich größer als bei einem Entscheidungsbaum, da Menschen die Regeln besser verstehen. 3.2 Umgang mit kontinuierlich-wertigen Attributen Wir hatten bisher immer diskrete Werte an einem Entscheidungsknoten getestet. Was ist aber, wenn wir einmal einen kontinuierlichen Wert abfragen möchten, wie in unserem Beispiel das Alter eines Menschen? Diese Möglichkeit ist gegeben, indem man die Werte in Intervalle einteilt und dann diese Intervalle anstelle der speziellen Werte abfragt. Doch nach welchen Kriterien soll diese Einteilung geschehen? Durch Sortieren der 16 Trainingsbeispiele an einem bestimmten Attribut kann man eine Kandidatenmenge erzeugen. Von dieser berechnet man dann die Schwellenwerte, die den größten Informationszuwachs haben. Durch diese Schwellenwerte kann man dann das kontinuierlich-wertige Attribut genauso wie andere Attribute abfragen oder erzeugen. Am besten lässt sich dieses an unserem Beispiel mit den Informatikern verdeutlichen. Alter: 18 23 24 25 25 27 27 30 30 32 Informatiker: nein nein nein ja ja ja nein nein ja ja Alter: 35 36 39 44 47 47 50 55 61 nein ja ja nein nein ja nein ja nein 35 Informatiker: ja Hier haben wir von im Alter von 18 bis 24 nur Personen als Testbeispiele, die kein Informatiker sind. Wir haben erst ab 25 ein Testbeispiel mit einem Informatiker. Wo setzen wir nun den Schwellenwert bei der Abfrage des Alters an? Die intuitivste Variante ist einfach die Bildung des Mittelwertes. So ergebe dies folgenden Schwellenwert: Schwelle1 24 25 24,5 . 2 So können wir alle Schwellenwerte ausrechnen: Schwelle2 27 Schwelle3 30 Schwelle4 35 Schwelle5 35,5 Schwelle6 41,5 Schwelle7 47 Schwelle8 48,5 Schwelle9 52,5 Schwelle10 58 Nun lässt sich mit Hilfe dieser Schwellenwerte die Abfrage der Eigenschaft „Alter“ in den Entscheidungsbaum einbinden, wobei man hier schon ein praxisnahes Problem erkennen kann: Wir hätten nun zehn verschiedene Äste, und das bei nur 20 Trainingsbeispielen. Daher ist die Einbindung der Abfrage des Alters wohl eher als eine Überanpassung des Entscheidungsbaumes zu sehen. Es gibt noch andere Ansätze, um Attribute mit kontinuierlichen Werten in Intervalle einzuteilen. Fayyad und Irani haben sich 1993 mit der Möglichkeit beschäftigt, diese Eigenschaften in mehr als zwei Intervalle an einem Schwellenwert zu teilen. Utgoff und Brodley (1991) und Murthy (1994) diskutierten Annäherungsverfahren, die Merkmale durch Linearkombinationen definieren. 17 3.3 Gain Ratio – Alternative zur Auswahl von Eigenschaften Eines der am Anfang großen Vorteile von Information Gain war die Bevorzugung von Attributen mit vielen Werten, da sie einen hohen Informationsgehalt haben. Dies kann sich aber auch zum Nachteil auswirken. Zum Beispiel sagt ein Datum exakt alle Entscheidungen eines Trainingsbeispiels voraus. Bei unbekannten Daten hingegen hat ein Datum überhaupt keinen Informationsgehalt mehr. Damit wird es wertlos. Also sollte man Eigenschaften nach etwas anderem als Information Gain bewerten. Eine Alternative ist Gain Ratio. Gain Ratio enthält einen Term genannt SplitInformation. Damit kann es Informationen auf deren Breite und Gleichmäßigkeit überprüfen. Daten wie „Datum“ haben dadurch keine Möglichkeit mehr als wichtig eingestuft zu werden. Es existiert eine Formel zur Bestimmung des Gain Ratio einer Menge S mit der c-wertigen Eigenschaft A: GainRatio( S , A) Gain( S , A) SplitInformation( S , A) wobei c SplitInformation( S , A) i 1 Si S log 2 i S S c – Anzahl der Eigenschaftswerte von Attribut A Si – eine der c Teilmengen von Beispielen, die durch das Aufteilen von S anhand des Kriteriums A entstehen SplitInformation(S, A) – Entropie von S, jedoch mit dem Unterschied, dass die Werte von A berücksichtigt werden So bewertet GainRatio(S, A) im Vergleich zu InformationGain(S, A) genau die Werte schlechter, die gleichmäßig über S verteilt sind. Wenn also eine Menge von n Beispielen durch das Attribut A unterschieden wird, dann ist der Wert von SplitInformation=log2 n. Wenn eine boolesche Eigenschaft B die n Beispiele genau in zwei gleich große Hälften teilt, dann ist SplitInformation(S, A) = 1. Also kann beim Nutzen von Gain Ratio anstelle von Gain, um eine Eigenschaft auszuwählen, der Nenner null oder sehr klein werden, wenn es ein i gibt, so dass |Si|=|S|. Dieses macht Gain Ratio 18 manchmal undefiniert, auf jeden Fall aber sehr groß, für Eigenschaften, die denselben Wert bei nahezu allen Mitgliedern von S haben. Um nicht nur diese Basis zu benutzen, können wir erst von allen Eigenschaften Information Gain berechnen und nur bei solchen, die einen Wert über dem Durchschnitt haben, kann man dann Gain Ratio ausrechnen. Eine andere Methode zur Lösung des oben genannten Problems ist die distanzbasierte Messung. Dabei wird jede Eigenschaft mit Hilfe der Distanz, die zwischen dem erstellten Datenteil und dem Datenteil, der am besten zu den Trainingsdaten passt, besteht, bewertet. Dabei wird die dem letzteren Datenteil am nächsten stehende Eigenschaft ausgewählt. Es wird also eine Distanzmetrik zwischen den Teilen der Daten aufgebaut. Die so erstellten Entscheidungsbäume unterscheiden sich nicht sehr gegenüber jenen, die mit Gain(S, A) oder GainRatio(S, A) erzeugt wurden. Diese Messung vermeidet aber praktische Probleme der Gain Ratio-Messung und produziert weitaus kleinere Entscheidungsbäume bei Datenmenge, deren Eigenschaften viele verschiedene Zahlenwerte besitzen. Eine weitere Möglichkeit, Attribute zu selektieren, ist die experimentelle Analyse der relativen Effektivität einiger Auswahlmessungen über verschiedene Probleme. Mingers berichtet von deutlichen Unterschieden in der Größe unbeschnittener Entscheidungsbäume, die von verschiedenen Auswahlmessungen erstellt wurden. In seinen Experimenten scheint die Eigenschaftsauswahlmessung einen kleineren Einfluss auf die endgültige Genauigkeit zu haben, als die Ausdehnung und Methode des Post-Prunings. 3.4 Verarbeitung von lückenhaften Daten In der Praxis kommt es manchmal vor, dass vorhandene Daten keine Werte für einige Eigenschaften besitzen. Nehmen wir zum Beispiel an, dass einige der Befragten aus unserem Informatiker-Beispiel nicht ihren Abschluss angeben wollten. Dann müssen diese Lücken auf irgendeine Art und Weise wieder geschlossen werden. In den meisten Fällen ist es ausreichend, den fehlenden Wert durch die anderer Beispiele zu ersetzen. Nehmen wir an, wir wollen an einem Knoten n ein Attribut A mit Hilfe von Gain(S, A) ausrechnen. Existiert jedoch in der Trainingsmenge ein Datensatz, in dem A unbekannt ist, gibt es mit dem bisher vorgestellten Verfahren keine Lösung. Eine Strategie, um mit dem fehlenden Attributswert auszukommen, ist die, dass man den am meist verwendeten Attributswert im Trainingsbeispiel an dem Knoten n an die Stelle des fehlenden Wertes einfügt. Oder man nimmt statt dem meist verwendeten Attributswert den Wert, der am 19 besten zur Klassifikation des fehlenden Attributes am Knoten n entspricht. Eine weitere, komplexere Möglichkeit ist die Berechnung der Wahrscheinlichkeit jeden möglichen Wertes an der Stelle A. Diese Wahrscheinlichkeiten dienen als Vorhersagen für den fehlenden Eigenschaftswert und können anhand der verschiedenen Attribute A aus den Trainingsbeispielen, die an den Knoten n anliegen, abgeschätzt werden. Zum Beispiel gibt es eine Eigenschaft A an einem Knoten n, wobei es für dieses Attribut sechs positive mit dem Wert 1 und vier negative Beispiele mit dem Wert 0 gibt. Daraus kann man dann die Wahrscheinlichkeit für den Wert 1 = 6 0, 6 60% und den Wert 0 = 40% ermitteln. Genau 64 dieses Problem hatten wir auch bei unserem Informatiker-Beispiel. An zwei Blättern in Abbildung 2.1 wurde ein unbestimmter Wert ermittelt. Dies lag daran, dass wir jeweils ein positives und ein negatives Trainingsbeispiel für diese Fälle ermittelt hatten. Nun kann man aber die Wahrscheinlichkeit ermitteln, mit der die bisher unbestimmten Blätter zutreffen beziehungsweise scheitern. In unserem Beispiel wäre also die Wahrscheinlichkeit, ein Informatiker zu sein, in beiden Fällen 50%. Ebenso besteht eine 50%-ige Möglichkeit kein Informatiker zu sein. Gibt es nun also eine Instanz, bei der der Wert für das Attribut A fehlt, dann kann man ihn mit Hilfe dieser Wahrscheinlichkeitsrechnung ermitteln. 3.5 Verarbeitung von Attributen mit verschiedenen Kosten Es gibt Situationen, in denen Eigenschaften durchaus Werte besitzen, die unterschiedliche Kosten verursachen. Nehmen wir zum Beispiel an, dass eine Firma einen kompetenten Mitarbeiter sucht. Dann würde diese sicher eine Person mit Diplom einer anderen mit Abitur oder gar Realschulabschluss vorziehen. Oder nehmen wir ein anderes Unternehmen, das Computer herstellt. Jedoch sind die dafür benötigten Teile bei verschiedenen Firmen unterschiedlich teuer. In solchen Fällen würden wir natürlich die kostengünstigere Variante vorziehen, wenn dies möglich ist. Wir können ID3 so modifizieren, dass es in der Lage ist, diese unterschiedlichen Kosten zu berücksichtigen. Eine Möglichkeit ist Gain durch die Kosten der Eigenschaftswerte zu teilen, so dass billigere Eigenschaften bevorzugt werden. Tan und Schimmer haben bei Versuchen mit Lernstrategien eines Roboters die Formel für Information Gain ersetzt durch die folgende: 20 GainCost ( S , A) Gain 2 ( S , A) Cost ( A) Nunez hingegen hat Information Gain für medizinische Diagnoseregeln angepasst und kommt daher auf folgende Formel: 2Gain ( S , A) 1 GainCost ( S , A, w) (Cost ( A) 1) w w [0,1] - Konstante, die festlegt, ob Kosten gegenüber Information Gain wichtig sind 21 4. Zusammenfassung Wir haben eine breite Auswahl über das Entscheidungsbaum-Lernen vorgestellt. Man sieht, dass und wie man mit Hilfe der Entropie und Information Gain Entscheidungsbäume erstellen kann. Mit der Entropie misst man dabei den mittleren Informationsgehalt, während Information Gain den Informationszuwachs verschiedener Attribute überprüft. Diese Methodik hatte zum Beispiel ID3 benutzt, um top-down Entscheidungsbäume zu erstellen. Es wurde der Hypothesenraum als die Menge aller möglichen Entscheidungsbäume definiert. Dabei stellten wir fest, dass ID3 einen kompletten Hypothesenraum sucht, ihn aber unvollständig durchsucht. Als nächstes erklärten wir den Begriff Inductive Bias. Er beschreibt das induktive Vorgehen verschiedener Lernalgorithmen. Durch die simple-to-complex-, hill-climbing-, greedy-Suche bevorzugt ID3 bestimmte Hypothesen. Damit werden kürzere vor längeren Entscheidungsbäumen erstellt. Diese spezielle Ausrichtung wird dann Preference oder Search Bias genannt. Im Gegensatz dazu benutzt der Candidate-Elimination-Algorithmus Restriction oder Language Bias. Es sucht einen unvollständigen Hypothesenraum, durchsucht diesen dann aber komplett. Im nächsten Kapitel widmeten wir uns Ockham. Er beschrieb schon vor Jahrhunderten die These, dass einfache Beschreibungen durchaus auch schwierige Sachverhalte darstellen können. Diese Aussage ist durchaus umstritten, im Entscheidungsbaum-Lernen kann aber durchaus in einzelnen Fällen zutreffen. Das 3. Kapitel beschäftigt sich dann mit den Problemen von ID3 und deren Lösungen. In Abschnitt 3.1 haben wir die Überanpassung beschrieben. Ein Baum kann durch zu viele, bzw. zu wenige, Trainingsbeispiele überangepasst werden. Dann funktioniert der Baum zwar perfekt mit diesen Daten, aber mit neuen unbekannten Daten gibt es dann Probleme. Die zwei möglichen Lösungen, Reduced Error Pruning und Rule Post-Pruning, beschneiden jeweils den Baum, wobei die zweite Lösung ihn erst in Regeln umwandelt. Ein weiteres ID3-Problem sind numerische, kontinuierliche Werte. Mit ihnen werden, wie in dem Kapitel beschrieben, durch ein Verfahren Schwellenwerte ermittelt. Damit kann man dann auch Werte wie Temperatur, Alter oder ähnliches verarbeiten. Wir haben auch den Umgang mit für das Entscheidungsbaum-Lernen unwichtigen Werten dargestellt. Diese Werte passen genau auf die Trainingsbeispiele, sind aber irrelevant für weitere Daten. Gain Ratio kann, im Gegensatz zu Information Gain, uninteressante Informationen herausfiltern. Wir haben als eine Lösungsmöglichkeit von fehlenden Werten die Anwendung von Wahrscheinlichkeiten beschrieben. 22 Zu guter letzt sind wir noch auf kostensensitive Attribute eingegangen und haben alternativ zu Gain(S, A) zwei Formeln GainCost(S, A) dargestellt. 23