8.1 Entscheidungsbäume 8 Entscheidungsbäume 8.1 Bäume

Werbung
8 Entscheidungsbäume
8.1 Einführung
8 Entscheidungsbäume
8.1 Entscheidungsbäume
8.1 Einführung
8.1 Bäume: Einführung
Im Folgenden wird der Aufbau von Entscheidungsbäumen am
Beispiel des Methode und des daraus Implementierten
Programms CART (Classification and Regression Trees;
Breiman et al., 1984) systematisch vorgestellt.
Entscheidungsbäume
8 Entscheidungsbäume
Äquivalente Funktion in R: rpart() in Paket rpart.
8.1 Einführung
Entscheidungsbäume sind auf den ersten Blick ein grundlegend
anderer Ansatz zur Konstruktion von Klassifikationsregeln. Ihre
Regeln sind meist sehr verständlich für den Anwender, können sich
aber nicht sehr flexibel an die Daten anpassen.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
Sommersemester 2013
300
8.1 Einführung
8 Entscheidungsbäume
8.1 Bäume: Einführung
8.2 Vorüberlegungen
Sommersemester 2013
302
8.2.1 Klassenwahrscheinlichkeiten
8.2.1 Klassenwahrscheinlichkeiten
Einführung (aus: Chee Jen Chang (2002))
Vorwissen über Klassenwahrscheinlichkeiten:
Bei der Konstruktion eines Klassifikationsbaums benutzt
CART ganz wesentlich a-priori Wahrscheinlichkeiten (priors).
Im Folgenden sei
Entscheidungsbäume bestehen aus einer Abfolge von binären
Entscheidungen, die als Baum darstellbar sind.
N Anzahl Fälle in der Stichprobe,
Nj Anzahl Fälle in Klasse j und
πj a-priori Wahrscheinlichkeit der Klasse j Fälle.
In jedem Knoten findet eine Ja-Nein“ Entscheidung statt
”
(Elternknoten, parent node). Bei Ja“ folgt die Entscheidung
”
im nächsten Knoten auf der linken Seite (Kindknoten, child
node), bei Nein“ auf der rechten Seite.
”
Die Entscheidungen werden so getroffen, dass die Knoten
möglichst eine reine“ Klasse darstellen.
”
In jedem Endknoten (terminal node) wird eine Zuordnung zu
der Klasse getroffen, die dort am häufigsten vorkommt.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
301
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
303
8 Entscheidungsbäume
8.2 Vorüberlegungen
8.2.1 Klassenwahrscheinlichkeiten
8 Entscheidungsbäume
8.2.1 Klassenwahrscheinlichkeiten
Auch Entscheidungsbäume verwenden also a-priori-Wissen:
8 Entscheidungsbäume
8.2 Vorüberlegungen
Sommersemester 2013
Zwei Fragenformate sind in CART möglich:
1
2
304
8.2.2 Komponenten der Baumkonstruktion
Eine Menge von Fragen, auf denen die Teilungsentscheidung
basiert,
2
Teilungsregeln und Anpassungsgüte-Kriterien zur Beurteilung
einer Teilung und
3
Regeln zur Zuweisung einer Klasse zu einem Endknoten.
Sommersemester 2013
Ist Z = b?“, falls Z eine nominale Variable ist und b eine
”
ganze Zahl, die von Z angenommen werden kann. Z.B. Ist
”
Geschlecht = 1?“
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
8.2 Vorüberlegungen
Sommersemester 2013
306
8.2.2 Komponenten der Baumkonstruktion
8.2.2 Komponenten der Baumkonstruktion
Die Konstruktion eines Klassifikationsbaums beruht im
Wesentlichen auf drei Komponenten:
1
Ist X ≤ d?“, falls X eine stetige oder ordinale Variable ist
”
und d eine Konstante in dem Wertebereich von X . Z.B. Ist
”
Einkommen ≤ 2000 e?“
Offenbar ist die Anzahl der sinnvollen Teilungspunkte bei jeder
Variable beschränkt durch die Anzahl der unterschiedlichen Werte,
die die Variable in der Stichprobe annimmt.
8.2.2 Komponenten der Baumkonstruktion
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8.2.2 Komponenten der Baumkonstruktion
Typ und Format von Fragen
Bei Daten gestütztem Vorwissen (data prior) wird
angenommen, dass die Verteilung der Klassen in der
Grundgesamtheit dieselbe ist wie die Verteilung in der
Stichprobe. Die Wahrscheinlichkeiten πj werden geschätzt
N
durch pj = Nj .
Bei der Annahme von gleichen Wahrscheinlichkeiten (priors
equal): Klassen treten in der Grundgesamtheit gleich häufig
auf. Im Fall von zwei Klassen:
P(Klasse 1) = P(Klasse 2) = 0.5.
Als dritte Möglichkeit kann noch der Mittelwert zwischen den
ersten beiden Wahrscheinlichkeitsschätzern verwendet werden
(mixed priors).
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8.2 Vorüberlegungen
8.2.2 Komponenten der Baumkonstruktion
Wenn Z eine nominale Variable ist mit m unterschiedlichen Werten
in der Stichprobe, dann ist die Anzahl der möglichen Teilungen mit
Z gleich m. Wenn anstelle der Fragen Ist Z = b?“ allgemeinere
”
Fragen des Typs Ist Z ∈ S“, S beliebige Teilmenge der m Werte,
”
zugelassen sind, dann ist die maximale Anzahl unterschiedlicher
Teilungen = 2m−1 .
In CART basieren Teilungen standardmäßig auf einer einzigen
Variable.
305
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
307
8 Entscheidungsbäume
8.2 Vorüberlegungen
8.2.3 Unreinheitsmaß
8 Entscheidungsbäume
8.2.3 Unreinheitsmaß
8.2 Vorüberlegungen
8.2.3 Unreinheitsmaß
8.2.3 Unreinheitsmaß
Teilungsregeln und Anpassungsgütekriterien
Auf der anderen Seite nimmt das Gini Unreinheitsmaß sein
Minimum (=0) an, wenn alle Fälle eines Knotens in genau
eine Klasse fallen. D.h. wenn t ein reiner Knoten“ ist mit
”
verschwindender Fehlklassifikationsrate, dann ist i(t) = 0.
Sei j = 1, 2, . . . , G die Nummer der Klasse einer kategoriellen
abhängigen Variablen, dann definiert p(j|t) die
Klassenwahrscheinlichkeit der abhängigen Variable im Knoten
t, so dass
p(1|t) + p(2|t) + p(3|t) + . . . + p(G |t) = 1,
j = 1, . . . , G .
Definition 1 (Unreinheitsmaß)
Ein Unreinheitsmaß i(t) im Knoten t ist definiert als eine
Funktion der Klassenwahrscheinlichkeiten p(1|t), p(2|t), p(3|t), . . .,
d.h. i(t) = f [p(1|t), p(2|t), . . . , p(G |t)].
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
Sommersemester 2013
8.2 Vorüberlegungen
308
8.2.3 Unreinheitsmaß
8 Entscheidungsbäume
8.2.3 Unreinheitsmaß
8.2 Vorüberlegungen
Sommersemester 2013
310
8.2.4 Anpassungskriterium
8.2.4 Anpassungskriterium
Definition 3 (Anpassungsgüte der Teilung)
Definition 2 (Gini Unreinheitsmaß)
Sei s eine Teilung im Knoten t. Dann ist die Anpassungsgüte dieser
Teilung definiert als die Verringerung der Unreinheit gemessen durch
Das Gini Unreinheitsmaß im Knoten t ist definiert als
i(t) := 1 − S
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
mit
S :=
G
X
2
p (j|t),
∆i(s, t) = i(t) − pL i(tL ) − pR i(tR ),
j=1
wobei
wobei S die Reinheitsfunktion ist.
s eine spezielle Teilung ist,
pL der Anteil der Fälle im Knoten t, der in den linken Kindknoten tL
geht,
CART verwendet im Wesentlichen das Gini Kriterium.
Das Gini Unreinheitsmaß nimmt sein Maximum an, wenn jede
Klasse in dem Knoten mit gleicher Wahrscheinlichkeit
angenommen wird, d.h. wenn
pR der Anteil der Fälle im Knoten t, der in den rechten Kindknoten
tR geht,
i(tL ) Unreinheit des linken Kindknotens und
p(1|t) = p(2|t) = . . . = p(G |t),
i(tR ) Unreinheit des rechten Kindknotens.
d.h. bei minimaler Reinheit S.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
309
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
311
8 Entscheidungsbäume
8.2 Vorüberlegungen
8.2.5 Klassenzuordnungsregeln
8 Entscheidungsbäume
8.2.5 Klassenzuordnungsregeln
8.2 Vorüberlegungen
8.2.5 Klassenzuordnungsregeln
8.2.5 Klassenzuordnungsregeln
Fehlklassifikationskosten werden wie zuvor für Paare von Klassen
definiert:
Es gibt im Wesentlichen zwei Regeln, wie man Knoten Klassen
zuordnet.
Das Mehrheitsvotum
c(i, j) := Kosten der falschen Zuordnung einer
Beobachtung aus Klasse i zu Klasse j.
Ordne einem Endknoten t diejenige Klasse zu, für die p(j|t)
am größten ist.
Wenn also die Mehrheit der Fälle eines Endknotens zu einer
speziellen Klasse gehört, dann wird dieser Knoten dieser Klasse
zugeordnet. Diese Regel geht von gleicher
Fehlklassifikationskosten für jede Klasse aus und ist insofern
ein Spezialfall von Regel 2.
Die erwarteten Fehlklassifikationskosten bei der Wahl von Klasse j
im Endknoten t ergeben sich dann als:
Cj = p(1|t) · c(1, j) + . . . + p(G |t) · c(G , j).
Regel (2) ist also tatsächlich Bayes-Regel, weil sie diejenige Klasse
Aj wählt mit den kleinsten erwarteten Kosten Cj .
Falls alle Kosten gleich sind, ergibt sich Regel (1).
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
8.2 Vorüberlegungen
Sommersemester 2013
312
8.2.5 Klassenzuordnungsregeln
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
8.2.5 Klassenzuordnungsregeln
Sommersemester 2013
314
8.3 Konstruktion
8.3 Konstruktion eines Klassifikationsbaums
Minimale Kosten
Die Konstruktion eines Klassifikationsbaums beginnt mit der
binären Partition einer Stichprobe (bzw. der Baumwurzel) in
Teilstichproben (Kindnoten, Endknoten) mit Hilfe einfacher Fragen
der Art Ist X ≤ d?“, wobei X eine Variable in dem Lerndatensatz
”
ist und d eine reelle Zahl.
Ordne einem Endknoten t diejenige Klasse zu mit den
kleinsten erwarteten Fehlklassifikationskosten.
Die Anwendung dieser Regel berücksichtigt unterschiedliche
Kosten der Fehlklassifikation von Beobachtungen
unterschiedlicher Klassen.
Zu Anfang befinden sich alle Beobachtungen in der
Baumwurzel. Dieser Knoten ist unrein“ bzw. heterogen, weil
”
er alle Beobachtungen enthält unabhängig von ihrer
Klassenzugehörigkeit.
Das Ziel ist, eine Regel zu finden, die diese Beobachtungen in
2 Gruppen (bzw. Knoten) aufteilen, die homogener sind als
die Baumwurzel. CART dazu benutzt einen
computerintensiven Algorithmus, der nach dem besten
Teilungspunkt sucht für jede Variable.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
313
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
315
8 Entscheidungsbäume
8.3 Konstruktion
8 Entscheidungsbäume
8.3 Konstruktion eines Klassifikationsbaums
Die von CART benutzte Methode wird auch binäre
” an der
rekursive Partitionierung“ genannt. Beginnend
Baumwurzel wird dabei unter Benutzung z.B. des Gini-Indexes
als Teilungsregel wie folgt vorgegangen:
1
Teilungen mit Linearkombinationen
Alternativ zu der Verwendung von einzelnen Variablen können auch
Linearkombinationen zur Teilung verwendet werden. Das ist z.B.
sinnvoll, wenn die Klassenstruktur von solchen
Linearkombinationen abhängt.
CART teilt die Beobachtungen testweise in zwei Kindknoten
mit Hilfe der ersten Variable an allen ihren möglichen
Teilungspunkten, d.h. an allen von dieser Variable
angenommenen Werten.
Teilungen mit Linearkombination haben (im Fall von zwei
Variablen) die folgende Form: Ist α1 X1 + α2 X2 ≤ d ?“
”
Beispiel: Ist 0.55 × Konsum + 0.05 × Alter = 40?“
”
Wenn die Antwort Ja“ ist, dann wird die Beobachtung dem
”
linken Kindnoten zugeordnet, ansonsten dem rechten.
Ja-Fälle“ werden in den linken Knoten gesetzt,
”
Nein-Fälle“ in den rechten.
”
2
CART beurteilt dann die durch die Teilungen erzielte
Verringerung der Unreinheit i(t) mit Hilfe der Formel
3
CART wählt als beste Teilung diejenige mit der größten
Verringerung der Unreinheit.
Falls kategorielle Variable vorkommen, sollten sie in Dummy
Variablen umgewandelt werden.
∆i(s, t) = i(t) − pL i(tL ) − pR i(tR ) (s.o.).
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
Sommersemester 2013
316
8.3 Konstruktion
8.3 Konstruktion eines Klassifikationsbaums
Schritte 1-3 werden für alle anderen Variablen wiederholt.
5
CART ordnet dann die Variablen bzgl. ihrer Fähigkeit an, die
Unreinheit zu verringern.
6
CART wählt diejenige Variable und den dazu gehörigen
Teilungspunkt aus, die die Unreinheit der Baumwurzel oder eines
Elternknotens am meisten verringert.
7
CART führt dann die Teilung gemäß dieses Teilungspunkts aus.
8
Schritte 1-7 werden rekursiv wiederholt auf jedem Endknoten der
augenblicklichen Stufe.
9
CART konstruiert so einen sehr großen Baum mit sehr vielen
Endknoten, die sämtlich entweder rein sind oder nur sehr wenige
Fälle enthalten.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
4
Sommersemester 2013
8.4 weitere Überlegungen
8.4 Teilungen mit Linearkombinationen
Sommersemester 2013
318
8.4 weitere Überlegungen
8.4 Fehlende Werte
Fehlende Werte
Alle Regeln sind natürlich nur dann ausführbar, wenn die
dazugehörigen Variablen keinen fehlenden Wert haben. Trotzdem
ist die Unvollständigkeit von Daten im Allg. kein Problem für
CART.
CART speichert nämlich zu jeder optimalen Teilung zusätzlich
sog. Surrogat-Variablen, die zur Teilung herangezogen werden,
wenn der Wert der Teilungsvariablen fehlt.
317
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
319
8 Entscheidungsbäume
8.4 weitere Überlegungen
8 Entscheidungsbäume
8.4 Fehlende Werte
8.4 weitere Überlegungen
8.4 Wichtigkeit von Variablen
Für diese Teilungen werden dann die Informationsgewinne
(Verringerung der Unreinheit) über alle Knoten für jede
Variable summiert.
CART klassifiziert in solchen Fällen auf der Basis der besten
verfügbaren Surrogat-Variable, d.h. derjenigen verfügbaren
Variable, die der ursprünglichen Teilungsvariable insofern am
ähnlichsten ist, dass die Anzahl Fälle im linken und rechten
Kindknoten möglichst gleich den Anzahlen ist, die durch die
optimale Teilung erzeugt worden wären.
Das ergibt eine Reihenfolge der Variablen. Es ist üblich, die
Güte einer Variable relativ in % des Informationsgewinns der
wichtigsten Variable auszudrücken.
CART identifiziert standardmäßig 5 Surrogat-Variablen in
jedem Knoten, wenn Regeln mit einzelnen Variablen
verwendet werden. Im Fall von Linearkombinationen sind keine
Surrogate verfügbar.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
Sommersemester 2013
320
8.4 weitere Überlegungen
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
8.4 Wichtigkeit von Variablen
Sommersemester 2013
322
8.4 weitere Überlegungen
8.4 Ausreißer
Wichtigkeit von Variablen
Ausreißer in den unabhängigen Variablen haben im Allg. keinen
Einfluss auf die CART Analyse, weil die Teilungen zumeist an
Nichtausreißer-Werten durchgeführt werden.
Surrogat-Variablen können außerdem verwendet werden, um sog.
maskierte Variablen zu identifizieren, die zur Teilung
herangezogen werden würden, wenn eine andere Variable nicht
verfügbar wäre, und um die Variablen bzgl. ihrer (relativen)
Wichtigkeit für die Klassifikation zu beurteilen.
Wenn Ausreißer in der abhängigen Variablen existieren, dann
werden sie in kleinen Knoten isoliert und haben keinen weiteren
Einfluss auf den Rest des Baumes.
Bei der Beurteilung der Wichtigkeit einer Variable x wird für
diese Variable in jedem Knoten des optimalen Baums die
Surrogatteilung bestimmt, d.h. diejenige Teilung durch die
Variable x, die der optimalen Teilung in obigem Sinne am
ähnlichsten ist.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
321
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
323
8 Entscheidungsbäume
8.5 Pruning
8 Entscheidungsbäume
8.5 Stutzen (pruning) des Baumes
Hohe Komplexität!
Die Kostenkomplexität hat die folgenden Eigenschaften:
Stutzen (pruning) des Baumes
Wenn β = 0 ist, dann nimmt die Kostenkomplexität ihr
Minimum bei dem größtmöglichen Baum an.
Auf der anderen Seite, wenn β wächst und genügend groß ist
(etwa unendlich), dann hat ein Baum mit nur einem
Endknoten (der Baumwurzel) die niedrigste
Kostenkomplexität.
Große Bäume können zwei Probleme haben:
1
Obgleich sie sehr genau sind, d.h. kleine oder
Null-Wiedereinsetzungs-Fehlerraten haben, erzeugen sie große
Fehlerraten auf neuen Datensätzen, und
2
das Verstehen und Interpretieren von Bäumen mit vielen
Endknoten ist kompliziert. Große Bäume sind also komplexe
Bäume.
Wenn β fällt und sich Null annähert, werden die Bäume mit
minimaler Kostenkomplexität größer. Der Baum der richtigen
”
Größe“ mit der richtigen Komplexität“ sollte zwischen den
”
obigen Extremen liegen.
Die Komplexität eines Baumes wird gemessen durch die Anzahl
seiner Endknoten.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
8.5 Pruning
8.5 Stutzen (pruning) des Baumes
Sommersemester 2013
324
8.5 Pruning
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
8.5 Stutzen (pruning) des Baumes
Sommersemester 2013
326
8.5 Pruning
8.5 Stutzen (pruning) des Baumes
Abweichungen von der Idealsituation einer Nullfehlerrate
beinhalten den Zwiespalt zwischen Genauigkeit und Komplexität.
Der Zusammenhang zwischen Baumkomplexität und Genauigkeit
kann aufgefasst werden als Kosten-Komplexitätsmaß:
Die Suche nach dem Baum der richtigen Größe“ beginnt mit dem
”
Stutzen (pruning) der Äste des größten Baumes (Tmax ) von den
Endknoten her ( bottom up“).
”
Dabei wird schrittweise vorgegangen:
Stutze zunächst von den Endknoten her so lange wie die
Wiedereinsetzungsfehlerrate gleich bleibt (T1 ).
Definition 4 (Kosten-Komplexität)
Die Kosten-Komplexität ist definiert als:
Kosten-Komplexität =
Wiedereinsetzungs-Fehlerrate + β × Anzahl Endknoten,
wobei β (= Strafe“ (penalty) pro zusätzlichem Endknoten) als
”
Komplexitätsparameter (complexity parameter) bezeichnet
wird.
Dann suche nach der sog. schwächsten Verbindung, d.h.
nach dem Knoten, bei dem das Abschneiden des darunter
liegenden Baumes die Wiedereinsetzungsfehlerrate insofern am
wenigsten vergrößert, dass die kleinste Erhöhung des
Strafparameters“ β notwendig ist, damit die
”
Kostenkomplexität mit und ohne dem darunter liegenden
Baum gleich ist.
Schneide den Unterbaum der schwächsten Verbindung ab.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
325
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
327
8 Entscheidungsbäume
8.5 Pruning
8 Entscheidungsbäume
8.5 Stutzen (pruning) des Baumes
Wiederhole die Suche nach der schwächsten Verbindung in
dem gestutzten Baum iterativ so lange, bis nur die
Baumwurzel übrig ist. Dabei steigt der Strafparameter“
”
(complexity parameter) und die Anzahl Knoten des Baumes
fällt.
Bei der 10-fachen Kreuzvalidierung werden
zunächst maximale Bäume auf der Basis von jeweils 9/10 der
Stichprobe erzeugt,
dann werden diese Bäume mit denselben
Komplexitätsparametern (Strafparametern) zurückgestutzt,
d.h. es werden Minimalkostenbäume für die Reihe von
Strafparametern βk bestimmt, die bei der Gesamtstichprobe
ermittelt wurden,
Aus dieser Reihe von Teilbäumen bestimme dann mit Hilfe
von Kreuzvalidierung bzw. Testdatensätzen den Baum mit der
optimalen Vorhersagegenauigkeit.
Eine genauere Erklärung findet sich in Breiman et al. 1984,
S. 66–81.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
Sommersemester 2013
8.5 Pruning
8.5 Stutzen (pruning) des Baumes
auf allen diesen Bäumen wird die kreuzvalidierte Fehlerrate
bestimmt. Man beachte, dass die Anzahl Endknoten in
solchen Bäumen nicht gleich sein muss, sondern nur der
Strafparameter.
328
8.5 Pruning
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
8.5 Stutzen (pruning) des Baumes
Sommersemester 2013
330
8.5 Pruning
8.5 Stutzen (pruning) des Baumes
Der Stutzungsprozess produziert eine Reihe von ineinander
enthaltenden Unterbäumen zusammen mit zwei Arten von
Fehlerraten und Kostenkomplexitätsmaßen, basierend zum einen
auf (z.B. 10-fach) Kreuzvalidierung und zum anderen auf
Wiedereinsetzung (offensichtliche Fehlerrate).
CART identifiziert schließlich den Baum mit den minimalen Kosten
und wählt einen optimalen“ Baum innerhalb einer
”
Standardabweichung des Baumes mit minimalen
kreuzvalidierten Kosten.
Die Option der Eine-Standardabweichung-Regel kann
geändert werden.
Der Grund für eine solche Regel ist, dass es bessere“ Bäume
”
geben könnte mit kreuzvalidierten Fehlerraten in der Nähe
derjenigen des Minimalkostenbaumes.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
329
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
331
8 Entscheidungsbäume
8.5 Pruning
8 Entscheidungsbäume
8.5 Stutzen (pruning) des Baumes
8.6 Alternativen
8.6 Alternative Klassifikationsbäume
Breiman et al. (1984) schlagen vor, als optimalen Baum den
kleinsten Baum zu wählen mit einer kreuzvalidierten
Fehlerrate innerhalb einer Standardabweichung der Fehlerrate
des Minimalkostenbaums. Damit kann auch der
Minimalkostenbaum selber zum Optimalkostenbaum
werden, d.h. zum Baum der richtigen Größe“.
”
Der kreuzvalidierte Fehler wird zunächst wie die Komplexität
fallen, dann ein Minimum erreichen und schließlich wieder
steigen.
oder auch
Conditional Inference Trees, die über Splits mit Hilfe von
Unabhängigkeitstests entscheiden und damit einige
Eigenschaften von Bäumen in Spezialfällen deutlich
verbessern, siehe Hothorn et al. (2006), in R: Funktion
ctree() in Paket party.
Den optimalen Baum erhält man, indem man die eine
”
Standardabweichung Regel“ auf den Minimalkostenbaum
anwendet.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
Sommersemester 2013
332
8.6 Alternativen
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
8.6 Alternative Klassifikationsbäume
Sommersemester 2013
334
8.7 Fallstudie in R
8.7 Fallstudie: Bäume in R – rpart
Es gibt viele Varianten von Klassifikationsbäumen, die sich
insbesondere durch die Wahl des Teilungskriteriums unterscheiden.
Im Informatik Teil wurden bereits solch andere Ansätze vorgestellt.
Weitere Beispiele sind (vgl. Michie et al. (1994), S. 61/2):
Wir setzen die Fallstudie mit den Pima Indianern aus dem Kapitel
zur logistischen Regression fort.
Zum Lernen: Funktion rpart() aus Paket rpart.
>
>
>
>
>
CHAID (CHi-squared Automatic Interaction Detection)
verwendet χ2 -Tests über die Unabhängigkeit von Zeilen
(Variablen) und Spalten (Klassen) in Kontingenztafeln zur
Teilung.
library("rpart")
set.seed(20060911)
pid_rpart <- rpart(diabetes ~ ., data = pid_learn)
plot(pid_rpart, uniform = TRUE)
text(pid_rpart)
C4.5 und verwandte Algorithmen verwenden sogenannte
Entropiemaße zur Identifikation der Variablen mit der
größten Information über die Klasseneinteilung (in R über das
RWeka Paket zugänglich).
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
333
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
335
8 Entscheidungsbäume
8.7 Fallstudie in R
8 Entscheidungsbäume
8.7 Bäume in R – rpart
8.7 Fallstudie in R
8.7 Bäume in R – rpart
glucose< 130.5
|
mass< 27.35
> pid_rpart <- prune(pid_rpart, cp = 0.018)
> plot(pid_rpart, uniform = TRUE)
> text(pid_rpart)
mass< 29.95
age< 29.5
glucose< 160
glucose< 157.5
neg
glucose< 130.5
|
pressure>=61
pedigree< 0.625
neg
neg
pos
pos
mass< 27.35
glucose< 106.5
mass< 29.95
age< 42.5
mass>=36.65
pos
age< 29.5
neg
pregnant>=1.5
neg
pos
pedigree< 0.625
neg
pos
neg
pos
pos
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
pos
pos
mass>=34.4
neg
neg
glucose>=136.5
neg
neg
Sommersemester 2013
336
8.7 Fallstudie in R
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
8.7 Bäume in R – rpart
pos
Sommersemester 2013
8.7 Bäume in R – rpart
Zum Prunen:
Zum Vorhersagen:
> pid_rpart$cptable
> pred_rpart <- predict(pid_rpart, newdata = pid_test,
+
type = "class")
> mc(pred_rpart)
1
2
3
4
5
6
338
8.7 Fallstudie in R
CP nsplit rel error
xerror
xstd
0.24117647
0 1.0000000 1.0000000 0.06230853
0.09411765
1 0.7588235 0.9117647 0.06083331
0.02745098
2 0.6647059 0.7705882 0.05783822
0.01764706
5 0.5823529 0.7647059 0.05769506
0.01372549
10 0.4941176 0.8000000 0.05853104
0.01000000
14 0.4294118 0.8411765 0.05943855
$table
pred
true neg pos
neg 133 25
pos 36 58
$rate
[1] 0.2420635
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
337
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
339
8 Entscheidungsbäume
8.7 Fallstudie in R
8 Entscheidungsbäume
8.7 Bäume in R – Party mit ctree
Breiman, L., Friedman, J.H., Olshen, R.A., Stone, C.J. (1984): Classification
and regression trees. Monterey, Calif., U.S.A.: Wadsworth.
> library("party")
> pid_ctree <- ctree(diabetes ~ ., data = pid_learn)
> plot(pid_ctree, tp_args = list(beside = FALSE, reverse = TRUE,
+
id = FALSE))
Chee Jen Chang (2002): Partitioning Groups using Classification and Regression
Tree in Biomedical Research,
http://binfo.ym.edu.tw/edu/seminars/pdf/CART_YMUBC.pdf.
1
glucose
p < 0.001
≤ 130
≤ 101
11
mass
p < 0.001
8
pedigree
p = 0.017
>9
≤ 29.9
4
mass
p = 0.042
Webb, P., von Braun, J., Yohannes, Y. (1992): Famine in Ethiopia: Policy
implications of coping failure at national and household levels. Research Report
92. Washington, D.C.: International Food Policy Research Institute.
> 29.9
> 0.52
1
0.8
n = 136
1
0.8
n = 60
1
0.8
n = 48
1
0.8
n = 119
neg
n = 11
neg
0.8
neg
1
neg
n = 41
1
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0.2
0
0
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8 Entscheidungsbäume
0
pos
0.6
0.4
0.2
0
pos
0.6
0.4
0.2
0
pos
0.6
0.4
0.2
pos
0.6
0.4
0.2
pos
0.6
0.4
0
Yohannes, Y., Webb, P. (1999): Classification and Regression trees, CARTTM :
A User Manual for Identifying Indicators of Vulnerability to Famine and Chronic
Food Insecurity; Washington, D.C.: International Food Policy Research Institute
(IFPRI), http://www.ifpri.org/pubs/microcom/micro3.pdf.
> 34
neg
0.8
pos
neg
pos
1
≤ 0.52
neg
≤ 34
Michie, D., Spiegelhalter, D. J., Taylor, C. C. (1994): Machine Learning, Neural
and Statistical Classification; Ellis Horwood, New York.
> 101
3
pregnant
p = 0.033
n = 85
Hothorn, T., Hornik, K., Zeileis, A. (2006): Unbiased Recursive Partitioning: A
Conditional Inference Framework; Journal of Computational and Graphical
Statistics, 15(3), 651-674.
> 130
2
glucose
p < 0.001
≤9
0
Sommersemester 2013
340
8.7 Fallstudie in R
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
9 Zufallswälder
8.7 Bäume in R – Party mit ctree
Sommersemester 2013
342
9.1 Konstruktion von Zufallswäldern
9.1 Zufallswälder (Random Forests)
> pred_ctree <- predict(pid_ctree, newdata = pid_test)
> mc(pred_ctree)
Zufallswälder
9 Zufallswälder
$table
pred
true neg pos
neg 140 18
pos 45 49
9.1 Konstruktion von Zufallswäldern
Zufallswälder klassifizieren auf der Basis vieler
Klassifikationsbäume, vgl. Breiman (2001, 2002). Die Bildung der
dazu erforderlichen Klassifikationsbäume ist dabei zufallsabhängig.
Deshalb spricht man von Zufallswäldern.
$rate
[1] 0.25
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
8.8 Literatur
8.8 Literatur – Bäume
Sommersemester 2013
341
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
343
9 Zufallswälder
9.1 Konstruktion von Zufallswäldern
9 Zufallswälder
9.1 Konstruktion von Zufallswäldern
Ein neues Objekt wird dann von dem Zufallswald so
klassifiziert, dass es von jedem der berechneten Bäume einmal
klassifiziert wird und dann der Klasse zugeordnet wird, die die
meisten Bäume bevorzugt haben (Demokratie im Wald!).
Definition 5 (Zufallswald (Random Forest))
Ein Zufallswald (Random Forest) ist implizit definiert über seine
Konstruktion, die auf den folgenden 3 Folien beschrieben ist.
Vorteil des Zufallswalds im Gegensatz zu einem einzigen
Klassifikationsbaum:
Jede Variable, die einen Beitrag zur Klassentrennung liefert,
wird irgendwann auch bei der Klassifikation verwendet.
Zuerst muss festgelegt werden, wie viele Bäume den Wald
bilden sollen. Dabei wird die Klassifikationsgüte eines Waldes
meist umso besser, je mehr einzelne Bäume berechnet werden.
Eine große Anzahl Bäume führt nicht zu Overfitting und ist
deshalb zu bevorzugen.
Nachteil des Zufallswalds im Gegensatz zu einem einzigen
Klassifikationsbaum:
Verständlichkeit geht verloren, denn die Klassifikationsregel ist
nicht mehr einfach ablesbar.
Grundsätzlich hängt die Anzahl der Bäume aber von
verschiedenen Parametern ab, z.B. der Anzahl Merkmalen und
der Anzahl Klassen.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
9 Zufallswälder
Sommersemester 2013
344
9.1 Konstruktion von Zufallswäldern
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
346
9.2 Wichtigkeit von Variablen in Zufallswäldern
Zufallswälder
Die Bäume werden nicht aus allen zur Verfügung stehenden
Daten bestimmt, sondern es wird für jeden Baum eine
Stichprobe (mit Zurücklegen) aus den Beobachtungen
gezogen – vgl. Bootstrap, daher auch Zufallswald.
9 Zufallswälder
9.2 Wichtigkeit einzelner Variablen in Zufallswäldern
Zufallswälder eignen sich also besonders dann zur
Klassifikation, wenn es mehrere Variablen gibt, die nur einen
kleinen Beitrag zur Klassentrennung liefern.
Da hier mit vielen unterschiedlichen Stichproben gearbeitet
wird, spricht man auch von bagging (Bootstrap aggregation).
Außerdem werden für die Bestimmung der Verzweigungsregeln
nicht alle Variablen verwendet, sondern es wird zufällig eine
(vorher festgelegte) Anzahl aus allen Variablen gezogen. Nur
diese werden nach der besten Partition durchsucht.
Der Beitrag zur Klassentrennung kann durch die
Wichtigkeit einer Variablen bestimmt werden.
Eine mögliche Berechnung dieser Wichtigkeit ergibt sich aus
dem Gini-Index.
Jeder Baum sollte dabei so groß wie möglich sein (kein
Pruning). Er soll auf der entsprechenden Stichprobe mit den
gezogenen Variablen den kleinstmöglichen
Wiedereinsetzungsfehler haben.
Sommersemester 2013
Sommersemester 2013
9.2 Wichtigkeit einzelner Variablen in
Zufallswäldern
9 Zufallswälder
9.1 Konstruktion von Zufallswäldern
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
9.1 Konstruktion von Zufallswäldern
9.1 Konstruktion von Zufallswäldern
345
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
347
9.2 Wichtigkeit einzelner Variablen in
Zufallswäldern
9 Zufallswälder
9.2 Wichtigkeit von Variablen in Zufallswäldern
Um zu einem Maß für die Wichtigkeit einer bestimmten
Variablen zu kommen, werden in jedem Baum die
Out-of-Bag-Objekte auch klassifiziert, nachdem die Werte der
Variablen, deren Wichtigkeit bestimmt werden soll, bei den zu
klassifizierenden Objekten zufällig permutiert wurden. Wenn
man das für jeden Baum durchführt, erhält man eine neue
Fehlerrate. Als Maß für die Wichtigkeit einer Variable erhält
man:
Prozentualer Anstieg von der ursprünglichen
”
OBB-Fehlerrate zu der neuen Fehlerrate“.
Definition 6
In den Bäumen des Zufallswalds werden die Verzweigungen so
bestimmt, dass sie zur größtmöglichen Verminderung des
Gini-Indexes führen.
I := VG /NV
ergibt ein Maß für die Wichtigkeit einer Variablen mit
VG Summe der Verminderungen des Gini-Indexes im gesamten
Wald, die auf eine bestimmte Variable zurückzuführen sind
NV Anzahl der Verzweigungen, die diese Variable verwenden
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
9 Zufallswälder
Sommersemester 2013
Je stärker die Fehlerrate angestiegen ist, umso wichtiger ist
die entsprechende Variable für die Klassentrennung.
348
9.2 Wichtigkeit einzelner Variablen in
Zufallswäldern
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
350
9.3 Sicherheit der Klassifikation in Zufallswäldern
Zufallswälder
Alternativ lässt sich die Wichtigkeit mit einem Maß
berechnen, das auf der OUT-of-Bag-Bootstrap Fehlerrate
(OBB-Fehlerrate) beruht.
Die OBB-Fehlerrate berechnet sich, indem für jeden einzelnen
Baum die Beobachtungen, die nicht zur Bildung des Baums
verwendet wurden, mit dem jeweiligen Baum klassifiziert
werden.
Sommersemester 2013
Sommersemester 2013
9.3 Sicherheit der Klassifikation in Zufallswäldern
9 Zufallswälder
9.2 Wichtigkeit von Variablen in Zufallswäldern
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
9.2 Wichtigkeit einzelner Variablen in
Zufallswäldern
9 Zufallswälder
9.2 Wichtigkeit von Variablen in Zufallswäldern
9 Zufallswälder
9.3 Sicherheit der Klassifikation in Zufallswäldern
Um zu untersuchen, wie zuverlässig die Klassifikation eines Objekts
mit dem Zufallswald ist, kann die so genannte Margin verwendet
werden. Dazu wird zunächst einmal eine Out-of-Bag-Klassifikation
der Objekte für alle Bäume durchgeführt. Dann wird für jedes
Objekt untersucht, wie oft es den einzelnen Klassen zugeordnet
wurde. Diese Anzahl nennt man Votes (Stimmen) für die
Klassen. Die Summe der Votes für die Klassen ergibt die Anzahl
Bäume, die insgesamt das Objekt klassifiziert haben.
349
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
351
9 Zufallswälder
9.3 Sicherheit der Klassifikation in Zufallswäldern
9.3 Bemerkungen zu Zufallswäldern
Random Forests in R:
Funktion randomForest() in Paket randomForest.
Definition 7 (Margin)
Als Maß für die Sicherheit der Klassifikation eines einzelnen
Objekts verwendet man den Margin
Nw − maxi (Ni )
,
M :=
No
Eine auf Conditional Inference Trees basierende Version der
Random Forests gibt es in R mit der Funktion cforest() in
Paket party.
i = {1, ..., g }\w , mit
Es wurde erwähnt, dass die Methode der Konstruktion von
Zufallswäldern, nämlich viele Klassifikationsregeln
zusammenfassend zu gewichten, als bagging bezeichnet wird.
Diese Technik des bagging kann auch auf andere (u.U. auch
gleichzeitig auf unterschiedliche) Klassifikationsverfahren
angewandt werden.
Nw Anzahl Votes für die wahre Klasse w ,
Ni Anzahl Votes für Klasse i (ohne w !),
No Anzahl Bäume, für die das Objekt Out-of-Bag ist.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
9 Zufallswälder
Sommersemester 2013
352
9.3 Sicherheit der Klassifikation in Zufallswäldern
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
354
9.3 Bagging als Verallgemeinerung
Der Margin nimmt positive Werte an, wenn das Objekt
Out-of-Bag richtig klassifiziert wurde, und negative, wenn es
falsch klassifiziert wurde.
Der Betrag des Margin zeigt an, wie sicher die Klassifikation
ist:
Definition 8 (Bagging)
Mit bagging (Bootstrap aggregation) wird die Sammlung vieler
gleichartiger Lerner und deren gemeinsame Entscheidungsregel
bezeichnet, wobei die Lerner aus Bootstrapstichproben sowohl der
Beobachtungen als auch der Variablen eines Datensatzes generiert
werden.
Werte nahe bei 1 zeigen an, dass die meisten Bäume das
Objekt in dieselbe Klasse klassifiziert haben.
Werte nahe 0 deuten an, dass die Klassifikation sehr unsicher
ist.
Die Anzahl Votes für die wahre Klasse ist dann ähnlich hoch
wie die Anzahl Votes für die falsche Klasse mit den meisten
Votes.
Sommersemester 2013
Sommersemester 2013
9.3 Sicherheit der Klassifikation in Zufallswäldern
9 Zufallswälder
9.3 Sicherheit der Klassifikation in Zufallswäldern
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
9.3 Sicherheit der Klassifikation in Zufallswäldern
9 Zufallswälder
9.3 Sicherheit der Klassifikation in Zufallswäldern
Bemerkung:
Die Lerner sind typischerweise von recht einfacher Struktur.
Beispiel:
Random Forests als Bagging Verfahren, die einzelne Bäume
als Lerner verwenden.
353
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
355
9 Zufallswälder
9.4 Beispiel zu Zufallswäldern
9 Zufallswälder
9.4 Beispiel zu Zufallswäldern
9.4 Beispiel zu Zufallswäldern
9.4 Beispiel zu Zufallswäldern
Zufallswälder
9 Zufallswälder
9.4 Beispiel zu Zufallswäldern
Flugzeugelektronik
Aus 16 Charakteristika einer Stromreihe und 5 Charakteristika
einer Sensorreihe soll bestimmt werden, ob ein so genannter
Lichtbogen vorliegt oder nicht. Dabei werden 2 Arten von
Lichtbögen unterschieden (Serial Arc und Wet Arc). Es werden
also 3 Klassen unterschieden. Lichtbögen können zu Kabelbränden
führen, die insbesondere in Flugzeugen sehr gefährlich sind. Es
liegen 1235 Beobachtungen vor.
Wichtigkeit einzelner Variablen
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
9 Zufallswälder
Sommersemester 2013
356
9.4 Beispiel zu Zufallswäldern
9 Zufallswälder
9.4 Beispiel zu Zufallswäldern
Sommersemester 2013
358
9.4 Beispiel zu Zufallswäldern
9.4 Beispiel zu Zufallswäldern
Zunächst müssen die Parameter des Verfahrens festgelegt werden:
Die Abbildung zeigt die Wichtigkeit der einzelnen Variablen für die
sehr gute Klassentrennung. Man erkennt, dass nur sehr wenige
Variablen besonders wichtig sind, also stark zur Senkung der
Unreinheit (gemessen mit dem Gini-Index) beitragen oder bei einer
Permutation der Werte der entsprechenden Variablen die
Fehlerrate stark ansteigen lassen.
Pro Baum werden genauso viele Beobachtungen verwendet
wie insgesamt zur Verfügung stehen (1235), allerdings zufällig
mit Zurücklegen gezogen.
Pro Baum werden 3 zufällig bestimmte Variablen verwendet.
Es werden 1000 Bäume verwendet.
Daraus ergibt sich eine 246-fach kreuzvalidierte Fehlerrate von
2.59%.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
Die anderen Variablen scheinen aber trotzdem einen kleinen
Beitrag zur Klassentrennung zu liefern. Gerade in solchen Fällen
wird die Verwendung von Zufallswäldern empfohlen, da alle
Variablen an der Klassifikation beteiligt werden ohne
Überanpassung an die Daten.
357
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
359
9 Zufallswälder
9.4 Beispiel zu Zufallswäldern
9 Zufallswälder
9.4 Beispiel zu Zufallswäldern
Um zu untersuchen, wie zuverlässig die Klassifikation durch den
Zufallswald ist, kann die Margin in der folgenden Abbildung
betrachtet werden.
Wieder zum Datensatz der Pima Indianer als Fortsetzung der
Fallstudie“:
”
> library("randomForest")
> set.seed(20060911)
> pid_rf <- randomForest(diabetes ~ ., data = pid_learn,
+
mtry = 3, ntree = 100, importance = TRUE,
+
keep.forest = TRUE)
Die Margin von 75 (von den 1235) Objekten ist < 0.5.
Für alle anderen Objekte kann man die Klassifikation als
relativ sicher bezeichnen.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
9 Zufallswälder
9.5 Fallstudie in R
9.5 Fallstudie: Zufallswälder in R
Sommersemester 2013
360
9.4 Beispiel zu Zufallswäldern
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
9 Zufallswälder
9.4 Beispiel zu Zufallswäldern
Sommersemester 2013
362
9.5 Fallstudie in R
9.5 Fallstudie: Zufallswälder in R
> pred_rf <- predict(pid_rf, newdata = pid_test)
> mc(pred_rf)
$table
pred
true neg pos
neg 134 24
pos 38 56
$rate
[1] 0.2460317
Abb. 2 : Margins
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
361
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
363
9 Zufallswälder
9.5 Fallstudie in R
10 Idee des Boostings
9.5 Fallstudie: Zufallswälder in R
10.0 Idee des Boostings
> varImpPlot(pid_rf)
pid_rf
Boosting
glucose
●
mass
●
age
●
pregnant
●
pedigree
pressure
triceps
●
mass
9 Zufallswälder
●
age
●
pregnant
●
●
triceps
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
(nach Szczot, 2005)
●
pedigree
0.2 0.3 0.4 0.5 0.6
MeanDecreaseAccuracy
10 Idee des Boostings
●
pressure
●
●
0.1
glucose
●
0
10
20 30 40 50 60
MeanDecreaseGini
Sommersemester 2013
364
9.6 Literatur
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
366
10 Idee des Boostings
9.6 Literatur – Random Forests und Bagging
10.0 Idee des Boostings
Breiman, L. (2001): Random Forests; Machine Learning Journal
45(1), 5-32.
Idee
Eine wesentliche Idee des Boosting ist, statt eines starken
”
Klassifikators“, wie zum Beispiel einer LDA, schwächere
Klassifikatoren für ein Entscheidungsproblem einzusetzen, indem
man ihre Ergebnisse kombiniert. Die Idee dabei ist, dass wesentlich
leichter ein paar Faustregeln für ein Problem zu finden sind, als
eine generelle Regel, die das Problem wirklich löst.
Breiman, L. (2002): Manual on setting up, using, and understanding
random forests V3.1, http://oz.berkeley.edu/users/breiman/
Using_random_forests_V3.1.pdf.
Hothorn, T., Hornik, K., Zeileis, A. (2006): Unbiased Recursive
Partitioning: A Conditional Inference Framework; Journal of
Computational and Graphical Statistics, 15(3), 651-674.
Man beachte, dass auch bei Zufallswäldern insofern vereinfachte
Regeln kombiniert wurden, dass bei jeder Regel immer nur eine
kleine Anzahl Variablen verwendet wurde.
Michie, D., Spiegelhalter, D. J., Taylor, C. C. (1994): Machine
Learning, Neural and Statistical Classification; Ellis Horwood, New
York.
Webb, P., von Braun, J., Yohannes, Y. (1992): Famine in Ethiopia:
Policy implications of coping failure at national and household
levels. Research Report 92. Washington, D.C.: International Food
Policy Research Institute.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
365
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
367
10 Idee des Boostings
10 Idee des Boostings
10.0 Boosting: Beispiel
10.0 Boosting: Beispiel
Wir suchen einen Algorithmus, der beim Pferderennen auf den
Gewinner tippen soll. Um eine Entscheidungsregel
aufzustellen, fragen wir einen Experten. Ihm wird es schwer
fallen, eine einzige Regel aufzustellen, anhand derer man auf
den Gewinner schließen kann. Stattessen fällt es ihm leichter,
einige Faustregeln zu nennen (wie zum Beispiel Tipp auf das
”
Pferd, das in der letzten Zeit oft gewonnen hat.“ oder Tipp
”
auf das Pferd, das die besten Quoten hat.“).
Die Idee, Boosting Verfahren für Klassifikationsprobleme
einzusetzen, wurde erst 1990 von Freund veröffentlicht. Fünf Jahre
später wurde der AdaBoost Algorithmus von Shapire und Freund
vorgestellt. AdaBoost hat erstaunlich gute Ergebnisse für viele
Klassifikationsprobleme geliefert. Deswegen stehen auch AdaBoost
und seine Varianten im Fokus dieses Abschnitts.
Es ist einsichtig, dass solche Regeln allein nur ein bisschen
besser sind, als zufällig auf ein Pferd zu tippen. Wenn man
allerdings viele solche Daumenregeln kombiniert zu einer
gewichteten Mehrheitsentscheidung, so erhält man u.U. einen
mächtigen Entscheidungsalgorithmus.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
368
10 Idee des Boostings
Sommersemester 2013
370
10 Idee des Boostings
10.0 Boosting: Beispiel
10.0 Boosting: Zweiklassenfall
Die Hoffnung besteht nun darin, dass so kombinierte
Daumenregeln bessere Ergebnisse liefern werden als eine
einzige allgemeine Regel. Boosting ist ein Verfahren, das eine
effiziente Entscheidungsregel für ein Klassfikationsproblem
aufstellt, indem es mehrere einfache Regeln kombiniert. Diese
Regeln werden im Folgenden schwache Klassifikatoren (weak
learner) oder Basisklassifikatoren genannt.
Als Input ist ein Trainingdatensatz (y1 , x1 ), ..., (ym , xm ) gegeben,
wobei xi ein Datenpunkt aus dem Merkmalsraum X ist und yi das
dazugehörige Klassenlabel aus Y . Hier liegt ein
Zweiklassenproblem vor, d.h. Y = −1, +1.
Die einzelnen xi werden zunächst alle mit 1/m gleichgewichtet.
Nach jeder Trainingsrunde verändern sich diese Gewichte – gemäß
einer Verteilung Dt – zugunsten der Beispiele, die den größten
Fehler verursacht haben. Natürlich müssen sich die Gewichte Dt (i)
zu 1 aufsummieren. Aus dieser Gewichtung des Trainingssatzes
werden die Gewichte αt der einzelnen Weak-Learner bestimmt.
Diese Vorgehensweise adaptiert den Strong-Learner zugunsten der
schwierigen Beispiele im Trainingssatz.
Das Ergebnis von Boosting dagegen bezeichnen wir als
starken Klassifikator (strong learner).
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
369
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
371
10 Idee des Boostings
10 Idee des Boostings
10.0 Boosting: Zweiklassenfall
10.0 Boosting: Klassifikationsgüte
Pseudocode von ADABoost
Die Güte der Klassifikationsregel wird mit ihrem Fehler
Initialisiere Di = 1/m. Für t = 1, ..., T führe durch:
t = Pi∼Dt (ht (xi ) 6= yi )
Trainiere Basislerner gemäß der Verteilung Dt .
gemessen. Für den schwachen Lerner berechnet Adaboost den
Parameter αt , der die Wichtigkeit angibt, die dem
Basisklassifikator ht zugeschrieben wird. Ist der Fehler t < 0.5, so
ist αt > 0. Je kleiner der Fehler, desto größer wird αt .
Der Strong-Learner H ist dann die gewichtete
Mehrheitsentscheidung der schwachen Lerner ht über die Runden
t = 1, ..., T .
Man erhält ht : X → {−1, 1} mit Fehler
t = Pi∼Dt (ht (xi ) 6= yi )
t
Setze αt = 0.5 ln( 1−
t )
P
Setze Zt = i Dt (i)e −αt yi ht (xi )
Setze Dt+1 (i) =
Dt (i)e −αt yi ht (xi )
Zt
Berechne Gesamtentscheidung: H(x) =
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
PT
t=1 αt ht (x)
Sommersemester 2013
372
10 Idee des Boostings
Sommersemester 2013
374
10 Idee des Boostings
10.0 Boosting: Zweiklassenfall
10.0 Boosting: Klassifikationsgüte
In den Runden t = 1, ..., T wird jeweils ein schwacher Lerner
ausgesucht.
Die Aufgabe dieses Basis-Lerners ist es, eine Klassifikationsregel ht
gemäß der Verteilung Dt zu finden.
Der schwache Lerner unterliegt der Restriktion, dass er auf dem
Trainingssatz einen Fehler < 0.5 produzieren soll. Die schwache
Klassifikationsregel soll also immer ein bisschen besser sein als eine
zufällige Klassifikationsregel (, die ja im Durchschnitt einen Fehler
von 0.5 erzielt). Dies ist im Allg. nicht ohne Kenntnis der Daten zu
erreichen.
Natürlich kann statt mehrerer schwacher Lerner auch ein einziger,
vielleicht gar nicht so schwacher, Lerner verwendet werden, der mit
Hilfe von Boosting verbessert werden soll.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
Im AdaBoost Algorithmus ist die Klassifikationsregel ht eine
Abbildung von X nach {−1, +1}. Dies kann man verallgemeinern,
indem der schwache Lerner eine Vorhersage ht (xi ) ∈ |R trifft.
Dann ist das Vorzeichen von ht (xi ) das Klassenlabel und der Wert
gibt die Zuverlässigkeit der Vorhersage an.
Die wichtigste Eigenschaft des Adaboost Lernverfahrens ist seine
Fähigkeit, den Trainingsfehler zu minimieren. Man kann zeigen
(ohne Bew.), dass der Trainingsfehler des starken Lerners H
minimiert werden kann, wenn αt so gewählt wird, dass Zt minimal
wird. Bei binären Klassifikatoren führt das zu dem αt im
Pseudocode.
373
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
375
10 Idee des Boostings
10 Idee des Boostings
10.0 Boosting: Klassifikationsgüte
10.0 Literatur – Boosting
Shapire, Y., Freund, R.E. (1995): A decision-theoretic generalization
of on-line learning and an application to boosting. In Computational
Learning Theory: Eurocolt ’95, 23–37. Springer-Verlag
Schreibt man den Fehler des Klassifikators ht als t = 0.5 − γt , so
gibt γt an, um wie viel besser die Vorhersage des Basislerners als
der Zufall ist.
Damit kann man zeigen (ohne Beweis), dass für den
Trainingsfehler gilt: Q
P
1
−2 t γt2 .
t Zt ≤ e
m |{i : H(xi ) 6= yi }| ≤
Ist die Regel des schwachen Lerners etwas besser als eine zufällige
Regel, so ist γt > γ > 0. In diesem Fall fällt der Fehler
exponentiell.
AdaBoost adaptiert die Fehlerraten der einzelnen Basislerner. Die
Ungleichung zeigt, dass Ada-Boost tatsächlich ein Verfahren ist,
das eine Menge von schwachen Klassifikatoren, deren
Entscheidungen etwas besser als zufällig sind, zu einem starken
Klassifikator kombinieren kann.
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
Szczot, M. (2005): Boosting schwacher Lerner; Seminararbeit;
Informatik, Universität Ulm; in:
http://www.informatik.uni-ulm.de/ni/Lehre/SS05/
HauptseminarMustererkennung/ausarbeitungen/Szczot.pdf
376
Katharina Morik und Uwe Ligges: Wissensentdeckung in Datenbanken
Sommersemester 2013
377
Herunterladen