learning decision trees

23
Learning decision trees derived from Hwee Tou Ng, slides for Russell & Norvig, AI a Modern Approach Tom Carter, “ An introduction to information theory and Entr opy Roger Cheng, Karrie Karahalios, Brian Bailey, Noise, Information Theory, and Entropy

Upload: minty

Post on 17-Jan-2016

39 views

Category:

Documents


4 download

DESCRIPTION

Learning decision trees. derived from Hwee Tou Ng, slides for Russell & Norvig, AI a Modern Approach Tom Carter, “ An introduction to information theory and Entropy ” Roger Cheng, Karrie Karahalios, Brian Bailey, “ Noise, Information Theory, and Entropy ”. Learning decision trees. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Learning decision trees

Learning decision trees

derived from

Hwee Tou Ng, slides for Russell & Norvig, AI a Modern Approach

Tom Carter, “An introduction to information theory and Entropy”

Roger Cheng, Karrie Karahalios, Brian Bailey, “Noise, Information Theory, and Entropy”

Page 2: Learning decision trees

Learning decision trees

Problem: decide whether to wait for a table at a restaurant, based on the following attributes:

1. Alternate: is there an alternative restaurant nearby?2. Bar: is there a comfortable bar area to wait in?3. Fri/Sat: is today Friday or Saturday?4. Hungry: are we hungry?5. Patrons: number of people in the restaurant (None, Some, Full)6. Price: price range ($, $$, $$$)7. Raining: is it raining outside?8. Reservation: have we made a reservation?9. Type: kind of restaurant (French, Italian, Thai, Burger)10. WaitEstimate: estimated waiting time (0-10, 10-30, 30-60,

>60)

Page 3: Learning decision trees

Attribute-based representations

• Examples described by attribute values (Boolean, discrete, continuous)

• E.g., situations where I will/won't wait for a table:

• Classification of examples is positive (T) or negative (F)

Page 4: Learning decision trees

Decision trees• One possible representation for hypotheses• E.g., here is the “true” tree for deciding whether to wait:

Page 5: Learning decision trees

Expressiveness• Decision trees can express any function of the input attributes.• E.g., for Boolean functions, truth table row → path to leaf:

• Trivially, there is a consistent decision tree for any training set with one path to leaf for each example (unless f nondeterministic in x) but it probably won't generalize to new examples

• Prefer to find more compact decision trees

Page 6: Learning decision trees

Hypothesis spaces

How many distinct decision trees with n Boolean attributes?

= number of Boolean functions

= number of distinct truth tables with 2n rows = 22n

• E.g., with 6 Boolean attributes, there are 18,446,744,073,709,551,616 trees

Page 7: Learning decision trees

Hypothesis spacesHow many distinct decision trees with n Boolean attributes?= number of Boolean functions= number of distinct truth tables with 2n rows = 22n

• E.g., with 6 Boolean attributes, there are 18,446,744,073,709,551,616 trees

How many purely conjunctive hypotheses (e.g., Hungry Rain)?• Each attribute can be in (positive), in (negative), or out

3n distinct conjunctive hypotheses• More expressive hypothesis space

– increases chance that target function can be expressed– increases number of hypotheses consistent with training set

may get worse predictions

Page 8: Learning decision trees

Choosing an attribute• Aim: find a small tree consistent with the training

examples by looking at attributes in sequence.• Approach: (recursively) choose "most significant" attribute

as root of (sub)tree, i.e., next attribute to consider.• Idea: a good attribute splits the examples into subsets that

are (ideally) all positive or all negative

• Patrons? is a better choice than Type?

Page 9: Learning decision trees

Choosing an attribute (at a node)Cases→There are no examples left. No such combination of

attributes has been observed. Return a value calculated from the majority classification at the node’s parent.

→All the remaining examples are positive (or all negative). We are done; can answer Yes or No.

→There are examples (both positive and negative) left but no attributes. The remaining examples are identical (according to the available attributes). So these attributes are insufficient to answer the question.

→The main case: there are some positive and some negative examples, choose the best attribute to split them, e.g., Patrons?

Page 10: Learning decision trees

Decision tree learning

Page 11: Learning decision trees

Information theoryWe want an information measure I(p) to have these properties:

