It is hard to define the process of learning. Oxford English Dictionary defines learning as “the ability to acquire and apply knowledge and skills” [Oxford, 2010]. The same is applicable in the case of machine learning as well. It is interesting to note that many of the methods developed and analysed by researchers in computation are applicable to biological learning as well [Graupe, 2007].
We can say that a machine is capable of learning if it can change the structure of the program or the data based on the inputs provided so that the resultant changes (most likely improves) the performance or efficiency of the system. It should also be noted that merely the modification of records by the system cannot be considered as learning by the system [Krose&Smagt, 1996].
Machine learning is useful in the field of recognition, diagnosis, robotics (control theory), regression analysis and planning. Figure given below shows the learning process adopted by a typical intelligent system. It is worth mentioning that depending on the area of concern (problem domain), we may adopt different learning mechanisms.
An important question to be raised at this point is that why should we have machines that can learn. There are many reasons why we should go for this. Some of these are [Nilsson, 1996]:
- We may not be able to define a problem properly, but we might be able to show examples pertaining to that. In other words, we can give input-output sets and ask the machine to find the relationship between them
- It is common that if we have a large set of related data sets, then we will able to find patterns in them. This is extremely useful when it comes to data mining. The correlations identified can also be used for prediction as well.
- Sometimes we may have a large set of data and generalization (adjustments) may be required to obtain the desired results.
- In most cases (associated with Collective Intelligence), it is likely that the amount of data is so large so that it becomes hard to encode without the help of machines.
Some of the closely associated braches that we need to consider while dealing with machine learning are:
Statistics: In machine learning, we heavily rely on probability distributions for decision making. And this is vital when we try to generalize datasets as well [Graupe, 2007; Nilsson, 1996]. A typical application is the classification of a new data based on the existing dataset.
Cognitive neuroscience and Brain models: Concepts and idea from cognitive neuroscience is largely adopted in the case of Artificial Neural Networks (ANN). It allows us to incorporate non-linear elements (e.g. weighted inputs) in the model so as to enable the machine to understand and learn complex problems [Nilsson, 1996].
Adaptive Control Theory: This is used widely in the field of robotics. In this field, we need take into account of the fact that the machine needs to handle many processes that are having various unknown parameters and these parameters cannot be well estimated well during the operation.
An AI System (adapted from Nilsson, 1996, p.2)
Psychological Models: This is a very lucid example of Biologically Inspired Computing (BIC). Here the learning mechanisms adopted by human beings are applied while formulating algorithms for machine learning. A typical example is the Elementary Perceiver and Memorizer (EPAM) developed by Feigenbaum and Simon (1984). The network allows us to retrieve an element of a pair of words if one of the words is given as input. It uses chunking theory for performing the operations.
Evolutionary Models: This is also inspired from Biological concepts. In evolutionary biology we have observed that individuals belonging to a particular species evolve so as to adapt to the environments or to perform better than their ancestors. In computation, we apply the same method that allows a system to adopt the properties of biological evolution so that the performance of the system improves. The algorithm that supports this will be used as a learning method for such systems.
Another important aspect that is worth mentioning here is about the factors which a system can learn. Some of the important ones include functions, logic programs, rule sets, grammar, problem solving and finite state machines.