Chapter 2 - Concept learning Learning from examples Concept Learning General-to specific ordering of hypotheses Version spaces and candidate elimination algorithm Inductive bias Simple approach Assumption: no noise Illustrates key concepts
Concept learning task Given examples, learn a general concept (category) subset of some general domain E.g., birds boolean-valued function over the domain (characteristic function) a function defined over all animals whose value is true for birds and false for every other animal Definition infer a boolean-valued function from samples of it (input, output)
Concept Learning The problem is to learn a function mapping examples into two classes: positive and negative. We are given a database of examples already classified as positive or negative. Concept learning: the process of inducing a function mapping input examples into a Boolean output. Examples: Classifying objects in astronomical images as stars or galaxies Classifying animals as vertebrates or invertebrates
Training Examples for Enjoy Sport Concept: ”days on which my friend Aldo enjoys his favourite water sports” Task: predict the value of ”Enjoy Sport” for an arbitrary day based on the values of the other attributes attributes Sky Temp Humid Wind Water Fore-cast Enjoy Sport Sunny Rainy Warm Cold Normal High Strong Cool Same Change Yes No instance
Representing Hypothesis Hypothesis h is a conjunction of constraints on attributes Each constraint can be: A specific value : e.g. Water=Warm A don’t care value : e.g. Water=? No value allowed (null hypothesis): e.g. Water=Ø Example: hypothesis h Sky Temp Humid Wind Water Forecast < Sunny ? ? Strong ? Same > Instance x satisfies hypothesis h all the constraints in h hold for x define h(x) = 1
Prototypical Concept Learning Task Given: Instances X : Possible days decribed by the attributes Sky, Temp, Humidity, Wind, Water, Forecast Target function c: EnjoySport X {0,1} Hypotheses H: conjunction of literals e.g. < Sunny ? ? Strong ? Same > Training examples D : positive and negative examples of the target function: <x1,c(x1)>,…, <xn,c(xn)> Determine: A hypothesis h in H such that h(x)=c(x) for all x in D.
Inductive Learning Hypothesis All we know of c are the examples Best we can do is to produce a h consistent with example data Any hypothesis found to approximate the target function well over the training examples, will also approximate the target function well over the unobserved examples. fundamental assumption in inductive learning
Concept learning as search H = search space find h best fitting to D Selection of representation defines search space size of space (syntactic/semantic) Efficient search in very large (or infinite) spaces for best h
# of Instances, Concepts, Hypo.s Sky: Sunny, Cloudy, Rainy AirTemp: Warm, Cold Humidity: Normal, High Wind: Strong, Weak Water: Warm, Cold Forecast: Same, Change #distinct instances : 3*2*2*2*2*2 = 96 #distinct concepts : 296 #syntactically distinct hypotheses : 5*4*4*4*4*4=5120 #semantically distinct hypotheses : 1+4*3*3*3*3*3=973
General-to-Specific order Useful structure organize the search process exists for any concept learning task search possible without enumerating all members of H (may be infinite) A concept hj is more general than or equal to hk (written hj hk) if and only if x X : [ (hk(x) = 1) (hj(x) = 1)]
General to Specific Order Consider two hypotheses: h1=< Sunny,?,?,Strong,?,?> h2=< Sunny,?,?,?,?,?> Set of instances covered by h1 and h2: h2 imposes fewer constraints than h1 and therefore classifies more instances x as positive. h2 is more general than h1 or h2 h1 The relation imposes a partial order over the hypothesis space H that is independent of c! utilized by many concept learning methods.
Insta., Hypo. and ”more general” Instances x2 x1 Hypotheses h2 h3 h1 h2 h1 h2 h3 specific general x1=< Sunny,Warm,High,Strong,Cool,Same> h1=< Sunny,?,?,Strong,?,?> x2=< Sunny,Warm,High,Light,Warm,Same> h2=< Sunny,?,?,?,?,?> h3=< Sunny,?,?,?,Cool,?>
Find-S algorithm Example of using the ordering begin: the most specific member of H generalize it whenever h(x) = 0 and c(x) = 1 (examples) Ignores negative examples no problem assuming that H contains a description of c and D has no noise
Find-S Algorithm Initialize h to the most specific hypothesis in H For each positive training instance x For each attribute constraint ai in h If the constraint ai in h is satisfied by x then do nothing else replace ai in h by the next more general constraint that is satisfied by x Output hypothesis h
Hypoth. Space Search by Find-S Instances Hypotheses h1 x1=<Sunny,Warm,Normal,Strong,Warm,Same>+ x1 h1=< Sunny,Warm,Normal, Strong,Warm,Same> specific x3=<Rainy,Cold,High,Strong,Warm,Change> - x3 h0 h0=< Ø, Ø, Ø, Ø, Ø, Ø,> h2,3 x2=<Sunny,Warm,High,Strong,Warm,Same>+ x2 h2,3=< Sunny,Warm,?, Strong,Warm,Same> h4 x4=<Sunny,Warm,High,Strong,Cool,Change> + x4 h4=< Sunny,Warm,?, Strong,?,?> general
Find-S – Black board example Size = large/small, Color = red/white/blue and Shape = cube/brick/round Examples Positive: obj(small, red, round) Positive: obj(small, white, round) Positive: obj(large, white, round) What does Find-S find? What if we add the following negative example ? Negative: obj(large, blue, cube) Negative: obj(large, blue, round)
Properties of Find-S For Hypothesis space described by conjunctions of constraints, Find-S will output the most specific hypothesis within H that is consistent with the positve training examples The output hypothesis will also be consistent with the negative examples, provided the target concept is contained in H.
Complaints about Find-S Can’t tell if the learner has converged to the target concept, in the sense that it is unable to determine whether it has found the only hypothesis consistent with the training examples. Can’t tell when training data is inconsistent, as it ignores negative training examples. Why prefer the most specific hypothesis? ‘most specific’ is not always unique. Find-S cannot backtrack!
Version Space and Cand. Elimi. Another learning approach outputs a description of all members of H that are consistent with D possible without enumerating members of H (ordering!) suffers from noise useful framework for introducing many fundamental issues of ML
Version Spaces A hypothesis h is consistent with a set of training examples D of target concept if and only if h(x)=c(x) for each training example <x,c(x)> in D. Consistent(h,D) := <x,c(x)>D h(x)=c(x) The version space, VSH,D , with respect to hypothesis space H, and training set D, is the subset of all hypotheses in H consistent with all training examples: VSH,D = {h H | Consistent(h,D) }
Elimination algorithms List-then-Eliminate list every hypothesis in H at each example, remove inconsistent hypo output the list of surviving hypotheses something to start with ineffective Candidate elimination same principle more compact representation maintain most specific and most general elements of VS(H,D)
Representing Version Spaces The general boundary, G, of version space VSH,D is the set of maximally general members. The specific boundary, S, of version space VSH,D is the set of maximally specific members. Every member of the version space lies between these boundaries VSH,D = {h H| ( s S) ( g G) (g h s) where x y means x is more general or equal than y
Example Version Space S: G: {<Sunny,Warm,?,Strong,?,?>} <Sunny,?,?,Strong,?,?> <Sunny,Warm,?,?,?,?> <?,Warm,?,Strong,?,?> G: {<Sunny,?,?,?,?,?>, <?,Warm,?,?,?>, } x1 = <Sunny Warm Normal Strong Warm Same> + x2 = <Sunny Warm High Strong Warm Same> + x3 = <Rainy Cold High Strong Warm Change> - x4 = <Sunny Warm High Strong Cool Change> +
Representation theorem For any set of instances X set H of boolean-valued hypotheses over X target concept c: X -> {0,1} set of pairs <x,c(x)> D VS(H,D) = {h | g >= h >= s} where g & s range over G & S
Candidate Elimination Algorithm G maximally general hypotheses in H S maximally specific hypotheses in H For each training example d=<x,c(x)> If d is a positive example Remove from G any hypothesis that is inconsistent with d For each hypothesis s in S that is not consistent with d remove s from S. Add to S all minimal generalizations h of s such that h consistent with d Some member of G is more general than h Remove from S any hypothesis that is more general than another hypothesis in S
Candidate Elimination Algorithm If d is a negative example Remove from S any hypothesis that is inconsistent with d For each hypothesis g in G that is not consistent with d remove g from G. Add to G all minimal specializations h of g such that h consistent with d Some member of S is more specific than h Remove from G any hypothesis that is less general than another hypothesis in G
Candidate Elimination Algorithm
Example Candidate Elimination x1 = <Sunny Warm Normal Strong Warm Same> + {<, , , , , >} S: {<?, ?, ?, ?, ?, ?>} G: x2 = <Sunny Warm High Strong Warm Same> + {< Sunny Warm Normal Strong Warm Same >} S: {<?, ?, ?, ?, ?, ?>} G: {< Sunny Warm ? Strong Warm Same >} S: {<?, ?, ?, ?, ?, ?>} G:
Example Candidate Elimination.. S: {< Sunny Warm ? Strong Warm Same >} x3 = <Rainy Cold High Strong Warm Change> - G: {<?, ?, ?, ?, ?, ?>} x4 = <Sunny Warm High Strong Cool Change> + {< Sunny Warm ? Strong Warm Same >} S: {<Sunny,?,?,?,?,?>, <?,Warm,?,?,?>, <?,?,?,?,?,Same>} G: {< Sunny Warm ? Strong ? ? >} S: {<Sunny,?,?,?,?,?>, <?,Warm,?,?,?> } G:
Example Candidate Elimination.. S: {<Sunny,Warm,?,Strong,?,?>} <Sunny,?,?,Strong,?,?> <Sunny,Warm,?,?,?,?> <?,Warm,?,Strong,?,?> G: {<Sunny,?,?,?,?,?>, <?,Warm,?,?,?>, } x1 = <Sunny Warm Normal Strong Warm Same> + x2 = <Sunny Warm High Strong Warm Same> + x3 = <Rainy Cold High Strong Warm Change> - x4 = <Sunny Warm High Strong Cool Change> +
Cand. Elim. – Black board example Size = large/small, Color = red/white/blue and Shape = cube/brick/round Examples Positive (+): obj(small, red, round) Negative (-): obj(small, blue, round) Positive (+): obj(large, red, round) Negative (-): obj(large, red, cube) What does Candidate Elimination find?
Remarks on VS & CE Converges to correct h? Effect of errors (noise) If no errors, H rich enough: yes exact: G = S and both singletons Effect of errors (noise) example 2 negative -> CE removes the correct target from VS! detection: VS gets empty Similarly, VS gets empty when c can not be represented (e.g. disjunctions)
Classification of New Data {<Sunny,Warm,?,Strong,?,?>} <Sunny,?,?,Strong,?,?> <Sunny,Warm,?,?,?,?> <?,Warm,?,Strong,?,?> G: {<Sunny,?,?,?,?,?>, <?,Warm,?,?,?>, } x5 = <Sunny Warm Normal Strong Cool Change> x6 = <Rainy Cold Normal Light Warm Same> x7 = <Sunny Warm Normal Light Warm Same> x8 = <Sunny Cold Normal Strong Warm Same> + 6/0 - 0/6 ? 3/3 ? 2/4
How to use partially learned concepts? Classification with ambiguous VS h(x) = 0/1 for every h in VS: ok enough to check with G (0) & S (1) 3rd example: 50% support for both 4th: 66% support for 0 majority vote + confidence? Ok if all h are equally likely
What example next? Three settings for learning: Tasks are generated by a random process outside the learner The learner can pose queries to be classified by a teacher The learner explores its surroundings autonomously (conducts an experiment) What to ask/check as next example/query? Is there a good general strategy? Should attempt to discriminate among the alternatives in VS
What to ask... Discriminating example Optimal choice halves VS c(x) = 1: S will generalize c(x) = 0: G will specialize Optimal choice halves VS x satisfies half of VS members for example, <Sunny, warm, Normal, Light, Warm, Same> not possible to generate one in general if we are able to do this, we can find an optimal hypothesis in log2 |VS| steps
Inductive Leap + <Sunny Warm Normal Strong Cool Change> + <Sunny Warm Normal Light Warm Same> S : <Sunny Warm Normal ? ? ?> How can we justify to classify the new example as + <Sunny Warm Normal Strong Warm Same> Bias: We assume that the hypothesis space H contains the target concept c. In other words that c can be described by a conjunction of literals.
Biased hypothesis space Assure H contains c make H general enough what if it’s not? Example case max specific h consistent with x1 & x2 (+) is too general for x3 (-) See next slide x1 = <Sunny Warm Normal Strong Cool Change> + x2 = <Cloudy Warm Normal Strong Cool Change> + x3 = <Rainy Warm Normal Strong Cool Change> - reason: we have biased the learner to consider only conjunctions
Biased Hypothesis Space Our hypothesis space is unable to represent a simple disjunctive target concept : (Sky=Sunny) v (Sky=Cloudy) x1 = <Sunny Warm Normal Strong Cool Change> + x2 = <Cloudy Warm Normal Strong Cool Change> + S : { <?, Warm, Normal, Strong, Cool, Change> } x3 = <Rainy Warm Normal Strong, Cool, Change> - S : {}
Unbiased Learner Idea: Choose H that expresses every teachable concept, that means H is the set of all possible subsets of X called the power set P(X) |X|=96, |P(X)|=296 ~ 1028 distinct concepts (too large!) H = disjunctions, conjunctions, negations e.g. <Sunny Warm Normal ? ? ?> v <? ? ? ? ? Change> H surely contains the target concept. Sky = Sunny or Sky = Cloudy eliminates problems of expressibility BUT, also eliminates the ability to generalize!
Unbiased Learner Assume we have positive examples (x1, x2, x3) and negative examples (x4, x5) S : { (x1 v x2 v x3) } G : { (x4 v x5) } The only examples that are classified are the training examples themselves. Each unobserved instance will be classified positive by precisely half the hypothesis in VS For every concept classifying x positively, there is another concept that differs only on x, classifies x negatively. That’s, in order to learn the target concept one would have to present every single instance in X as a training example.
Futility of Bias-Free Learning If learner makes no a priori assumptions on the target concept Then it has no rational basis for classifying any unseen instances Inductive bias = prior assumptions Inductive bias is the preference for a hypothesis space H and a search mechanism over H.
Inductive Bias Consider Concept learning algorithm L Instances X, target concept c Training examples Dc={<x,c(x)>} Let L(xi,Dc ) denote the classification assigned to instance xi by L after training on Dc. Definition: The inductive bias of L is any minimal set of assertions B such that for any target concept c and corresponding training data Dc (xi X)[B Dc xi] |-- L(xi, Dc) Where A |-- B means that A logically entails B.
Inductive and Deductive Systems training examples classification of new instance or don’t know candidate elimination algorithm using hypothesis space H new instance equivalent deductive system training examples classification of new instance or don’t know theorem prover new instance assertion ”H contains target concept”
Schematic summary Top: inductive system Bottom: deductive system built-in (implicit) bias Bottom: deductive system explicit bias non-procedural way for characterizing learning systems allows comparisons of different learning algorithms
Three learners & their biases Rote learner: no bias Candidate Elimination c is (representable) in H Find-S The hypothesis space contains the target concept and all instances are negative instances unless the opposite is entailed by its other knowledge. c is the most specific consistent hypotheses of H
Summary The input space is the space of all examples; the output space is the space of all classes. A hypothesis maps examples into classes. We want a hypothesis close to target concept c. The General-to specific ordering establishes a natural partial ordering over the hypothesis space. One can exploit this ordering to move along the corresponding lattice.
Summary The candidate elimination algorithm exploits the general-specific ordering of hypotheses to find all hypotheses consistent with the training data. The version space contains all consistent hypotheses and is simply represented by two lists: S and G. Candidate elimination algorithm is not robust to noise and assumes the target concept is included in the hypothesis space. Any inductive algorithm needs some assumptions about the hypothesis space, otherwise it would be impossible to perform predictions.