1.Information is a non-negative quantity: I(p) ≥ 0.

2.If an event has probability 1, we get no information from the occurrence of the event: I(1) = 0.

3.If two independent events occur (whose joint probability is the product of their individual probabilities), then the information we get from observing the events is the sum of the two informations: I(p1 p2) = I(p1) + I(p2). (This is the critical ∗property.)

4.We want our information measure to be a continuous (and, in fact, monotonic) function of the probability (slight changes in probability should result in slight changes in information).

Page 12: Learning decision trees

Information theory

The preceding implies the following:

I(pa) = a I(p)∗

From this, we can derive the nice property:

I(p) = − logb(p) = logb (1/p)

for some base b.

If b = 2, then the value is in bits.

Page 13: Learning decision trees

Example

• Assume alphabet K of{A, B, C, D, E, F, G, H}

• In general, if we want to distinguish n different symbols, we will need to use, log2n bits per symbol, i.e. 3 since there are 8 symbols.

• Can code alphabet K as:A 000 B 001 C 010 D 011 E 100 F 101 G 110 H 111

Page 14: Learning decision trees

Example

“BACADAEAFABBAAAGAH” is encoded as the string of 54 bits

• 001000010000011000100000101000001001000000000110000111

(fixed length code)

Page 15: Learning decision trees

Example• But since the letters don’t appear equally

often, can create a more efficient code.A (8), B (3), C(1), D(1), E(1), F(1), G(1), H(1)

• With this coding:A 0 B 100 C 1010 D 1011E 1100 F 1101 G 1110 H 1111

• 100010100101101100011010100100000111001111

• 42 bits, saves more than 20% in space

Page 16: Learning decision trees

Huffman Tree

A (8), B (3), C(1), D(1), E(1), F(1), G(1), H(1)

Page 17: Learning decision trees

Use information theoryto implement Choose-Attribute• Information Content (Entropy):

I(P(v1), … , P(vn)) = Σi=1 -P(vi) log2 P(vi)

where P(vi) is the probability of attribute value vi

• For a training set containing p positive examples and n negative examples:

• Note: since p/(p+n) < 1, log2 p/(p+n) < 0. Hence the negative sign.

• Basically, the number of bits needed to identify the typical (expected) element.

np

n

np

n

np

p

np

p

np

n

np

pI

22 loglog),(

Page 18: Learning decision trees

Information gain

• A chosen attribute Aj divides the training set E into subsets E1, … , Ev according to their values for Aj, where Aj has v distinct values.

• Information Gain (IG) or reduction in entropy from the attribute test:

• Choose the attribute Aj with the largest IG

v

i ii

i

ii

iii

np

n

np

pI

np

npAremainder

1

),()( j

)(),()( Aremaindernp

n

np

pIAIG

j j

Page 19: Learning decision trees

Information gain

For the training set, p = n = 6, I(6/12, 6/12) = 1 bit

Consider the attributes Patrons and Type (and others too):

Patrons has the highest IG of all attributes and so is chosen by the DTL algorithm as the root

bits 0)]4

2,

4

2(

12

4)

4

2,

4

2(

12

4)

2

1,

2

1(

12

2)

2

1,

2

1(

12

2[1)(

bits 0541.)]6

4,

6

2(

12

6)0,1(

12

4)1,0(

12

2[1)(

IIIITypeIG

IIIPatronsIG

Page 20: Learning decision trees

Example contd.

• Decision tree learned from the 12 examples:

• Substantially simpler than “true” tree---a more complex hypothesis isn’t justified by small amount of data

Page 21: Learning decision trees

Decision trees

• One possible representation for hypotheses• E.g., here is the “true” tree for deciding whether to wait:

Page 22: Learning decision trees

Performance measurement

• How do we know that h ≈ f ?1. Use theorems of computational/statistical learning theory

2. Try h on a new test set of examples(use same distribution over example space as training set)

Learning curve = % correct on test set as a function of training set size

Page 23: Learning decision trees

Summary

• Learning needed for unknown environments, lazy designers

• Learning agent = performance element + learning element

• For supervised learning, the aim is to find a simple hypothesis approximately consistent with training examples

• Decision tree learning using information gain • Learning performance = prediction accuracy

measured on test set