The Machine Learning systems which are categorized as instance-based learning are the systems that learn the training examples by heart and then generalize to new instances based on some similarity measure. It is called instance-based because it builds the hypotheses from the training instances. It is also known as memory-based learning or lazy-learning. The time complexity of this algorithm depends upon the size of training data. The worst-case time complexity of this algorithm is O(n), where n is the number of training instances.
For example, If we were to create a spam filter with an instance-based learning algorithm, instead of just flagging emails that are already marked as spam emails, our spam filter would be programmed to also flag emails that are very similar to them. This requires a measure of resemblance between two emails. A similarity measure between two emails could be the same sender or the repetitive use of the same keywords or something else.
- Instead of estimating for the entire instance set, local approximations can be made to the target function.
- This algorithm can adapt to new data easily, one which is collected as we go.
- Classification costs are high
- Large amount of memory is required to store the data, and each query involves starting the identification of a local model from scratch.
Some of the instance-based learning algorithms are :
- K Nearest Neighbor (KNN)
- Self-Organizing Map (SOM)
- Learning Vector Quantization (LVQ)
- Locally Weighted Learning (LWL)