Monday, 14 December 2015

Machine Learning - Comparison with Rule based

Machine Learning – An Introduction
In general, Machine Learning is a type of artificial intelligence that provide machines with the ability to learn without being explicitly programmed. In order to make the machine robust, some amount of pre-training is required so that the machine can learn new and similar (can be defined in different dimensions) instances of a particular task on its own (without any human intervention).
Why Machine Learning?
Basically, for any task, the approaches can be classified into two broad categories: Rule-based and Machine Learning approaches.
Rule-based approaches are nothing but writing if-then-else possible conditions to achieve the desired outcome. Framing rules is the starting point in understanding the machine learning approaches, because any machine learning algorithms can perform their learning through set of features (properties or characteristics - vary for different domains and tasks).
Rules based approaches have some limitations and disadvantages which are overcome in machine learning approaches. One such limitation is the rules are domain specific. It is difficult to design the rules as domain independent. It leads to the conflict of the existing rules, which results in overfitting and/or producing some false positive and true negative results. It is also hard to design abstract level of rules where the desired outcome could not be reached with the abstract rules. Moreover, it is difficult to capture some specific classes through generic rules.
Thus, to overcome the limitations and barriers, the machine learning algorithms are introduced.
An Example - Rule-based Approach Vs Machine Learning
Let us consider a chess board which have 8X8 matrix, consists of 8 rows and 8 columns. The task is to build the rules as well as machine learning algorithm for this game.

Figure 1
Figure 1 shows a sample chess board. There are certain steps to frame the rules. They are:
1.       In order to frame the rules for this chess board, we need to define rules for each chess pieces or coins with some pre conditions
2.       Rules needs to be framed for each row and column
3.       Rules are also framed as per the opponent move.
4.       Some chess pieces or coins have restrictions which needs to be defined in the rules
Based on these conditions, the rules are framed which are big enough to write when the task is big and the data is too large.
On the other hand, machine learning approaches require a set of probabilities for example, to perform the same actions done by the set of rules.
Here too, a set of preconditions and/or probabilities are required to start with.
1.       Initial probability for all the chess pieces or coins
2.       Transition probability for each move of each coin
3.       Emission probability – the outcome of the each move. If the opponent coin is defeated, then the probability of opponent’s chess piece is zero and the one who defeats is some increased probability from the previous state.



Figure 2 – Moves highlighted for White Horse
From Figure-2, it can be seen that, there are six different ways to move the White horse to save from Black King. For rule-based approach, six different rules are needed. Among six, four are safe and two are not. These are also captured by the rules where more complex rules are needed to reslove this.
In machine learning, the probabilities of each place and each coin should decide on which place is the best to choose to move the white horse. So six different probabilities will be computed and among them, four have some moderate probabilities and two of them have some low proabilities. Based on these values, the correct position will be selected to place the White Horse.
Likewise, the probabilities for other chess pieces are also computed.
Thus machine learning is required for any task which makes the system robust.