decision tree learning - coli.uni- · pdf filedecision tree learning caroline sporleder...
TRANSCRIPT
Decision Tree Learning
Caroline Sporleder
Computational LinguisticsUniversitat des Saarlandes
Sommersemester 2011
28.04.2011
Caroline Sporleder Decision Trees
Entscheidungsbaume
Caroline Sporleder Decision Trees
Reprasentation von Regeln als Entscheidungsbaum (1)
Wann spielt Max Tennis?Decision Tree for PlayTennisOutlook
Overcast
Humidity
NormalHigh
No Yes
Wind
Strong Weak
No Yes
Yes
RainSunny
! lecture slides for textbook Machine Learning0 c Tom M4 Mitchell0 McGraw Hill0 :;;!Caroline Sporleder Decision Trees
Reprasentation von Regeln als Entscheidungsbaum (2)
Entscheidungsbaume reprasentieren Disjunktionen vonKonjunktionen von Attribut-Wert-Paaren.
Zum Beispiel:Outlook = overcast ∨ (Outlook = sunny ∧ Humidity =normal) ∨ (Outlook = rain ∧Wind = weak)
Caroline Sporleder Decision Trees
Entscheidungsbaume
Wann Entscheidungsbaume?
Instanzen konnen durch Attribut-Wert-Paare reprasentiertwerden
Targetfunktion ist diskret
disjunktive Hypothesen sind notwendig
fehlerhafte oder inkonsistente Trainingsdaten (Noise)
Caroline Sporleder Decision Trees
Lernen von Entscheidungsbaumen
Caroline Sporleder Decision Trees
Entscheidungsbaume Lernen
Was ware ein guter Entscheidungsbaum fur die folgenden Daten?Num Doz The Wo We Max da?
1 B A D S N2 A D F R N3 B D D R J4 A A F S N5 B A D R J
Caroline Sporleder Decision Trees
Einfacher Algorithmus
1 wahle ein Attribut A fur den nachsten Knoten n
2 fur jeden Wert von A erstelle einen Tochterknoten
3 teile die Trainingsbeispiele unter den Tochterknoten auf (jenachdem, welchen Wert sie fur A haben)
4 wenn positive und negative Beispiele perfekt separiert sindSTOP, ansonsten iteriere uber Tochterknoten
Welches Attribut ist das beste?
Caroline Sporleder Decision Trees
Einfacher Algorithmus
1 wahle ein Attribut A fur den nachsten Knoten n
2 fur jeden Wert von A erstelle einen Tochterknoten
3 teile die Trainingsbeispiele unter den Tochterknoten auf (jenachdem, welchen Wert sie fur A haben)
4 wenn positive und negative Beispiele perfekt separiert sindSTOP, ansonsten iteriere uber Tochterknoten
Welches Attribut ist das beste?
Caroline Sporleder Decision Trees
Welches Attribut ist das beste? (1)
Top#Down Induction of Decision TreesMain loop'() A the -best0 decision attribute for next node7) Assign A as decision attribute for node:) For each value of A= create new descendant ofnode?) Sort training examples to leaf nodesB) If training examples perfectly classiEed= ThenSTOP= Else iterate over new leaf nodesWhich attribute is bestKA1=? A2=?
ft ft
[29+,35-] [29+,35-]
[21+,5-] [8+,30-] [18+,33-] [11+,2-] ! lecture slides for textbook Machine Learning0 c Tom M4 Mitchell0 McGraw Hill0 !::;Caroline Sporleder Decision Trees
Welches Attribut ist das beste? (2)
ein Attribut mit n Werten teilt die Menge der Instanzen S ineine Partition aus n Teilmengen S1 bis Sn
ideal ist ein Partition, deren Teilmengen moglichst ‘rein’ sind,d.h. moglichst viele Instanzen einer Ausgabeklasse (z.B.,positiv oder negativ)
je ‘reiner’ die Partition, die durch ein Attribut entsteht, destofruher sollte das Attribut ausgewahlt werden
⇒ Wir brauchen ein ‘Reinheitsmaß’ fur Mengen von Instanzen
Caroline Sporleder Decision Trees
Entropie (1)Entropy
Entr
opy(S
)
1.0
0.5
0.0 0.5 1.0
p+ S is a sample of training examples p is the proportion of positive examples in S p! is the proportion of negative examples in S Entropy measures the impurity of SEntropy3S4 ! "p log p " p! log p! ! lecture slides for textbook Machine Learning0 c Tom M4 Mitchell0 McGraw Hill0 :;;<
S ist eine Menge von Trainingsinstanzen
p⊕ ist der Anteil der positiven Beispiele in S
p ist der Anteil der negativen Beispiele in S
Entropy mißt die ‘Verunreinigung’ (impurity) von S
Entropy(S) ≡ −p⊕ log2 p⊕ − p log2 p
Caroline Sporleder Decision Trees
Entropie (2)
Entropie(S) = erwartete Anzahl von Bits, diebenotigt wird um die Ausgabeklasse (⊕ oder )einer zufallig gewahlten Instanz aus S zu kodieren(mit optimaler, kurzester Kodierung)
Warum?
Informationstheorie: der Code mit optimaler Langebenotigt − log2 p Bits fur Nachrichten derWahrscheinlichkeit p.
D.h. die erwartete Anzahl von Bits, die benotigt werden um ⊕oder zufallig gewahlte Instanzen aus S zu kodieren ist:
p⊕(− log2 p⊕) + p(− log2 p)
Entropy(S) ≡ −p⊕ log2 p⊕ − p log2 p
Caroline Sporleder Decision Trees
Information Gain (IG) (1)
Gain(S , A) = erwartete Reduktion in Entropie, wenn S anhand vonA geteilt wird.
Gain(S , A) ≡ Entropy(S) −∑
v∈Values(A)
|Sv ||S |
Entropy(Sv )
Caroline Sporleder Decision Trees
Beispiel (1)
Trainingsinstanzen
Day Outlook Temperature Humidity Wind PlayTennis
D1 Sunny Hot High Weak NoD2 Sunny Hot High Strong NoD3 Overcast Hot High Weak YesD4 Rain Mild High Weak YesD5 Rain Cool Normal Weak YesD6 Rain Cool Normal Strong NoD7 Overcast Cool Normal Strong YesD8 Sunny Mild High Weak NoD9 Sunny Cool Normal Weak Yes
D10 Rain Mild Normal Weak YesD11 Sunny Mild Normal Strong YesD12 Overcast Mild High Strong YesD13 Overcast Hot Normal Weak YesD14 Rain Mild High Strong No
Caroline Sporleder Decision Trees
Beispiel (2)Selecting the Next Attribute
High Normal
Humidity
[3+,4-] [6+,1-]
Wind
Weak Strong
[6+,2-] [3+,3-]
= .940 - (7/14).985 - (7/14).592 = .151
= .940 - (8/14).811 - (6/14)1.0 = .048
Gain (S, Humidity ) Gain (S, )Wind
=0.940E =0.940E
=0.811E=0.592E=0.985E =1.00E
[9+,5-]S:[9+,5-]S:
! lecture slides for textbook Machine Learning0 c Tom M4 Mitchell0 McGraw Hill0 :;;<Caroline Sporleder Decision Trees
Hypothesenraum und induktiver Bias
Caroline Sporleder Decision Trees
Hypothesenraum
Was ist der Hypothesenraum?
Hypothesis Space Search by ID0...
+ + +
A1
+ – + –
A2
A3
+
...
+ – + –
A2
A4
–
+ – + –
A2
+ – +
... ...
–
! lecture slides for textbook Machine Learning0 c Tom M4 Mitchell0 McGraw Hill0 :;;<
Caroline Sporleder Decision Trees
Hypothesenraum
Was ist der Hypothesenraum?
Hypothesis Space Search by ID0...
+ + +
A1
+ – + –
A2
A3
+
...
+ – + –
A2
A4
–
+ – + –
A2
+ – +
... ...
–
! lecture slides for textbook Machine Learning0 c Tom M4 Mitchell0 McGraw Hill0 :;;<Caroline Sporleder Decision Trees
Suche im Hypothesenraum
Hypothesenraum ist vollstandig
der Algorithmus gibt genau eine Hypothese zuruck
Suche ist ‘greedy’
Attributauswahl ist statistisch (robust gegenuber verrauschtenDaten)
Caroline Sporleder Decision Trees
Induktiver Bias
Hypothesenraum, H, ist die Potenzmenge der Instanzen in X
Was ist der induktive Bias?
Praferenz fur kurze Baume, mit Attributen, die einen hohenIG haben, in der Nahe der Wurzel
Bias ist eine Hypothesen-Praferenz, keine Restriktion desHypothesenraums
Occam’s razor: Praferenz fur die kurzeste Hypothese, die dieDaten erklart
Caroline Sporleder Decision Trees
Induktiver Bias
Hypothesenraum, H, ist die Potenzmenge der Instanzen in X
Was ist der induktive Bias?
Praferenz fur kurze Baume, mit Attributen, die einen hohenIG haben, in der Nahe der Wurzel
Bias ist eine Hypothesen-Praferenz, keine Restriktion desHypothesenraums
Occam’s razor: Praferenz fur die kurzeste Hypothese, die dieDaten erklart
Caroline Sporleder Decision Trees
Occam’s Razor
Warum eine Praferenz fur kurze Hypothesen?
es gibt weniger kurze als lange Hypothesen→ es ist unwahrscheinlich, dass eine kurze Hypothese zufalligdie Daten erklart→ eine lange Hypothese, die die Daten erkart, kann dagegenZufall sein
Caroline Sporleder Decision Trees
Overfitting
Caroline Sporleder Decision Trees
Overfitting (1)
Was passiert, wenn ein verrauschtes Beispiel dazukommt?< Sunny , Hot, Normal , Strong , No >Decision Tree for PlayTennis
Outlook
Overcast
Humidity
NormalHigh
No Yes
Wind
Strong Weak
No Yes
Yes
RainSunny
! lecture slides for textbook Machine Learning0 c Tom M4 Mitchell0 McGraw Hill0 :;;!Caroline Sporleder Decision Trees
Overfitting (2)
Der Fehler der Hypothese h uber:
Trainingsdaten: errortrain(h)
die gesamte Distribution D der Daten: errorD(h)
Hypothese h ∈ H overfits die Trainingsdaten, wennes eine alternative Hypothese h′ ∈ H gibt, so dass
errortrain(h) < errortrain(h′)
underrorD(h) > errorD(h′)
Caroline Sporleder Decision Trees
Overfitting (3)Over$tting in Decision Tree Learning
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0 10 20 30 40 50 60 70 80 90 100
Acc
ura
cy
Size of tree (number of nodes)
On training dataOn test data
! lecture slides for textbook Machine Learning0 c Tom M4 Mitchell0 McGraw Hill0 :;;<Caroline Sporleder Decision Trees
Overfitting (4)
Wie kann Overfitting vermieden werden?
Stoppe Attributselektion, wenn der Datensplit nicht mehrsignifikant ist
Baue vollstandigen Baum, dann schneide zuruck (pruning)
Wie wird der ‘beste’ Baum ausgewahlt?
Messe die Performanz des Baums auf den Trainingsdaten
Messe die Performanz auf einem separaten Validierungsset
Minimum Description Length (MDL): minimizesize(tree) + size(misclassifications(tree))
Caroline Sporleder Decision Trees
Overfitting (4)
Wie kann Overfitting vermieden werden?
Stoppe Attributselektion, wenn der Datensplit nicht mehrsignifikant ist
Baue vollstandigen Baum, dann schneide zuruck (pruning)
Wie wird der ‘beste’ Baum ausgewahlt?
Messe die Performanz des Baums auf den Trainingsdaten
Messe die Performanz auf einem separaten Validierungsset
Minimum Description Length (MDL): minimizesize(tree) + size(misclassifications(tree))
Caroline Sporleder Decision Trees
Overfitting (4)
Wie kann Overfitting vermieden werden?
Stoppe Attributselektion, wenn der Datensplit nicht mehrsignifikant ist
Baue vollstandigen Baum, dann schneide zuruck (pruning)
Wie wird der ‘beste’ Baum ausgewahlt?
Messe die Performanz des Baums auf den Trainingsdaten
Messe die Performanz auf einem separaten Validierungsset
Minimum Description Length (MDL): minimizesize(tree) + size(misclassifications(tree))
Caroline Sporleder Decision Trees
Reduced Error Pruning
Teile die Daten in Trainings− (T ) und Validierungsset (V )
Wiederhole solange die Performanz nicht sinkt:
1 Fur jeden Knoten, n, messe den Effekt den das prunen von nauf V hatte
2 Losche den Knoten, n, der die Performanz auf V am starkstenerhoht.
Caroline Sporleder Decision Trees
Exkurs: Precision und Recall
Caroline Sporleder Decision Trees
Evaluationsmaße
Fehlertypenkorrekte Ausgabeklasse
vorhergesagte Ausgabeklasse + -
+ true positive (TP) false positive (FP)
- false negative (FN) true negative (TN)
PerformanzmaßeAccuracy = TP+TN
TP+TN+FP+FN
Precision = TPTP+FP
Recall = TPTP+FN
F-Score = 2∗Prec∗RecPrec+Rec
Caroline Sporleder Decision Trees
Zusammenfassung
Caroline Sporleder Decision Trees
Zusammenfassung
Was ihr gelernt haben solltet:
Was ist ein Entscheidungsbaum und wie konnen durchEntscheidungsbaume Regeln reprasentiert werden?
Wie konnen Entscheidungsbaume gelernt werden?
Unter welchen Umstanden ist Entscheidungsbaumlernensinnvoll (vgl. mit Candidate Elimination)?
Was ist der Hypothesenraum?
Was ist der induktive Bias?
Was ist Overfitting und wie kann es vermieden werden?
Caroline Sporleder Decision Trees