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 ) 

vWerte ( 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
85
85 85
85
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
64
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