HIT3002: Introduction To Artificial Intelligence: Learning From Observations
HIT3002: Introduction To Artificial Intelligence: Learning From Observations
Outline
Learning agents Inductive learning Decision tree learning
Learning
Learning is essential for unknown environments,
i.e., when designer lacks omniscience
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
Inductive learning
Simplest form: learn a function from examples
Alternate: is there an alternative restaurant nearby? Bar: is there a comfortable bar area to wait in? Fri/Sat: is today Friday or Saturday? Hungry: are we hungry? Patrons: number of people in the restaurant (None, Some, Full) Price: price range ($, $$, $$$) Raining: is it raining outside? Reservation: have we made a reservation? Type: kind of restaurant (French, Italian, Thai, Burger)
Attribute-based representations
Examples described by attribute values (Boolean, discrete, continuous) E.g., situations where I will/won't wait for a table:
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 2n rows = 22
n
Hypothesis spaces
How many distinct decision trees with n Boolean attributes? = number of Boolean functions n = number of distinct truth tables with 2n rows = 22 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
Choosing an attribute
Idea: a good attribute splits the examples into subsets that are (ideally) "all positive" or "all negative"
10
I(
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.
remainder ( A) =
i =1
p i + ni pi ni I( , ) p + n pi + ni pi + ni
IG ( A) = I (
11
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):
IG ( Patrons ) = 1 [ 2 4 6 2 4 I (0,1) + I (1,0) + I ( , )] = .0541 bits 12 12 12 6 6 2 1 1 4 2 2 4 2 2 2 1 1 IG (Type) = 1 [ I ( , ) + I ( , ) + I ( , ) + I ( , )] = 0 bits 12 2 2 12 2 2 12 4 4 12 4 4
Patrons has the highest IG of all attributes and so is chosen by the DTL algorithm as the root
Example contd.
Decision tree learned from the 12 examples:
Substantially simpler than true tree---a more complex hypothesis isnt justified by small amount of data
12
Performance measurement
How do we know that h f ?
1. 2.
Use theorems of computational/statistical learning theory Try h on a new test set of examples
(use same distribution over example space as training set)
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
13