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