Instance-Based Learning: A Java Implementation
The disadvantages of Instance-Based Learning (IBL) and Classification are as follows:
- The cost of classifying new instances can be high. This is due to the fact that nearly all computation takes place at classification time rather than when the training examples are first encountered. Therefore, the techniques for efficiently indexing training examples are a significant practical issue in reducing the computation required at query time.
- Many instance-based approaches, especially nearest-neighbour, typically consider all attributes of the instances when attempting to retrieve similar training examples from memory. If the target concept depends on only a few of the many available attributes, the instances that are truly most similar may well be a large Euclidean distance apart.
IBL with other Computational Intelligence Techniques
IBL methods have been combined with traditional Artificial Intelligence techniques such as symbolic Rule-based systems and Agent-based systems. Soft-Computing techniques such as Fuzzy Logic, Rough Sets, Bayesian, Neural Network, and Immune Modeling have also being incorporated into IBL and CBR, for statistical and adaptive classification.
Adoption of Java in CBR
Current Successful CBR Systems Online
This link: http://www.hookemacdonald.ie/letonthenet/index.asp is an online property leasing using CBR. The screen contain seven fields to complete. This means that this is a systems of 7-dimensional space. You, notice from this website, that the result of your search after pressing the submit button, ranks item as close as possible to your, preferred house (property) or target query. The return results, rank properties according to the target attributes you specified. If the system was using SQL, you would not be satisfied, because it could return NULL, or it returns a list of qualified houses where there were matches according to your search. But hang on! , you did not ask for a list of houses , you were asking for a similar house or houses (items) which were close to your target preference.
Java software architects, or project managers who would be doing RFP (request for proposal) for any future projects, should consider CBR if it is applicable to the specific projects. As has been mentioned, do not use IBL methods and CBR , if you definitely know what you are looking for. CBR is a discipline on its own, and references from the resources, will take you to the CBR community. There are a lot of tutorials in the subject, from the CBR website, it also points to many online publications (academic and industrial research) and enterprise architect (J2EE) incorporating IBL methods.
IBL Implementation in the Java Datamining API: (JSR-73)
Prior to writing this article, I did make an attempt to contact with the Expert Group responsible for drafting the Java Datamining API (JSR-73), since IBL is a branch of Machine Learning (or Artificial Intelligence for generality) in which Datamining is built up on , I wanted to know if the upcoming "javax.datamining" API implement any IBL methods. I assume that the Expert Group members are busy because it took a while to respond to my query. They have just responded back recently, saying yes it does. The upcoming javax.datamining API, contain a number of classes for IBL (Instance-Based Learning), including the k-Nearest Neighbour algorithm.
Case-Based Reasoning is a specialized field of IBL. It does not mean that the upcoming javax.datamining API implements some IBL methods, then you can build CBR application using this API. You still have to custom develop some libraries to supplement this javax.datamining API, or use some free-source CBR library.
There are some implementations of IBL methods in the free-source Machine Learning project called WEKA which stands for Waikato Environment for Knowledge Analysis. WEKA is an ongoing project from the Computer Science Department of the University of Waikato, New Zealand: http://www.cs.waikato.ac.nz/~ml/weka/. If you want to familiarise with the concepts of datamining, look at WEKA, because the upcoming javax.datamining package of JSR-73, will be almost exactly the same or even contain more Machine Learning methods than WEKA.
- http://sourceforge.net/projects/selectionengine/ Selection Engine is a Java Case-Based-Reasoning (CBR) Tool
- Applying Case-Based-Reasoning: Techniques for Enterprise Systems by Ian.D. Watson, pub: Morgan Kaufmann
- Machine Learning by Tom. M. Mitchell, pub: Mc Graw Hill
- Soft Computing in Case Based Reasoning by Sankar. K. Pal, pub: Springer-Verlag
- Developing Industrial Case-Based Reasoning Applications: The Inreca Methodology by R. Bergmann, pub: Springer-Verlag
- Learning and Soft Computing: Support Vector Machines, Neural Networks, and Fuzzy Logic Models by Vojislav Kecman, pub: MIT Press
- Neuro-Fuzzy and Soft-Computing: A Computational Approach to Learning and Machine Intelligence by J.S.R Jang, C.T Sun, and E. Mizutani, pub: Prentice Hall
- Case-Based Reasoning Technologyby G. Goose, pub: Springer-Verlag.
- Issues and Applications of Case-Based Reasoning in Design by Mary. L. Maher, pub: Lawrence Erlbaum Associates
About the author
Sione Palu has developed software for Publishing Systems, Imaging, Web Applications, and Symbolic and Computer Algebra Systems for secondary education. Palu graduated from the University of Auckland, New Zealand, with a science degree (B.Sc.) in mathematics and computing. His interests involve the application of Java and Mathematics in the fields of mathematical modelling and simulations, symbolic AI and soft-computing, numerical analysis, image processing, wavelets, digital signal processing, control systems,7 and computational finance.
Page 5 of 5