In: M. Veloso & A. Aamodt (eds.), Case-Based Reasoning Research and Development,
Proc. of the first International Conference (ICCBR95), October 1995, Springer Verlag,
LNAI 1010, pp. 371-380
INRECA: A Seamlessly Integrated System Based on
Inductive Inference and Case-Based Reasoning
E. Auriol1, S. Wess2, M. Manago1, K.-D. Althoff2, R. Traphöner3
1 AcknoSoft, 58a, rue du Dessous-des-Berges, 75013 Paris, France
Phone: +33 1 44248800, Fax: +33 1 44248866, E-mail: {auriol, manago}@ipbc.fr
2 University of Kaiserslautern, Dept. of Computer Science, PO Box 3049, 67653
Kaiserslautern, Germany. Phone: +49 631 205 3360, Fax: +49 631 205 3357, E-mail:
{althoff,wess}@informatik.uni-kl.de
3 tecInno GmbH, Sauerwiesen 2, 67661 Kaiserslautern, Germany
Phone: +49 6301 60660, Fax: +49 6301 60666
Abstract: This paper focuses on integrating inductive inference and case-based reasoning. We
study integration along two dimensions: Integration of case-based methods with methods based
on general domain knowledge, and integration of problem solving and incremental learning from
experience. In the INRECA system, we perform case-based reasoning as well as TDIDT (Top -
Down Induction of Decision Trees) classification by using the same data structure called the
INRECA tree. We extract decision knowledge using a TDIDT algorithm to improve both the
similarity assessment by determining optimal weights, and the speed of the overall system by
inductive learning. The integrated system we implemented evolves smoothly along application
development time from a pure case-based reasoning approach, where each particular case is a
piece of knowledge, to a more inductive approach where some subsets of the cases are
generalised into abstract knowledge. Our proposed approach is driven by the needs of a
concrete pre-commercial system and real diagnostic applications. We evaluate the system on a
database of insurance risk for cars and an application involving forestry management in Ireland.
1. Introduction
In the recent past, more and more research activities in AI have been re-directed
towards application-oriented research and technology transfer. However, scaling-up
from toy applications to complex real world tasks is not trivial. Further, single-paradigm
systems seem to have reached their limit in several respects, and it is time to study
more actively how to integrate multi-paradigm methods [Mikalski & Tecuci, 1994]. In
this paper, we study integration along two dimensions: Integration of case-based
reasoning (CBR) methods with methods based on general domain knowledge, namely
rule-based methods [Golding & Rosenblum, 1991], and integration of problem solving
and incremental learning from experience [Aamodt, 1994].
Examples of approaches in this direction are improving indexing in case-based
reasoning by TDIDT [Kibler & Aha, 1987; Cardie, 1993; Ting, 1994], improving
similarity assessment in case-based reasoning by learned rules [Sebag & Schoenauer,
1994], and combining nearest neighbour classification with symbolic learning [Zhang,
1990].
As basic features of the proposed architecture, we rely on two structures: decision
trees [Quinlan, 1986] and k-d trees [Friedman, Bentley & Finkel, 1977; Moore, 1990].
The purpose of this paper is to present an implementation of an integrated structure
called the INRECA tree, that permits both data structures to be used efficiently for
diagnosis and classification tasks. The new structure fulfills the following objectives:
1. Extracting decision knowledge by induction;
2. Use this knowledge in the definition of the similarity measure;
3. Relating the current problem to the learned experience by case-based reasoning;
4. Maintaining classification accuracy of case-based reasoning when meeting
unknown or noisy queries during consultation;
5. Maintaining the incremental behavior of case-based reasoning;
6. Gaining speed by using inductive learned and explicit knowledge;
7. Being flexible as in case-based reasoning;
8. Being straight forward as in decision trees.
Some of these objectives are explicitly geared towards the system end-user (e.g.
flexibility and speed). For instance, a help-desk support technician needs sometimes to
be guided by the system (induction), and at other times drives the search (CBR). On
the other hand, some others are compelling for the system builder (i.e., definition of
similarity assessment). Finally, some others are dedicated to system maintenance (i.e.,
incremental learning).
The integrated system, which we implemented within the INRECA1 project, evolves
smoothly along application development time, from a pure case-based reasoning
approach, where each particular case is a piece of knowledge, to a more inductive
approach where some subsets of the cases are generalised in abstract knowledge.
In the following section, we summarise basic features of k-d trees and decision trees
and their associated building and search strategies. We present requirements on the
integration of these mechanisms in the INRECA tree. In Section 3, we introduce
improvements for the k-d tree approach that supports efficient processing of a system
that seamlessly integrates inductive and case-based reasoning. We evaluate the
integrated system on a database of insurance risk for cars and an application involving
forestry management in Ireland. Finally, we discuss the main conclusions from the
experiments and complete this with a short comment on open problems.
2. k-d Trees and Decision Trees
We describe the basic characteristics of these data structures and their associated
building and search strategies to what extent it is necessary within the scope of this
paper. We summarise their respective advantages and disadvantages and motivate
their proposed integration in the INRECA system.
2.1 k-d Trees
The basic idea of k-d tree building [Friedman, Bentley & Finkel, 1977] is to structure
the search space based on its observed density (respectively on its classification goal)
and to use this pre-computed structure for efficient case retrieval (respectively for
efficient diagnosis). It functions as a binary fixed indexing structure for case retrieval.
Within the k-d tree an incremental best-match search is used to find the K most similar
cases within a set of n cases with k specified indexing attributes.
1 INRECA: INduction and REasoning from CAses, ESPRIT project P6322
Retrieval in a k-d tree is processed by the recursive application of two test procedures:
Ball-Overlap-Bounds (BOB) and Ball-Within-Bounds (BWB) [Wess, Althoff &
Derwand, 1994]. Both are relatively simple geometrical procedures. BWB is linear with
the number of indexing attributes and BOB is a binary test. While the search is going
on, a priority list is defined that contains the ordered list of the current K most similar
cases and their similarity to the query. The similarity SIM is computed as follow: for
each attribute Aj, one computes a local (i.e., relative to this attribute) similarity simj
between the values of the query and the target case. Then, all the local similarities are
aggregated in a weighted sum. The priority list is modified when a new case comes in
the "top K". The recursive procedure runs as follows:
currentNode = k-d-treeRoot; otherNodes = ; priorityList =
k-d-treeSearch(Query, currentNode)
previousNode = father(currentNode)
IF currentNode = leafNode
THEN
computeSimilarity(query, currentNode)
modify(priorityList, currentNode)
ELSE
nextNode = Value(Query, currentNode)
otherNodes = childNode(currentNode) - nextNode
k-d-treeSearch(Query, nextNode)
END
IF inspect(otherNodes) = TRUE THEN *** BOB test ***
FOR ALL node otherNodes DO
k-d-treeSearch(Query, node)
IF priorityList ? full THEN *** BWB test ***
k-d-treeSearch(Query, previousNode)
2.2 Decision Trees
TDIDT algorithms are nowadays popular. A decision tree is induced from a database
of training cases, described by a set of attributes Aj, j = 1, ..., p. Each case belongs to a
specific class Ml, l = 1, ..., L. The partitioning procedure attempts to find the most
informative attribute in order to create the shortest tree possible. Traditionally, it uses
a hill-climbing search strategy and a preference criterion often based on the
information gain [Shannon & Weaver, 1947; Quinlan, 1986], like the C4.5 system
[Quinlan, 1993]2. At each node in the decision tree, the criterion is evaluated for all the
attributes which are relevant and the one is picked which yields the highest increase of
the information gain measure. The main steps of the TDIDT approach are:
IF currentNode = leafNode THEN
label(currentNode, mostProbableClass)
ELSE
develop(currentNode, relevantAttributes)
select(bestAttribute, relevantAttributes)
split(currentNode, bestAttribute)
2.3 Goals of the Integration
In their initial form, both k-d tree and TDIDT mechanisms are limited in several ways
[Manago, Althoff et al., 1993]. We summarise the main points briefly:
2 However, many other criteria have been proposed: Impurity reduction [Breiman et al.,
1984], χ2 statistic [Hart, 1984], G-statistic [Sokal & Rahlf, 1981] etc. For a comparison of
selection criteria, see for instance [Mingers, 1989].
• TDIDT: lack of flexibility and incrementality, sensitivity to errors and noise in the
data during consultation3;
• k-d trees: lack of knowledge generalisation, problems with treatment of unknown
and unordered symbolic data.
Table 1 aims at contrasting decision trees and k-d trees and at presenting the
improvements gained with integration. The contrast calls especially for extending k-d
trees with efficient classification abilities, also for symbolic attributes and unknown
values in the query. Therefore, the extension of the usual k-d and decision trees
attempts to encompass the objectives we presented in the introduction of this paper.
Table 1. Contrasting k-d trees and decision trees for diagnosis tasks
Aspects Decision tree k-d tree INRECA tree
Similarity measure not necessary necessary, has to multiple, class-
meet monotonicity specific similarity
Nearest neighbour not possible (there requirements measures
classification using are exceptions, e.g. possible possible
similarity measures ID5)
Result obtained classification K nearest both
neighbours
Backtracking in the not necessary necessary possible
tree
Cases during not necessary necessary possible
retrieval
Order of tests fixed query case has to be arbitrary
completely described presentation of
Unordered value possible w.r.t. indexing slots query
ranges impossible possible
Symbolic attributes not necessary
Unknown attribute costly copying of necessary possible
values during tree cases in all not possible extension of k-d
building branches trees to handle
unknown values
3. The INRECA Tree
In this section, we present an extension of the k-d tree building and search methods,
called the INRECA tree. We also describe how optimal weight vectors can be
computed from such a structure by using intra- and inter-class similarity measures.
The resulting system is completely integrated. The same tree can be used
simultaneously as a k-d tree in the case-based reasoning process for case indexing
and retrieval, or as a decision tree in the induction process for case generalisation. The
interactions between both approaches are greatly enhanced. As we will illustrate, by
this enhancement we obtain a more flexible and acceptable tool that is easier to use
3 Note that many TDIDT algorithms have been developed in order to encompass these
problems (e.g., [Utgoff, 1988] for incrementality, [Quinlan, 1986] for tree pruning).
and to maintain.
3.1 Extending the k-d Tree Building and Retrieval Methods
This extension aims at creating a single INRECA tree that can be used indifferently as
a k-d tree for retrieval and as a decision tree for knowledge and rules extraction. Like in
TDIDT and in k-d trees, the branches of an INRECA tree represent constraints for
certain attributes of the cases. Since we need to handle ordered and symbolic
attributes as well as unknown attribute values, we introduce different kinds of
branches. These branches are shown in Fig. 2.
Unordered Value Ranges
Ai ?= vij Ai ?= vij
<= > unknown ... ... v im unknown
vi1 vij
Fig. 1. Branches of the INRECA tree for ordered and unordered value ranges
As stated previously, the current k-d tree algorithms cannot handle unknown values
and symbolic attributes. However, this arises often, whatever the attribute choice
strategy. Therefore, the retrieval strategy in the k-d tree procedure has to be modified,
such that it can deal with cases that contain symbolic or unknown attributes, as it can
be done in TDIDT algorithms.
This modification is performed through an extension of the BOB and BWB Boolean
tests presented in section 2.1, that work primarily on binary trees, towards more
general multi-dimensional trees. Beside these two tests the basic retrieval procedure
remains unchanged.
Extending the BOB Test
The BOB test is executed in order to recognise whether a node may contain some
candidates that are more similar to the current query than those that have already been
found. Therefore, the geometrical bounds of the node are used to define a test point
that is most similar to the current query but still lies within the geometrical bounds of
the current node. If this test point is in the ball it means that the ball overlaps with the
node and then there may be a candidate to the priority list in this node.
The extension of the BOB test requires that the way how these test points are
constructed also takes symbolic attributes and unknown values into account.
The definition of such a test point requires the assignment of a value to each attribute
used in the case description. The value xj for each attribute Aj must
a) lie within the geometrical bounds of the dimension defined by the attribute
and the node to be investigated
b) be most similar (with respect to the local similarity for this attribute) to the
value qj of the attribute in the query.
For attributes Aj with ordered value ranges, we determine the bounds [lj...uj] defined
by the attribute and the current node in the tree. The value xj of the test point is as
follows (1). In this definition, * denotes a new special value assumed in every value
range. The similarity between * and every other value in the value range of attribute Aj
is equal to 1.
unknownif the node is in the unknownbranch of Aj (1)
* if the nodeis not in a branch of Aj
x j = q j if qj ≥ lj and qj ≤ uj
l j if qj <l j
u j if q j > uj
For attributes with an unordered value range xj is defined as follows (2):
unknownif the node is in the unknownbranch of Aj (2)
xj = vj if the node is in the vj branchof Aj
* if the nodeis not in a branchof Aj
Extending the BWB Test
The extension of the BWB for correctly handling unknown values and unordered value
ranges can be done similar to the extension of the BOB test. Let us recall that this test
acts as a short -cut during the retrieval process by deciding at a given node of the tree
whether all nearest cases have been found, or not. This results in a reduced number of
examined cases. Unfortunately, this extension significantly increases the
computational cost for executing this test. The gain obtained in the case of symbolic
attributes is illusory, because the test has to verify each dimension of the attribute
space, what can be very high for symbolic attribute. Instead of being in O(k) where k
is the number of indexing attributes in the tree, the complexity is in O(k∞r) where r is
the average number of values for the indexing attributes. However, the execution of
this test can nevertheless pay-off, if the access to the cases is very expensive, for
example if the cases are stored in some external storage.
3.2 Determination of Optimal Weight Vectors
A global similarity measure SIM between two cases a and b can be defined as a
weighted sum of local similarity measures simj between the p attributes Aj that make up
the cases (3). The weights wjl evaluate the relative importance of the attribute Aj for
each class Ml, l = 1, ..., L.
p (3)
∑SIM(a, b) = w jl × sim j (Aj (a), Aj (b))
j =1
where Aj(a) (resp. Aj(b)) stands for the value of case a (resp. b) for attribute Aj.
It is usual that the system user sets up these weights manually. They are normalised
afterwards. This kind of approach presents the advantage to strongly implicate the
user during the system building process. He generally enjoys this task. However, this
kind of job is difficult and error-prone. After several steps (setting and normalisation),
the resulting weights are no more easily understandable. Moreover, one usually
evaluates only global weights for each attribute, without taking care about the class to
which the cases belong. We propose that the system computes automatically the
weights used in the similarity measures. For this purpose, we compute local intra- and
inter-classes similarities. The class of each case is given by the set of constraints
generated by the INRECA tree.
Determination of Weights through the INRECA Tree
The INRECA tree builds a partition of the set of cases in a set of classes. We know for
each case its associated class. Let M = {M1, ..., ML} be the set of classes. The
INRECA tree may be viewed as a representation of a set of sufficient conditions (the
rules) for a case to fall in some class Ml. Each condition refers to a single attribute Aj
contained in the cases. On the basis of this knowledge acquired during tree building,
we can compute the intra- and inter-class similarities for each attribute Aj as follow:
• The local intra-class distance measures to which extent a case a is near to the
cases b that belong to its own class Ml with respect to attribute Aj are given by:
∑sim∪j ,l=1 (4)
Ml sim j( A j (a), Aj (b))
2
a ,b ∈M l
• The inter-class distance measures to which extent a case is far from the cases that
belong to other classes with respect to attribute Aj are defined as follows:
1
M − Ml
∑sim∩j,l= (5)
simj (Aj (a), Aj (b))
Ml
a ∈Ml , b∈M − Ml
The goal of setting optimal weights is to minimise the intra-class distance and to
maximise the inter-class distance between cases. For this purpose, the relative weight
of each attribute Aj for each class Ml is defined by (6):
∑ {{ }}wjl =max0, sim ∪ − sim ∩ (6)
j ,l j ,l
L
max 0, sim ∪ − sim ∩
j ,l j,l
l =1
The knowledge discovered in the INRECA tree about the class Ml of each case, is
transferred to the similarity measure through the definition of the weights.
What did we Really Gain?
The introduced improvements allow the implementation of a CBR system and an
inductive system within the same structure. The integrated system combines these
approaches in a seamless way (Fig. 3) that is completely transparent for the user.
A2 cases
Decision tree
classification
Nearest-neighbours
classification
A1
Fig. 3. Combining case-based and inductive classification
The INRECA tree encompasses all the requirements presented in Table 1. The
objectives we wished to fulfill (Sect. 1) are completed:
• A single structure can be used either for CBR or for TDIDT retrieval. It can be
straight forward and extract knowledge by induction, or flexible as in CBR;
• It enables incremental learning and adaptation of the similarity measure;
• This learning makes the retrieval quicker (see
next section);
• It permits to evolve smoothly along
application development time, from a pure
case-based reasoning approach, to a more
inductive approach;
• It offers a flexible tool configurable with
respect to the end-user’s needs.
4. Experiments
This section presents initial results on two databases. The database of insurance risk
for cars4 (called the CAR database) contains 205 cases described by 26 attributes. The
goal is to determine a risk estimation factor (scaled from -3 to +3) for car insurance
companies, based on several attributes such as manufacturing, price, technical data,
etc. The second database (268 cases) comes from an application realised by IMS for
Coïllte within the INRECA project involving the forestry management in Ireland (it is
called the FORESTRY database). The underlying problem is to come up with a thinning
strategy which maximises the overall value of the crop while minimising the risk of
wind damage. There are 10 attributes. The choice of using nearest-neighbours or
TDIDT classification for this problem is not fixed. It depends mainly on the forester
and the location of the crop. Therefore, the integrated system offers the opportunity to
be tuned with respect to the user's needs.
Let us recall that the objective of the k-d tree indexing mechanism is to avoid the
computation of the similarity function between a new problem and all the cases of the
4 It originates from the UCI Repository of Machine Learning Databases and Domain
Theories: ftp ics.uci.edu, path pub/machine-learning-database/imports-85.
case base. The goal of the experiment is the following: through the extension of the k-
d tree into the INRECA tree and the computation of optimal weights, we intend to
significantly decrease the number of “visited cases” (i.e., the number of cases on
which the similarity is computed). Therefore, we have tested the average number of
visited cases by cross-validation (80% of the database is used for training and the
remaining 20% is used for test, repeated five times with different training and test sets)
for the standard k-d tree and for the INRECA tree where the weights have been pre-
computed. The number of cases to be retrieved varies from one to 30. Fig. 4 displays
the number of visited cases in the standard k-d tree versus in the INRECA tree.
180
160
140
120
100
80
60
40
20
0
1 2 5 10 15 20 25 30
Number of retrieved cases
Fig. 4. Number of cases visited vs. cases retrieved (CAR and RORESTRY databases)
For the CAR database, we built the INRECA tree with an interquartile distance because
there are many ordered attributes available. On the other hand, we built the tree with
an entropy measure for the FORESTRY database because all the attributes but one are
symbolic. The retrieval have always been performed without the BWB test because of
the presence of many unordered attributes. The CAR database experiment can be
interpreted in the following way. Due to the large number of attributes, it is necessary
to browse many cases in the database even if we want to retrieve a small amount of
cases only. The extraction of weights from the INRECA tree allows the similarity
measure to be influenced by the acquired knowledge about the space structure.
Therefore, the first retrieved cases reflect this structure, whereas the following ones do
not. We have to note that the optimisation was achieved based on local criteria and,
thus, turns to be adequate only for a limited number of nearest neighbours. However,
it is rarely necessary to return more than ten cases to the user.
We obtain the same kind of results using the FORESTRY database. We can also notice
that the introduction of automatically computed weights turns out to make the retrieval
conducted on fewer cases and, as a consequence, quicker.
Note that since the k-d tree mechanism ensures to always retrieve the most similar
cases, the accuracy of results is the same for both k-d and INRECA trees.
5. Conclusion
Our proposed approach corresponds to [Golding & Rosenblum, 1991] on a very
abstract level. It includes also the aspect of improving case indexing with a TDIDT
algorithm like [Cardie, 1993]. We extract decision knowledge by inductive learning to
improve both the similarity assessment and the performance of the CBR system. Our
main goal is to combine nearest neighbour classification with symbolic learning. Here
the main motivation is similar to the underlying ideas proposed by [Wettschereck,
1994] and [Salzberg, 1991], though the means we selected to achieve it are very much
different.
The experiments demonstrate that for both applications, the integrated system leads to
a reduced number of visited cases and, thus, to an improved retrieval time. From these
results, we can conclude that the introduction of knowledge about classes has
improved the similarity measure in the sense that it reflects the underlying space
structure in a better way. The system can learn incrementally from new cases.
On the other hand, the integration of k-d tree mechanism and TDIDT algorithms in a
single INRECA tree makes the system much more flexible and enables the user to tune
it to its own needs. The system can handle efficiently unordered symbolic attributes
and unknown values in queries. It can produce decision knowledge by compiling
cases or interpret the cases in a CBR manner.
6. Acknowledgement
Funding for INRECA has been provided by the Commission of the European
Communities (ESPRIT contract P6322). The partners of INRECA are AcknoSoft (prime
contractor, France), tecInno (Germany), Irish Multimedia Systems (Ireland), the
University of Kaiserslautern (Germany). The authors are indebted to Guido Derwand
who implemented the core parts of the integrated INRECA system. They also wish to
thank the reviewers, whose the helpful comments contributed to make this paper much
more readable and sound.
7. References
Aamodt, A. (1994). Explanation-Driven Case-Based Reasoning. Richter, Wess et al. , 274-288.
Breiman, L., Friedman, J., Olshen, R. & Stone, C. (1984). Classification and Regression Trees.
Belmont, CA: Wadsworth.
Cardie, C. (1993). Using decision trees to improve case-based learning. Proc. 10th Int. Conf. on
Machine Learning, 25-32.
Friedman, J. H., Bentley, J. L. & Finkel, R. A. (1977). An algorithm for finding best matches in
logarithmic expected time. ACM Trans. Math. Software 3, 209-226.
Golding, A. R. & Rosenblum, P. S. (1991). Improving Rule-Based Systems Through Case-
Based Reasoning. Proc. AAAI Conference 1991.
Hart, A. (1984). Experience in the use of an inductive system in knowledge engineering. M.
Bramer (ed.), Research and Development Systems, Cambridge University Press, 117-126.
Kibler, D. & Aha, D. W. (1987). Learning representative exemplars of concepts: An initial case
study. Proc. of the Fourth International Workshop on Machine Learning, pp. 24-30. Irvine,
CA: Morgan Kaufmann.
Koopmans, L. H. (1987). Introduction to Contemporary Statistical Methods. Second Edition,
Duxbury, Boston.
Manago, M., Althoff, K.-D., Auriol, E., Traphöner, R., Wess, S., Conruyt, N., Maurer, F.
(1993). Induction and Reasoning from Cases. Richter, Wess et al. , 313-318.
Mikalski, R. & Tecuci, G. (Eds.) (1994). Machine Learning : A Multi-Strategy Approach
(Volume IV). San Francisco, CA: Morgan Kaufman.
Mingers, J. (1989). An Empirical Comparison of Selection Measures for Decision-Tree
Induction & An Empirical Comparison of Pruning Tree Methods for Decision-Tree
Induction. Machine Learning 3 (319-342);4 (227-242).
Moore, A. W. (1990). Acquisition of dynamic control knowledge for a robotic manipulator. In:
Proc. of the Seventh International Conference on Machine Learning, 242-252. Austin, TX:
Morgan Kaufman.
Quinlan, R. (1986). Induction of Decision Trees. Machine Learning 1, 81-106.
Quinlan, R. (1993). C4.5: Programs for machine learning. San Mateo, CA: Morgan Kaufmann.
Richter, M. M., Wess, S., Althoff, K.-D. & Maurer, F. (eds.) (1993). Proc. 1st European
Workshop on Case-Based Reasoning (EWCBR-93).
Salzberg, S. (1991). A Nearest Hyperrectangle Learning Method. Machine Learning 6, 277-309
Sebag, M. & Schoenauer, M. (1994). A Rule-Based Similarity Measure. Richter, Wess et al.,
119-131.
Shannon & Weaver (1947). The Mathematical Theory of Computation. University of Illinois
Press, Urbana.
Sokal, R. R. & Rahlf, F. J. (1981). Biometry. W. H. Freeman and Co., San Francisco.
Ting, K. M. (1994). The problem of small disjuncts: Its remedy in decision trees. Proc. of the
Tenth Canadian Conference on Artificial Intelligence, 91-97.
Utgoff, P. (1988). ID5: An incremental ID3. Fifth International Conference on Machine
Learning, Morgan Kaufmann, Los Altos.
Wess, S., Althoff, K.-D. & Derwand, G. (1994). Using k-d Trees to Improve the Retrieval Step
in Case-Based Reasoning. Wess, Althoff & Richter (Eds.), Topics in Case-Based Reasoning,
Springer-Verlag, 167-181.
Wettschereck, D. (1994). A Hybrid Nearest-Neighbor and Nearest-Hyperrectangle Algorithm.
Bergadano & De Raedt (Eds.), ECML-94, Springer Verlag, 323-335.
Zhang, J. (1990). A method that combines inductive learning with exemplar-based learning.
Proc. for Tools for Artificial Intelligence, 31-37. Herndon, VA: IEEE Computer Society
Press.