23.02.2015 Views

Machine Learning - DISCo

Machine Learning - DISCo

Machine Learning - DISCo

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

This Foil-Gain function has a straightforward interpretation in terms of<br />

information theory. According to information theory, - log2 -/& is the minimum<br />

number of bits needed to encode the classification of an arbitrary positive binding<br />

among the bindings covered by rule R. Similarly, -log2 A is the number<br />

of bits required if the binding is one of those covered by rule R'. Since t is<br />

just the number of positive bindings covered by R that remain covered by R',<br />

Foil-Gain(L, R) can be seen as the reduction due to L in the total number of<br />

bits needed to encode the classification of all positive bindings of R.<br />

10.5.3 <strong>Learning</strong> Recursive Rule Sets<br />

In the above discussion, we ignored the possibility that new literals added to the<br />

rule body could refer to the target predicate itself (i.e., the predicate occurring<br />

in the rule head). However, if we include the target predicate in the input list of<br />

Predicates, then FOIL will consider it as well when generating candidate literals.<br />

This will allow it to form recursive rules-rules that use the same predicate in<br />

the body and the head of the rule. For instance, recall the following rule set that<br />

provides a recursive definition of the Ancestor relation.<br />

IF Parent (x, y) THEN Ancestor(x, y)<br />

IF Parent (x, z) A Ancestor(z, y) THEN Ancestor@, y)<br />

Given an appropriate set of training examples, these two rules can be learned<br />

following a trace similar to the one above for GrandDaughter. Note the second<br />

rule is among the rules that are potentially within reach of FOIL'S search, provided<br />

Ancestor is included in the list Predicates that determines which predicates may<br />

be considered when generating new literals. Of course whether this particular<br />

rule would be learned or not depends on whether these particular literals outscore<br />

competing candidates during FOIL'S greedy search for increasingly specific rules.<br />

Cameron-Jones and Quinlan (1993) discuss several examples in which FOIL has<br />

successfully discovered recursive rule sets. They also discuss important subtleties<br />

that arise, such as how to avoid learning rule sets that produce infinite recursion.<br />

10.5.4 Summary of FOIL<br />

To summarize, FOIL extends the sequential covering algorithm of CN2 to handle<br />

the case of learning first-order rules similar to Horn clauses. To learn each rule<br />

FOIL performs a general-to-specific search, at each step adding a single new literal<br />

to the rule preconditions. The new literal may refer to variables already mentioned<br />

in the rule preconditions or postconditions, and may introduce new variables as<br />

well. At each step, it uses the Foil-Gain function of Equation (10.1) to select<br />

among the candidate new literals. If new literals are allowed to refer to the target<br />

predicate, then FOIL can, in principle, learn sets of recursive rules. While this introduces<br />

the complexity of avoiding rule sets that result in infinite recursion, FOIL<br />

has been demonstrated to successfully learn recursive rule sets in several cases.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!