FIND-S Algorithm
1. Initialize h to the most specific hypothesis in H
2. For each positive training instance x For each attribute constraint ai in h
If the constraint ai is satisfied by x
Then do nothing
Else replace ai in h by the next more general constraint that is satisfied by x
3. Output hypothesis h To illustrate this algorithm, assume the learner is given the sequence of training examples from the EnjoySport task
- The first step of FIND-S is to initialize h to the most specific hypothesis in H h – (Ø, Ø, Ø, Ø, Ø, Ø)
Consider the first training example
x1 = , + Observing the first training example, it is clear that hypothesis h is too specific. None of the “Ø” constraints in h are satisfied by this example, so each is replaced by the next more general constraint that fits the example h1 = Consider the second training example x2 = <sunny, warm,=”” high,=”” strong,=”” same=””>, +</sunny,> The second training example forces the algorithm to further generalize h, this time substituting a “?” in place of any attribute value in h that is not satisfied by the new example
h2 =
- Consider the third training example x3 = <rainy, cold,=”” high,=”” strong,=”” warm,=”” change=””>, –</rainy,> Upon encountering the third training the algorithm makes no change to h. The FIND-S algorithm simply ignores every negative example. h3 = < Sunny Warm ? Strong Warm Same>
- Consider the fourth training example
x4 = , + The fourth example leads to a further generalization of h
h4 = < Sunny Warm ? Strong ? ? >
The key property of the FIND-S algorithm
- FIND-S is guaranteed to output the most specific hypothesis within H that is consistent with the positive training examples
- FIND-S algorithm’s final hypothesis will also be consistent with the negative examples provided the correct target concept is contained in H, and provided the training examples are correct.