Kapitel VII

Werbung
Kapitel VII
VII. Classification and Regression Trees
K Grundlagen
K Aufbau von Entscheidungsbäumen
K Pruning von Entscheidungsbäumen
K Splitting-Kriterien
K Erweiterungen
VII-1
Classification and Regression Trees
c
LETTMANN
2006
Bemerkung:
Dieses Kapitel orientiert sich an den Büchern
K „Machine Learning“ von Tom Mitchell.
http://www.cs.cmu.edu/ tom/mlbook.html
K „Classification and Regression Trees“ von Leo Breiman, Jerome H. Friedman, Richard A.
Olshen, Charles J. Stone.
Grundlagen
Definition 1 (Lernen)
A computer program is said to learn from experience E with respect to some class
of tasks T and performance measure P , if its performance at tasks in T , as
measured by P , improves with experience E.
[Mitchell 1997]
VII-2
K
Tasks: Klassifikation von Objekten
K
Experience: Sammlung von bekannten Objektklassifikationen
K
Performance Measure: Beurteilung der Güte der Klassifikation
Classification and Regression Trees
c
LETTMANN
2006
Grundlagen
Allgemeines Modell für Klassifikationsprobleme
Situation:
K
O sei ein Universum von Objekten.
K
C sei eine Menge von Klassen.
K
Eine Funktion c : O → C heißt Klassifikator für O.
K
Ein Klassifikationsproblem ist die Feststellung der Klasse c(o) ∈ C für
gegebene o ∈ O.
Problem: Die Funktion c ist meist unbekannt!
Idee:
Bestimmung eines möglichst ähnlichen c : O → C auf Basis einer Sammlung von
bekannten Objektklassifikationen.
§ Geeignete Modellierung als Voraussetzung einer Automatisierung
VII-3
Classification and Regression Trees
c
LETTMANN
2006
Bemerkungen:
K Entscheidungsprobleme sind also Klassifikationsprobleme mit nur zwei Klassen.
K Das Halteproblem für Turingmaschinen ist ein unentscheidbares Klassifikationsproblem.
Grundlagen
Charakterisierung der Objekte in O durch Attribute (Merkmale)
K
Wähle eine Menge von Attributen A = {A1, . . . , An }.
Beispiel: A = {„Farbe“, „Durchmesser in cm“}.
K
Lege die Wertebereiche der Attribute fest.
Beispiel: „Farbe“ = {rot, gelb, grün, blau, violett, orange},
„Durchmesser in cm“ = {0, 1, 2, 3, . . .}.
K
Ordne jedem Objekt o ∈ O den Vektor seiner Attributausprägungen bzgl. A
zu.
( rot , 4 )
Welches Probleme können bei der Abbildung auftreten?
VII-4
Classification and Regression Trees
c
LETTMANN
2006
Grundlagen
Charakterisierung der Objekte in O durch Attributausprägungen
Mögliche Skalen für Attribute sind
K
Nominalskalen: = und =
K
Ordinalskalen: =, = und <
K
Intervallskalen: =, =, < und feste Einheiten, also −
K
Ratioskalen (Verhältnisskalen): reelle Zahlen, alle Operationen
Attributwerte sind
K
diskret (Nominalskalen, Ordinalskalen) oder
K
stetig (Intervallskalen, Ratioskalen).
Welche Skalen können von welchen Lernverfahren bearbeitet werden?
VII-5
Classification and Regression Trees
c
LETTMANN
2006
Bemerkungen:
K Als Werte von intervall- oder ratioskalierten Attributen verwenden wir nur reelle Zahlen.
K Auch Werte ordinal- oder nominalskalierter Attribute können durch reelle Zahlen codiert
werden.
K Nominalskalierte Attribute heißen auch kategorisch, intervall- oder ratioskalierten Attribute
heißen auch numerisch.
Grundlagen
Probleme bei der Behandlung von Datenmengen
VII-6
K
Vielzahl von Datentypen:
Die verschiedenen Skalen erlauben unterschiedliche
Verarbeitungsmethoden ihrer Werte.
K
Nonstandard-Daten:
Die Vektoren zur Beschreibung der Objekte haben unterschiedliche Struktur
und/oder Länge.
K
Inhomogenität:
Unterschiedliche Zusammenhänge zwischen Variablen gelten in
verschiedenen Teilen des Instanzenraum.
K
Dimensionalität:
Die benötigte Anzahl von Datenpunkten für eine bestimmte Dichte wächst
exponentiell mit der Dimension des Datenraumes (Curse of Dimensionality).
Classification and Regression Trees
c
LETTMANN
2006
Grundlagen
Modell für Klassifikationsprobleme
Situation:
K
X sei ein Instanzenraum (Merkmalsraum).
K
C = {1, . . . , J} sei eine Menge von Klassen.
K
c : X → C sei der zu lernende (Ziel-) Klassifikator für X .
K
L = {(x1, c(x1)), . . . , (xN , c(xN ))} ⊆ X × C sei eine Menge von
Lernbeispielen.
Ein Lernalgorithmus bestimmt auf Basis von L einen Klassifikator c : X → C.
Problem: Wie gut ist c im Vergleich zu c?
§ Wie sehen geeignete Gütemaße (Performance Measures) aus?
VII-7
Classification and Regression Trees
c
LETTMANN
2006
Grundlagen
Gütemaße
c, c)
Für einen Klassifikator c : X → C und zu lernendem Konzept c bezeichnet R∗(
die „wahre Missklassifikationsrate“.
Für endliches X ist R∗(
c, c) =
|{x ∈ X |c(x) = c(x)}|
|X |
Problem: Die Funktion c ist meist unbekannt.
§ Schätzung von R∗(
c, c) durch Auswertung von c auf einer Testmenge.
Da c im Kontext immer fest gewählt ist, verwenden wir R∗(c) statt R∗(
c, c).
VII-8
Classification and Regression Trees
c
LETTMANN
2006
Grundlagen
Wahrscheinlichkeitstheoretische Fundierung
Situation:
K
P sei ein Wahrscheinlichkeitsmaß auf X × C.
K
P (A, j) für A ⊆ X und j ∈ C
sei die Wahrscheinlichkeit, dass ein zufällig gezogenes x ∈ X in die Menge
A fällt und zur Klasse j gehört.
K
L = {(x1, c(x1)), . . . , (xN , c(xN ))} ⊆ X × C sei eine Menge von aus X × C
nach der Verteilung P unabhängig voneinander gezogenen Beispielen.
K
c : X → C sei der vom Lernalgorithmus auf Basis von L bestimmte
Klassifikator.
K
(x0, c(x0)) sei unabhängig von L nach P gezogen, d.h.
c(x0) = j) = P (A, j) und (x0, c(x0)) unabhängig von L.
P (x0 ∈ A, Missklassifikationsrate: R∗(c) = P (c(x0) = c(x0) | L)
§ Wie bestimmt man R∗(c)?
VII-9
Classification and Regression Trees
c
LETTMANN
2006
Grundlagen
Resubstitutionsfehler (Trainingsfehler)
Situation:
K
Trainingsmenge L = {(x1, c(x1)), . . . , (xN , c(xN ))} ⊆ X × C.
K
c : X → C sei der vom Lernalgorithmus auf Basis von L bestimmte
Klassifikator.
Resubstitutionsfehler (Missklassifikationsrate auf der Trainingsmenge):
R(c) =
c(xi)}|
|{i ∈ {1, . . . , N }|ci (xi) = N
Problem:
K
Missklassifikationsrate wird für die Menge von Beispielen bestimmt, die
schon zum Lernen benutzt wurden.
§ Auswendiglernen führt zu minimalem Resubstitutionsfehler.
K
VII-10
Resubstitutionsfehler ist meist eine zu optimistische Schätzung.
Classification and Regression Trees
c
LETTMANN
2006
Grundlagen
Holdout–Schätzung (Missklassifikationsrate auf Testdaten)
Situation:
K
Trainingsmenge L = {(x1, c(x1)), . . . , (xN , c(xN ))} ⊆ X × C.
K
c : X → C sei auf Basis von L gelernte Klassifikator.
K
Testmenge LT = {(x1, c(x1)), . . . , (xN , c(xN ))} ⊆ X × C.
Missklassifikationsrate auf der Testmenge:
c(xi)}|
|{i ∈ {1, . . . , N }|ci (xi) = Rts(c) =
N
Meist werden die Ausgangsdaten im Verhältnis 2:1 in Trainingsmenge L und
Testmenge LT aufgeteilt.
Problem:
K Testdaten und Trainingsdaten müssen unabhängig nach der gleichen Verteilung gezogen
sein.
K Für gute Ergebnisse müssen Testdatenmenge und Trainingsdatenmenge groß sein.
VII-11
Classification and Regression Trees
c
LETTMANN
2006
Bemerkungen:
K Bei der Aufteilung in Trainings- und Testmenge muss darauf geachtet werden, dass die
Verteilung erhalten bleibt, z.B. in beiden Mengen die Objektklassen in gleicher relativer
Häufigkeit auftreten (Stratifizierung).
Grundlagen
K-fache Kreuzvalidierung (K-fold cross-validation)
Bessere Vorgehensweise bei kleinen Beispielmengen:
K
Für K ∈ N zerlege L in möglichst gleichgroße, disjunkte Teilmengen
L1 , . . . , LK .
K
Für jedes k ∈ {1, ..., K}
– wende das Lernverfahren an auf L \ Lk und bestimme ck : X → C und
– bestimme Rts(ck ) =
K
|{(x,j)∈Lk |ck (x)=j}|
.
|Lk |
Wende das Lernverfahren an auf L und bestimme c : X → C.
Missklassifikationsrate bei Kreuzvalidierung:
K
1 Rcv =
Rts (ck )
K
k=1
Grundannahme:
Für großes K ist L \ Lk fast so groß wie L und damit R∗(ck ) nahe bei R∗(c).
K = 10 ist oft eine gute Wahl (bei Entscheidungsbäumen).
VII-12
Classification and Regression Trees
c
LETTMANN
2006
Grundlagen
Leave–One–Out–Kreuzvalidierung (leave one out cross-validation)
Spezialfall der Kreuzvalidierung mit K = N :
K
Bestimme die Missklassifikationsrate bei Kreuzvalidierung für die Mengen
c(xk ))} und Tk = {(xk , c(xk ))} mit k ∈ {1, ..., N } .
Lk = L \ {(xk , Problem:
VII-13
K
Großer Rechenaufwand bei größeren Beispielmengen.
K
Einelementige Testmengen sind nicht stratifiziert (nur eine Klasse).
K
Fehlerüberschätzungen sind möglich.
Lernverfahren „Mehrheitsentscheidung auf Trainingsmenge“ liefert 100%
Missklassifikationsrate bei Beispielmenge mit zwei Klassen und gleicher
Beispielanzahl für jede Klasse.
Classification and Regression Trees
c
LETTMANN
2006
Aufbau von Entscheidungsbäumen
Klassifikationsproblem
K
X sei eine Menge von n-stelligen Vektoren: der Instanzenraum.
K
C = {c1, . . . , cJ } sei eine Menge von Klassen.
Ein Klassifikator ist eine Vorschrift zur Zuordnung von Klassen an die Instanzen,
d.h. eine Funktion c : X → C.
alternativ
Ein Klassifikator ist eine Partitionierung des Instanzenraums in disjunkte Klassen,
d.h.
Ai
X =
1≤i≤J
Setze Ai = {x ∈ X |c(x) = i} bzw. c(x) = ci für x ∈ X .
VII-14
Classification and Regression Trees
c
LETTMANN
2006
Aufbau von Entscheidungsbäumen
Entscheidungsbaum als Klassifikator
K Ein Entscheidungsbaum ist ein endlicher Baum mit mindestens einem Knoten.
K Ein Entscheidungsbaum zerlegt den Instanzenraum X in disjunkte Teilmengen.
K Jedem inneren Knoten ist ein Split-Kriterium zugeordnet, das eine Teilmenge des
Instanzenraumes in weitere disjunkte Teilmengen zerlegt.
K Der Wurzelknoten verarbeitet den gesamten Instanzenraum X .
K Jeder Nachfolger eines inneren Knotens ist für die weitere Verarbeitung genau einer der
durch den Split entstandenen Teilmengen zuständig.
K Jedem Blattknoten ist eine Klasse aus C zugeordnet.
VII-15
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Entscheidungsbaum als Klassifikator
K Ein Entscheidungsbaum ist ein endlicher Baum mit mindestens einem Knoten.
K Ein Entscheidungsbaum zerlegt den Instanzenraum X in disjunkte Teilmengen.
K Jedem inneren Knoten ist ein Split-Kriterium zugeordnet, das eine Teilmenge des
Instanzenraumes in weitere disjunkte Teilmengen zerlegt.
K Der Wurzelknoten verarbeitet den gesamten Instanzenraum X .
K Jeder Nachfolger eines inneren Knotens ist für die weitere Verarbeitung genau einer der
durch den Split entstandenen Teilmengen zuständig.
K Jedem Blattknoten ist eine Klasse aus C zugeordnet.
§ Klassifikation:
Ein Entscheidungsbaum klassifiziert ein Element x ∈ X durch eine rekursive Auswertung
beginnend an der Wurzel des Baumes:
– für einen Blattknoten wird die dem Knoten zugeordnete Klasse als Klasse für x
gewählt;
– für einen inneren Knoten wird anhand des Split-Kriteriums entschieden, zu welcher der
entstehenden Teilmengen x gehört und die Auswertung mit dem für diese Teilmenge
zuständigen Nachfolgerknoten fortgesetzt.
Wir betrachten nur noch binäre Splits, d.h. Aufteilungen in zwei Teilmengen durch ein
Split-Kriterium eines inneren Knotens.
VII-16
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Beispiel: Ein binärer Entscheidungsbaum
X = X3 X7 X8 X5 X9 X10,
A1 = X7 X10, A2 = X9 , A3 = X3 X8 X5.
Wie lassen sich die entstehenden disjunkten Teilmengen durch die Split-Kriterien
charakterisieren?
Wie groß kann ein solcher Entscheidungsbaum sein?
Welche Split-Kriterien verwendet der Algorithmus ID3?
Läßt sich ein durch ID3 erstellter Baum in einen binäreren Baum umwandeln?
VII-17
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Lernen von Entscheidungsbäumen
Situation:
K
X sei ein Instanzenraum (Merkmalsraum).
K
C = {1, . . . , J} sei eine Menge von Klassen.
K
c : X → C sei der zu lernende (Ziel-) Klassifikator für X .
K
L = {(x1, c(x1)), . . . , (xN , c(xN ))} ⊆ X × C sei eine Menge von
Lernbeispielen.
Aufgabe:
Konstruktion eines Entscheidungsbaumes T für c auf Basis von L.
VII-18
K
Welches Split-Kriterium soll gewählt werden?
K
Wie soll entschieden werden, ob ein Knoten Blattknoten ist oder weiter
durch einen Split aufgeteilt wird?
K
Welche Klasse soll einem Blattknoten zugewiesen werden?
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Auswahl von Split-Kriterien
Beispiel:
(p1, p2, p3, p4) bezeichnet die prozentuale Aufteilung einer Beispielmenge auf die
Klassen c1, c2, c3 , c4.
Welcher Split ist besser?
(0.25,0.25,0.25,0.25)
(0.25,0.25,0,0)
VII-19
Classification and Regression Trees
(0,0,0.25,0.25)
(0.25,0.25,0.25,0.25)
(0.25,0.25,0.5,0)
(0.25,0.25,0,0.5)
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Auswahl von Split-Kriterien
Beispiel:
(p1, p2, p3, p4) bezeichnet die prozentuale Aufteilung einer Beispielmenge auf die
Klassen c1, c2, c3 , c4.
Welcher Split ist besser?
(0.25,0.25,0.25,0.25)
(0.25,0.25,0,0)
(0,0,0.25,0.25)
(0.25,0.25,0.25,0.25)
(0.25,0.25,0.5,0)
(0.25,0.25,0,0.5)
Ein guter Split minimiert die „Unreinheit“ (Impurity) der entstehenden Teilmengen.
Die Impurity wird mit einer Funktion i : P(X ) → [0, 1] gemessen, die maximal wird
für Teilmengen des Instanzenraumes, in denen alle Klassen gleichverteilt
vorkommen, und minimal, wenn nur eine Klasse vorkommt.
VII-20
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Auswahl von Split-Kriterien
Für einen inneren Knoten t eines Entscheidungsbaumes teilt ein Split s die zu t
gehörende Menge A(t) ⊂ X in die Mengen AL (s, t) und AR (s, t) auf und pL(s, t)
bzw. pR(s, t) bezeichnet die Anteile von A(t) in AL(s, t) bzw. AR (s, t).
Die Güte des Splits s wird definiert als die Abnahme der Impurity:
∆i(s, t) = i(A(t)) − pL (s, t) · i(AL(s, t)) − pR(s, t) · i(AR (s, t))
VII-21
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Auswahl von Split-Kriterien
Für einen inneren Knoten t eines Entscheidungsbaumes teilt ein Split s die zu t
gehörende Menge A(t) ⊂ X in die Mengen AL (s, t) und AR (s, t) auf und pL(s, t)
bzw. pR(s, t) bezeichnet die Anteile von A(t) in AL(s, t) bzw. AR (s, t).
Die Güte des Splits s wird definiert als die Abnahme der Impurity:
∆i(s, t) = i(A(t)) − pL (s, t) · i(AL(s, t)) − pR(s, t) · i(AR (s, t))
Für jeden Knoten t des Entscheidungsbaumes wird eine Kandidatenmenge St von
möglichen binären Splits für diesen Knoten generiert.
VII-22
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Auswahl von Split-Kriterien
Für einen inneren Knoten t eines Entscheidungsbaumes teilt ein Split s die zu t
gehörende Menge A(t) ⊂ X in die Mengen AL (s, t) und AR (s, t) auf und pL(s, t)
bzw. pR(s, t) bezeichnet die Anteile von A(t) in AL(s, t) bzw. AR (s, t).
Die Güte des Splits s wird definiert als die Abnahme der Impurity:
∆i(s, t) = i(A(t)) − pL (s, t) · i(AL(s, t)) − pR(s, t) · i(AR (s, t))
Für jeden Knoten t des Entscheidungsbaumes wird eine Kandidatenmenge St von
möglichen binären Splits für diesen Knoten generiert.
§ Man wählt ein Split-Kriterium mit maximaler Güte, also eines, das die
Impurity am stärksten reduziert.
VII-23
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Auswahl von Split-Kriterien
Für einen inneren Knoten t eines Entscheidungsbaumes teilt ein Split s die zu t
gehörende Menge A(t) ⊂ X in die Mengen AL (s, t) und AR (s, t) auf und pL(s, t)
bzw. pR(s, t) bezeichnet die Anteile von A(t) in AL(s, t) bzw. AR (s, t).
Die Güte des Splits s wird definiert als die Abnahme der Impurity:
∆i(s, t) = i(A(t)) − pL (s, t) · i(AL(s, t)) − pR(s, t) · i(AR (s, t))
Für jeden Knoten t des Entscheidungsbaumes wird eine Kandidatenmenge St von
möglichen binären Splits für diesen Knoten generiert.
§ Man wählt ein Split-Kriterium mit maximaler Güte, also eines, das die
Impurity am stärksten reduziert.
Man kann Splits als Fragen „Ist x ∈ A ?“ für ein A ⊂ X auffassen. Durch die Frage
werden die Elemente von A(t) in AL für Antwort „ja“ und AR für Antwort „nein“
aufgeteilt.
VII-24
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Schätzung von pL(s, t) und pR (s, t)
K Bestimmung der a-priori-Wahrscheinlichkeiten (π(1), . . . , π(J)) der Klassen in C durch
Auswertung von L, also π(i) = Ni/N (Nj die Anzahl der Beipiele aus Klasse j in L) oder
durch Vorgabe von Analysten.
K Für Knoten t sei N (t) die Anzahl der Beispiele von L in t und Nj (t) die Anzahl der Beipiele
von L aus Klasse j in t.
– π(j) schätzt die Wahrscheinlichkeit ein Beispiel aus Klasse j zu klassifizieren.
– p(j, t) = π(j)Nj (t)/Nj schätzt die Wahrscheinlichkeit, dass ein Beipiel aus Klasse j in
Knoten t fällt.
– p(t) =
J
j=1
p(j, t) schätzt die Wahrscheinlichkeit, dass ein Beispiel in Knoten j fällt.
– p(j|t) = p(j, t)/p(t) schätzt die Wahrscheinlichkeit, dass ein Beispiel, das in Knoten t
fällt, zur Klasse j gehört.
Es gilt dann
J
j=1
p(j|t) = 1.
K Für π(i) = Ni /N gilt p(j|t) = Nj (t)/N (t) (relativer Anteil der Klasse j Beispiele in t).
K Setze pL (s, t) = p(tL )/p(t) und pR (s, t) = p(tR )/p(t).
VII-25
Classification and Regression Trees
c
LETTMANN
2006
Bemerkung:
Schätzung von pL(s, t) und pR (s, t) im Fall (π(1), . . . , π(J)) = (N1/N, . . . , NJ /N )
K p(j, t) = π(j)Nj (t)/Nj = Nj (t)/N
K p(t) =
J
j=1
p(j, t) = N (t)/N
K p(j|t) = p(j, t)/p(t) = Nj (t)/N (t)
K pL (s, t) = p(tL )/p(t) = N (tL )/N (t) und pR (s, t) = p(tR )/p(t) = N (tR )/N (t)
Konstruktion von Entscheidungsbäumen
Standard-Split-Kriterien
Jedes Element x ∈ X ist ein M -dimensionaler Merkmalsvektor x = (x1, . . . , xM )
mit Merkmalen ordinalen oder kategorischen Typs.
VII-26
K
Jeder Split hängt nur vom Wert eines einzelnen Merkmals aus x1, . . . , xM
ab.
K
Für ordinale Merkmale xm sind alle Fragen der Art „Gilt xm ≤ c ?“ mit
c ∈] − ∞, ∞[ erlaubt.
K
Für kategorische Merkmale xm über einem Grundbereich B sind alle
Fragen „Gilt xm ∈ B ?“ mit B ⊂ B erlaubt.
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Standard-Split-Kriterien
Jedes Element x ∈ X ist ein M -dimensionaler Merkmalsvektor x = (x1, . . . , xM )
mit Merkmalen ordinalen oder kategorischen Typs.
K
Jeder Split hängt nur vom Wert eines einzelnen Merkmals aus x1, . . . , xM
ab.
K
Für ordinale Merkmale xm sind alle Fragen der Art „Gilt xm ≤ c ?“ mit
c ∈] − ∞, ∞[ erlaubt.
K
Für kategorische Merkmale xm über einem Grundbereich B sind alle
Fragen „Gilt xm ∈ B ?“ mit B ⊂ B erlaubt.
Für eine Beispielsammlung L = {(x1, c(x1)), . . . , (xN , c(xN ))} gibt es nur endlich
viele unterschiedliche Splits (bzgl. Güte):
K
K
VII-27
Für ordinale Merkmale x.,m wähle c als Mitte zwischen zwei in L
vorkommenden Werten für x.,m .
Für kategorische Merkmale x.,m wähle B mit |B | ≤ |B \ B |.
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Güte von Split-Kriterien φ(s, t)
Für J ∈ N ist eine Impurity-Funktion φ eine Funktion, die
J
K für alle Tupel (p1 , . . . , pJ ) mit pj ≥ 0 und
j=1 pj = 1 definiert ist,
VII-28
K
genau im Punkt (1/J, . . . , 1/J) maximal ist,
K
genau in den Punkten (1, 0, . . . , 0), . . . , (0, . . . , 0, 1) minimal ist und
K
symmetrisch ist in allen Argumenten p1, . . . , pJ .
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Güte von Split-Kriterien φ(s, t)
Für J ∈ N ist eine Impurity-Funktion φ eine Funktion, die
J
K für alle Tupel (p1 , . . . , pJ ) mit pj ≥ 0 und
j=1 pj = 1 definiert ist,
K
genau im Punkt (1/J, . . . , 1/J) maximal ist,
K
genau in den Punkten (1, 0, . . . , 0), . . . , (0, . . . , 0, 1) minimal ist und
K
symmetrisch ist in allen Argumenten p1, . . . , pJ .
Mit einer Impurity-Funktion φ wird die Unreinheit (Impurity) eines Knotens t
definiert durch
i(t) = φ(p(1|t), . . . , p(J|t))
VII-29
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Güte von Split-Kriterien φ(s, t)
Für J ∈ N ist eine Impurity-Funktion φ eine Funktion, die
J
K für alle Tupel (p1 , . . . , pJ ) mit pj ≥ 0 und
j=1 pj = 1 definiert ist,
K
genau im Punkt (1/J, . . . , 1/J) maximal ist,
K
genau in den Punkten (1, 0, . . . , 0), . . . , (0, . . . , 0, 1) minimal ist und
K
symmetrisch ist in allen Argumenten p1, . . . , pJ .
Mit einer Impurity-Funktion φ wird die Unreinheit (Impurity) eines Knotens t
definiert durch
i(t) = φ(p(1|t), . . . , p(J|t))
Für einen Split s eines Knotens t in tL und tR wird die Güte eines Splits definiert
durch
φ(s, t) = ∆i(s, t) = i(t) − pL(s, t) · i(tL) − pR (s, t) · i(tR)
mit pL(s, t) = p(tL)/p(t) und pR(s, t) = p(tR)/p(t).
VII-30
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Beispiele für Impurity-Funktionen:
Entropie-bezogen
i(t) = −
p(j|t) log p(j|t)
j∈{1,...,J}
Gini-Index
i(t) =
p(i|t) · p(j|t)
i=j
i,j∈{1,...,J}
VII-31
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Impurity von Entscheidungsbäumen
Sei T ein binärer Baum, der durch iteriertes Splitting erzeugt wurde und T die
Menge der Blattknoten.
Die Baum-Impurity I(T ) für T wir definiert durch
I(t) =
i(t) · p(t)
I(T ) =
t∈T
VII-32
Classification and Regression Trees
t∈T
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Impurity von Entscheidungsbäumen
Sei T ein binärer Baum, der durch iteriertes Splitting erzeugt wurde und T die
Menge der Blattknoten.
Die Baum-Impurity I(T ) für T wir definiert durch
I(t) =
i(t) · p(t)
I(T ) =
t∈T
t∈T
Für einen Split s eines Knotens t in tL und tR wird die Abnahme der
Baum-Impurity definiert durch
∆I(s, t) = I(t) − I(tL) − I(tR ) = ∆i(s, t) · p(t)
VII-33
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Impurity von Entscheidungsbäumen
Sei T ein binärer Baum, der durch iteriertes Splitting erzeugt wurde und T die
Menge der Blattknoten.
Die Baum-Impurity I(T ) für T wir definiert durch
I(t) =
i(t) · p(t)
I(T ) =
t∈T
t∈T
Für einen Split s eines Knotens t in tL und tR wird die Abnahme der
Baum-Impurity definiert durch
∆I(s, t) = I(t) − I(tL) − I(tR ) = ∆i(s, t) · p(t)
§ Wähle für einen Blattknoten t einen Split s∗, der ∆I(s, t) maximiert.
(s∗ maximiert auch ∆i(s, t).)
VII-34
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Abbruch des Splitting
Einfaches Kriterium:
Lege eine positive Grenze β fest (β > 0).
Ein Knoten t wird nicht weiter zerlegt, wenn gilt
max ∆I(s, t) < β
s∈S
VII-35
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Klassenzuweisung für Blattknoten
Einem Blattknoten t ∈ T für einen binären Entscheidungsbaum T weisen wir die
Klasse j ∗(t) zu mit
j ∗(t) = argmax p(j|t)
j∈{1,...,J}
VII-36
Classification and Regression Trees
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Klassenzuweisung für Blattknoten
Einem Blattknoten t ∈ T für einen binären Entscheidungsbaum T weisen wir die
Klasse j ∗(t) zu mit
j ∗(t) = argmax p(j|t)
j∈{1,...,J}
Die Wahrscheinlichkeit der Missklassifikation eines Beispiels im Blattknoten t wird
geschätzt durch
r(t) = 1 − max p(j|t)
j∈{1,...,J}
Der Resubstitutionsfehler für den Entscheidungsbaum T ist
R(T ) =
R(t) =
r(t) · p(t)
t∈T
VII-37
Classification and Regression Trees
t∈T
c
LETTMANN
2006
Konstruktion von Entscheidungsbäumen
Berücksichtigung von Missklassifikationskosten
Problem: Missklassifikation verursacht unterschiedlich hohe Kosten. Beispiel?
≥ 0 falls i = j
§ Kostenmaß für Missklassifikation: cost(i|j)
= 0 sonst
Einem Blattknoten t ∈ T für einen binären Entscheidungsbaum T weisen wir die
Klasse j ∗(t) zu mit
∗
j (t) = argmin
cost(i|j) · p(j|t)
i∈{1,...,J}
j∈{1,...,J}
Die Missklassifikationskosten in einem Blattknoten t werden durch Resubstitution
geschätzt auf
cost(i|j) · p(j|t)
r(t) = min
i∈{1,...,J}
j∈{1,...,J}
Die durch Resubstitution geschätzten Missklassifikationskosten für den
Entscheidungsbaum T sind
R(t) =
r(t) · p(t)
R(T ) =
t∈T
VII-38
Classification and Regression Trees
t∈T
c
LETTMANN
2006
Herunterladen