decision tree learning - coli.uni- · pdf filedecision tree learning caroline sporleder...

35
Decision Tree Learning Caroline Sporleder Computational Linguistics Universit¨ at des Saarlandes Sommersemester 2011 28.04.2011 Caroline Sporleder Decision Trees

Upload: vannhu

Post on 06-Mar-2018

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

Decision Tree Learning

Caroline Sporleder

Computational LinguisticsUniversitat des Saarlandes

Sommersemester 2011

28.04.2011

Caroline Sporleder Decision Trees

Page 2: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

Entscheidungsbaume

Caroline Sporleder Decision Trees

Page 3: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 4: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 5: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 6: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

Lernen von Entscheidungsbaumen

Caroline Sporleder Decision Trees

Page 7: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 8: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 9: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 10: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 11: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 12: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 13: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 14: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 15: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 16: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 17: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

Hypothesenraum und induktiver Bias

Caroline Sporleder Decision Trees

Page 18: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 19: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 20: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 21: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 22: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 23: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 24: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

Overfitting

Caroline Sporleder Decision Trees

Page 25: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 26: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 27: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 28: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 29: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 30: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 31: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 32: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

Exkurs: Precision und Recall

Caroline Sporleder Decision Trees

Page 33: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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

Page 34: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

Zusammenfassung

Caroline Sporleder Decision Trees

Page 35: Decision Tree Learning - coli.uni- · PDF fileDecision Tree Learning Caroline Sporleder Computational Linguistics Universit at des Saarlandes Sommersemester 2011 28.04.2011 Caroline

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