m18 Learning
m18 Learning
Chapter 18
Section 1 3
Outline
Learning agents
nductive learning
Decision tree learning
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
Learning agents
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
nductive learning
Simplest form: learn a function from examples
Decision trees
One possible representation for hypotheses
E.g., here is the "true tree for deciding whether to wait:
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
Hypothesis spaces
How many distinct decision trees with n Boolean attributes?
= number of Boolean functions
= number of distinct truth tables with 2
n
rows = 2
2
n
E.g., with 6 Boolean attributes, there are
18,446,744,073,709,551,616 trees
Hypothesis spaces
How many distinct decision trees with n Boolean attributes?
= number of Boolean functions
= number of distinct truth tables with 2
n
rows = 2
2
n
E.g., with 6 Boolean attributes, there are
18,446,744,073,709,551,616 trees
How many purely conjunctive hypotheses (e.g., Hungry #,n)?
Each attribute can be in (positive), in (negative), or out
3
n
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
Decision tree learning
Aim: find a small tree consistent with the training examples
dea: (recursively) choose "most significant" attribute as root of
(sub)tree
Choosing an attribute
dea: a good attribute splits the examples into subsets
that are (ideally) "all positive" or "all negative"
!,9rons? is a better choice
Using information theory
To implement Choose-Attribute in the DTL
algorithm
nformation Content (Entropy):
(P(v
1
), . , P(v
n
)) = Z
i=1
-P(v
i
) log
2
P(v
i
)
For a training set containing 5 positive examples
and n negative examples:
n p
n
n p
n
n p
p
n p
p
n p
n
n p
p
I
2 2
log log ) , (
nformation gain
A chosen attribute divides the training set into
subsets
, . ,
;
according to their values for , where
has ; distinct values.
nformation Gain (G) or reduction in entropy from the
attribute test:
Choose the attribute with the largest G
n p
n
n p
p
I
n p
n p
A remander
1
) , ( ) (
) ( ) , ( ) ( A remander
n p
n
n p
p
I A IG
nformation gain
For the training set, 5 3 6, I(6/, 6/) bit
Consider the attributes !,9rons and Ty50 (and others too):
!,9rons has the highest G 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 ) (
I I I I Type IG
I I I Patrons IG
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
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
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