35
Learning From Observations Inductive Learning Decision Trees Ensembles

Learning From Observations Inductive Learning Decision Trees Ensembles

Embed Size (px)

DESCRIPTION

Learning Learning is essential for unknown environments, –i.e., when designer lacks omniscience Learning is useful as a system construction method, –i.e., expose the agent to reality rather than trying to write it down Learning modifies the agent's decision mechanisms to improve performance

Citation preview

Page 1: Learning From Observations Inductive Learning Decision Trees Ensembles

Learning From Observations

Inductive LearningDecision Trees

Ensembles

Page 2: Learning From Observations Inductive Learning Decision Trees Ensembles

Outline

• Learning agents• Inductive learning• Decision tree learning

Page 3: Learning From Observations Inductive Learning Decision Trees Ensembles

Learning

• Learning is essential for unknown environments,– i.e., when designer lacks omniscience

• Learning is useful as a system construction method,– i.e., expose the agent to reality rather than trying to

write it down

• Learning modifies the agent's decision mechanisms to improve performance

Page 4: Learning From Observations Inductive Learning Decision Trees Ensembles

Learning agents

Page 5: Learning From Observations Inductive Learning Decision Trees Ensembles

Learning element• Design of a learning element is affected by

– Which components of the performance element are to be learned

– What feedback is available to learn these components– What representation is used for the components

• Type of feedback:– Supervised learning: correct answers for each

example– Unsupervised learning: correct answers not given– Reinforcement learning: occasional rewards

Page 6: Learning From Observations Inductive Learning Decision Trees Ensembles

Inductive learning• Simplest form: learn a function from examples

f is the target function

An example is a pair (x, f(x))

Problem: find a hypothesis hsuch that h ≈ fgiven a training set of examples

(This is a highly simplified model of real learning:– Ignores prior knowledge– Assumes examples are given)

Page 7: Learning From Observations Inductive Learning Decision Trees Ensembles

Inductive learning method• Construct/adjust h to agree with f on training set• (h is consistent if it agrees with f on all examples)• E.g., curve fitting:

Page 8: Learning From Observations Inductive Learning Decision Trees Ensembles

Inductive learning method• Construct/adjust h to agree with f on training set• (h is consistent if it agrees with f on all examples)• E.g., curve fitting:

Page 9: Learning From Observations Inductive Learning Decision Trees Ensembles

Inductive learning method• Construct/adjust h to agree with f on training set• (h is consistent if it agrees with f on all examples)• E.g., curve fitting:

Page 10: Learning From Observations Inductive Learning Decision Trees Ensembles

Inductive learning method• Construct/adjust h to agree with f on training set• (h is consistent if it agrees with f on all examples)• E.g., curve fitting:

Page 11: Learning From Observations Inductive Learning Decision Trees Ensembles

Inductive learning method• Construct/adjust h to agree with f on training set• (h is consistent if it agrees with f on all examples)• E.g., curve fitting:

Page 12: Learning From Observations Inductive Learning Decision Trees Ensembles

Inductive learning method• Construct/adjust h to agree with f on training set• (h is consistent if it agrees with f on all examples)• E.g., curve fitting:

• Ockham’s razor: prefer the simplest hypothesis consistent with data

Page 13: Learning From Observations Inductive Learning Decision Trees Ensembles

Learning decision treesProblem: 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 14: Learning From Observations Inductive Learning Decision Trees Ensembles

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 15: Learning From Observations Inductive Learning Decision Trees Ensembles

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

Page 16: Learning From Observations Inductive Learning Decision Trees Ensembles

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 17: Learning From Observations Inductive Learning Decision Trees Ensembles

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

Page 18: Learning From Observations Inductive Learning Decision Trees Ensembles

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 19: Learning From Observations Inductive Learning Decision Trees Ensembles

Decision tree learning• Aim: find a small tree consistent with the training examples• Idea: (recursively) choose "most significant" attribute as root of

(sub)tree

Page 20: Learning From Observations Inductive Learning Decision Trees Ensembles

Choosing an attribute• Idea: a good attribute splits the examples into subsets

that are (ideally) "all positive" or "all negative"

• Patrons? is a better choice

Page 21: Learning From Observations Inductive Learning Decision Trees Ensembles

Using information theory

• To implement Choose-Attribute in the DTL algorithm

• Information Content (Entropy):I(P(v1), … , P(vn)) = Σi=1 -P(vi) log2 P(vi)

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

npn

npn

npp

npp

npn

nppI

22 loglog),(

Page 22: Learning From Observations Inductive Learning Decision Trees Ensembles

Information gain• A chosen attribute A divides the training set E into

subsets E1, … , Ev according to their values for A, where A has v distinct values.

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

• Choose the attribute with the largest IG

v

i ii

i

ii

iii

npn

nppI

npnpAremainder

1

),()(

)(),()( Aremaindernpn

nppIAIG

Page 23: Learning From Observations Inductive Learning Decision Trees Ensembles

Information gainFor 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)]42,

42(

124)

42,

42(

124)

21,

21(

122)

21,

21(

122[1)(

bits 0541.)]64,

62(

126)0,1(

124)1,0(

122[1)(

IIIITypeIG

IIIPatronsIG

Page 24: Learning From Observations Inductive Learning Decision Trees Ensembles

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 25: Learning From Observations Inductive Learning Decision Trees Ensembles

Performance measurement• How do we know that h ≈ f ?

1. Use theorems of computational/statistical learning theory2. 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 26: Learning From Observations Inductive Learning Decision Trees Ensembles
Page 27: Learning From Observations Inductive Learning Decision Trees Ensembles
Page 28: Learning From Observations Inductive Learning Decision Trees Ensembles
Page 29: Learning From Observations Inductive Learning Decision Trees Ensembles
Page 30: Learning From Observations Inductive Learning Decision Trees Ensembles
Page 31: Learning From Observations Inductive Learning Decision Trees Ensembles
Page 32: Learning From Observations Inductive Learning Decision Trees Ensembles

Ensembles of Classifiers

• Idea: instead of training one classifier (decision tree)

• Train k classifiers and let them vote– Only helps if classifiers disagree with each

other– Trained on different data– Use different learning methods

• Amazing fact: can help a lot!

Page 33: Learning From Observations Inductive Learning Decision Trees Ensembles

How voting helps• Assume errors are independent• Assume majority vote• Probability majority is wrong = area under bionomial dist

• If individual area is 0.3• Area under curve for 11 wrong is 0.026• Order of magnitude improvement!

Prob 0.2

0.1

Number of classifiers in error

Page 34: Learning From Observations Inductive Learning Decision Trees Ensembles

Constructing Ensembles

• Bagging– Run classifier k times on m examples drawn randomly

with replacement from the original set of n examples• Cross-validated committees

– Divide examples into k disjoint sets– Train on k sets corresponding to original minus 1/k-th

• Boosting– Maintain a probability distribution over set of training

examples– On each iteration, use distribution to sample– Use error rate to modify distribution

• Create harder and harder learning problems

Page 35: Learning From Observations Inductive Learning Decision Trees Ensembles

Summary• Inductive learning• Decision trees

– Representation– Tree growth– Heuristics– Overfitting and pruning– Scaling up

• Ensembles