+ All Categories
Home > Documents > Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c...

Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c...

Date post: 21-May-2020
Category:
Upload: others
View: 16 times
Download: 0 times
Share this document with a friend
35
Machine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington [email protected] September 29, 2017 1 / 35
Transcript
Page 1: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Machine Learning (CSE 446):Decision Trees

Noah Smithc© 2017

University of [email protected]

September 29, 2017

1 / 35

Page 2: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Features

Let φ be a function that maps from inputs (x) to values.

I If φ maps to {0, 1}, we call it a “binary feature (function).”

I If φ maps to R, we call it a “real-valued feature (function).”

I Feature functions can map to categorical values, ordinal values, integers, andmore.

2 / 35

Page 3: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Features

Let φ be a function that maps from inputs (x) to values.

I If φ maps to {0, 1}, we call it a “binary feature (function).”

I If φ maps to R, we call it a “real-valued feature (function).”

I Feature functions can map to categorical values, ordinal values, integers, andmore.

3 / 35

Page 4: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Features

Let φ be a function that maps from inputs (x) to values.

I If φ maps to {0, 1}, we call it a “binary feature (function).”

I If φ maps to R, we call it a “real-valued feature (function).”

I Feature functions can map to categorical values, ordinal values, integers, andmore.

4 / 35

Page 5: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Features

Let φ be a function that maps from inputs (x) to values.

I If φ maps to {0, 1}, we call it a “binary feature (function).”

I If φ maps to R, we call it a “real-valued feature (function).”

I Feature functions can map to categorical values, ordinal values, integers, andmore.

5 / 35

Page 6: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

FeaturesData derived from https://archive.ics.uci.edu/ml/datasets/Auto+MPG

mpg; cylinders; displacement; horsepower; weight; acceleration; year; origin

Goal: predict whether mpg is < 23(“bad” = 0) or above (“good” =1) given other attributes (othercolumns).

201 “good” and 197 “bad”;guessing the most frequent class(good) will get 50.5% accuracy.

6 / 35

Page 7: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Contingency Table

values of y

values of feature φv1 v2 · · · vK

01

7 / 35

Page 8: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Decision Stump Example

ymaker

america europe asia0 174 14 91 75 56 70

↓ ↓ ↓0 1 1

8 / 35

Page 9: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Decision Stump Example

ymaker

america europe asia0 174 14 91 75 56 70

↓ ↓ ↓0 1 1

root197:201

maker?

europe14:56

america174:75

asia9:70

9 / 35

Page 10: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Decision Stump Example

ymaker

america europe asia0 174 14 91 75 56 70

↓ ↓ ↓0 1 1

root197:201

maker?

europe14:56

america174:75

asia9:70

Errors: 75 + 14 + 9 = 98 (about 25%)

10 / 35

Page 11: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Decision Stump Example

root197:201

cylinders?

420:184

673:11

8100:3

33:1

51:2

11 / 35

Page 12: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Decision Stump Example

root197:201

cylinders?

420:184

673:11

8100:3

33:1

51:2

Errors: 1 + 20 + 1 + 11 + 3 = 36 (about 9%)

12 / 35

Page 13: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Key Idea: Recursion

A single feature partitions the data.

For each partition, we could choose another feature and partition further.

Applying this recursively, we can construct a decision tree.

13 / 35

Page 14: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Decision Tree Example

root197:201

cylinders?

420:184

673:11

8100:3

33:1

51:2

maker?

europe10:53

america7:65

asia3:66

Error reduction compared to the cylinders stump?14 / 35

Page 15: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Decision Tree Example

root197:201

cylinders?

420:184

673:11

8100:3

33:1

51:2

maker?

europe3:1

america67:7

asia3:3

Error reduction compared to the cylinders stump?15 / 35

Page 16: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Decision Tree Example

root197:201

cylinders?

420:184

673:11

8100:3

33:1

51:2

ϕ?

10:10

073:1

Error reduction compared to the cylinders stump?16 / 35

Page 17: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Decision Tree Example

root197:201

cylinders?

420:184

673:11

8100:3

33:1

51:2

ϕ?

10:10

073:1

ϕ’?

118:15

02:169

Error reduction compared to the cylinders stump? 17 / 35

Page 18: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Decision Tree: Making a Predictionrootn:p

ϕ1?

0n0:p0

ϕ2?

ϕ3?

1n101:p101

0n100:p100

ϕ4?

1n111:p111

0n110:p110

1n1:p1

0n10:p10

1n11:p11

18 / 35

Page 19: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Decision Tree: Making a Predictionrootn:p

ϕ1?

0n0:p0

ϕ2?

ϕ3?

1n101:p101

0n100:p100

ϕ4?

1n111:p111

0n110:p110

1n1:p1

0n10:p10

1n11:p11

Data: decision tree t, input example xResult: predicted classif t has the form Leaf(y) then

return y;else

# t.φ is the feature associated with t;# t.child(v) is the subtree for value v;return DTreeTest(t.child(t.φ(x)), x));

