CPSC 352 -- Artificial Intelligence
Notes: Concept Learning

What is a Morelli Number

HINT: A Morelli number has 7 binary digits.
ExampleMorelli Number?
1 1 1 1 1 1 1 Yes
0 0 0 0 0 0 0 No
1 0 0 1 1 0 1 Yes
1 0 0 0 1 0 1 No

Some Sample Concepts

Some Observations

Concept Learning Algorithm

Primitive Hypotheses: We start with a set of primitive hypotheses:

Representing a Concept To form a concept, we can combine these primitive hypotheses into any combination of the four. We can represent the hypothesis as a four-tuple, [h1,h2,h3,h4], where each of the hi can be replaced by Y or N to indicate whether the primitive hypothesis is included or not. So [Y,Y,Y,Y] means h1 AND h2 AND h3 AND h4.

ExampleMorelli Number?[h1,h2,h3,h4]
1 1 1 1 1 1 1 Yes[Y,Y,N,Y]
0 0 0 0 0 0 0 No[N,N,N,N]
1 0 0 1 1 0 1 Yes[N,Y,N,Y]
1 0 0 0 1 0 1 No[Y,N,Y,Y]
1 1 1 1 0 0 1 Yes[Y,Y,N,Y]
0 0 1 1 0 0 0 Yes[N,Y,N,N]
0 0 1 1 1 0 0 Yes[N,Y,Y,N]

Algorithm (Guaranteed to find most specific hypothesis)

  1. Let ? mean any value is acceptable and 0 mean no value is acceptable.
  2. Start with the most specific hypothesis: h0: [0,0,0,0]
  3. For each positive example, make hi just more general enough to cover the positive example.
  4. Ignore negative examples.
ExampleMorelli Number?[h1,h2,h3,h4]Learned Hypothesis
[0,0,0,0]
1 1 1 1 1 1 1 Yes[Y,Y,N,Y][Y,Y,N,Y]
0 0 0 0 0 0 0 No[N,N,N,N][Y,Y,N,Y]
1 0 0 1 1 0 1 Yes[N,Y,N,Y][?,Y,N,Y]
1 0 0 0 1 0 1 No[Y,N,Y,Y][?,Y,N,Y]
1 1 1 1 0 0 1 Yes[Y,Y,N,Y][?,Y,N,Y]
0 0 1 1 0 0 0 Yes[N,Y,N,N][?,Y,N,?]
0 0 1 1 1 0 0 Yes[N,Y,Y,N][?,Y,?,?]

Result: [?,Y,?,?] (middle digit is 1) is a Morelli Number.

Some Observations

What if the correct concept was not among the hypotheses?

This algorithm assumes that the target concept is one of the primitive hypotheses. This is its inductive bias.

In general, inductive bias is any criterion the learner uses to constrain the concept space or to select concepts within the space.

Could we represent all possible concepts?

We can't represent all possible concepts if we restrict ourselves to h1 AND h2 AND h3. For example, we can't represent the hypothesis "either a 1 in the first or the last digit but not both."

What if we could represent all possible concepts?

H = (x1 OR x3 OR x6 OR x7) AND NOT( x2 OR x4)

Here H represents all training examples we considered above. If we use AND, OR and, NOT we can represent every possible concept. But then we couldn't generalize (i.e., learn), because the concept is too specific.

Moral: Unbiased learning is impossible.

Without some a priori assumptions about the target concept, classification is impossible. Our algorithm assumes that the target concept could be represented by a conjunction of primitive concepts.