endAlgorithm 1: DTreeTest

19 / 35

Page 20: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Decision Tree: Making a Predictionrootn:p

ϕ1?

0n0:p0

ϕ2?

ϕ3?

1n101:p101

0n100:p100

ϕ4?

1n111:p111

0n110:p110

1n1:p1

0n10:p10

1n11:p11

Equivalent boolean formulas:

(φ1 = 0)⇒ Jn0 < p0K(φ1 = 1) ∧ (φ2 = 0) ∧ (φ3 = 0)⇒ Jn100 < p100K(φ1 = 1) ∧ (φ2 = 0) ∧ (φ3 = 1)⇒ Jn101 < p101K(φ1 = 1) ∧ (φ2 = 1) ∧ (φ4 = 0)⇒ Jn110 < p110K(φ1 = 1) ∧ (φ2 = 1) ∧ (φ4 = 1)⇒ Jn111 < p111K

20 / 35

Page 21: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Tangent: How Many Formulas?

Assume we have D binary features.

21 / 35

Page 22: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Tangent: How Many Formulas?

Assume we have D binary features.

Each feature could be set to 0, or set to 1, or excluded (wildcard/don’t care).

22 / 35

Page 23: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Tangent: How Many Formulas?

Assume we have D binary features.

Each feature could be set to 0, or set to 1, or excluded (wildcard/don’t care).

3D formulas.

23 / 35

Page 24: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Growing a Decision Tree

rootn:p

24 / 35

Page 25: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Growing a Decision Tree

rootn:p

ϕ1?

0n0:p0

1n1:p1

We chose feature φ1. Note that n = n0 + n1 and p = p0 + p1.

25 / 35

Page 26: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Growing a Decision Tree

rootn:p

ϕ1?

0n0:p0

1n1:p1

We chose not to split the left partition. Why not?

26 / 35

Page 27: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Growing a Decision Tree

rootn:p

ϕ1?

0n0:p0

ϕ2?

1n1:p1

0n10:p10

1n11:p11

27 / 35

Page 28: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Growing a Decision Treerootn:p

ϕ1?

0n0:p0

ϕ2?

ϕ3?

1n101:p101

0n100:p100

1n1:p1

0n10:p10

1n11:p11

28 / 35

Page 29: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Growing a Decision Treerootn:p

ϕ1?

0n0:p0

ϕ2?

ϕ3?

1n101:p101

0n100:p100

ϕ4?

1n111:p111

0n110:p110

1n1:p1

0n10:p10

1n11:p11

29 / 35

Page 30: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Greedily Building a Decision Tree (Binary Features)

Data: data D, feature set ΦResult: decision treeif all examples in D have the same label y, or Φ is empty and y is the best guess then

return Leaf(y);else

for each feature φ in Φ dopartition D into D0 and D1 based on φ-values;let mistakes(φ) = (non-majority answers in D0) + (non-majority answers inD1);

endlet φ∗ be the feature with the smallest number of mistakes;return Node(φ∗, {0 → DTreeTrain(D0,Φ \ {φ∗}), 1 →DTreeTrain(D1,Φ \ {φ∗})});

endAlgorithm 2: DTreeTrain

30 / 35

Page 31: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Danger: Overfitting

error rate(lower is better)

depth of the decision tree

training data

unseen data

overfitting

31 / 35

Page 32: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Detecting Overfitting

If you use all of your data to train, you won’t be able to draw the red curve on thepreceding slide!

32 / 35

Page 33: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Detecting Overfitting

If you use all of your data to train, you won’t be able to draw the red curve on thepreceding slide!

Solution: hold some out. This data is called development data. More terms:

I Decision tree max depth is an example of a hyperparameter

I “I used my development data to tune the max-depth hyperparameter.”

33 / 35

Page 34: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Detecting Overfitting

If you use all of your data to train, you won’t be able to draw the red curve on thepreceding slide!

Solution: hold some out. This data is called development data. More terms:

I Decision tree max depth is an example of a hyperparameter

I “I used my development data to tune the max-depth hyperparameter.”

Better yet, hold out two subsets, one for tuning and one for a true, honest-to-sciencetest.

34 / 35

Page 35: Machine Learning (CSE 446): Decision TreesMachine Learning (CSE 446): Decision Trees Noah Smith c 2017 University of Washington nasmith@cs.washington.edu September 29, 2017 1/35 Features

Detecting Overfitting

If you use all of your data to train, you won’t be able to draw the red curve on thepreceding slide!

Solution: hold some out. This data is called development data. More terms:

I Decision tree max depth is an example of a hyperparameter

I “I used my development data to tune the max-depth hyperparameter.”

Better yet, hold out two subsets, one for tuning and one for a true, honest-to-sciencetest.

Splitting your data into training/development/test requires careful thinking. Startingpoint: randomly shuffle examples with an 80%/10%/10% split.

35 / 35


Recommended