Different Approaches to Machine Learning
Arthur Samuel, a pioneer in the field of artificial intelligence defined Machine Learning as, “ Field of study that gives computers the capability to learn without being explicitly programmed”.
Machine Learning is the science of getting computers to act like humans do or better without being explicitly programmed. It is a practice of using algorithms to parse the data set, learn from it, and determine or predict the conclusion about the data. It is a class of algorithms that is data-driven(i.e. it is the data that takes decision).
Machine Learning approaches can be broadly classified into three categories.
1. Supervised Learning
2. Unsupervised Learning
3. Reinforcement Learning
Supervised Learning:
If the machine is said to learn from the given set of inputs and the outputs(labeled data) it is known as Supervised Learning. In simple words, as the term suggests it is learning under supervision or guidance. Supervised Learning uses the set of labeled data to classify similar unlabeled data. It is task-driven.
Given data with labels, we can feed a learning algorithm that allows it to predict the label for new unseen data(i.e. unlabeled data) and gives the feedback as to whether it predicted the right answer or not. Over time, this algorithm will learn to predict more approximately, and when fully trained this algorithm gains the ability to predict an unlabeled data with greater efficiency. The sub-categories of supervised learning include:
- Regression:
It is used when the target(output) variable is continuous and numerical. Therefore, regression is used in prediction of the stock market, prediction of house prices, probability of an event, the temperature of a given day, face recognition.
2. Classification:
It is used when the target(output) variable is discrete and categorical. Classification algorithms are used in bioinformatics, estimation of real values, Given a handwritten character, classify it as one of the known characters.
Advantages of Supervised Learning:
- Supervised learning allows you to collect data or produce a data output from the previous experience
- Helps you to optimize performance criteria using experience
- Supervised machine learning helps you to solve various types of real-world computation problems.
Disadvantages of Supervised Learning
- Decision boundary might be over-trained if your training set which doesn’t have examples that you want to have in a class
- You need to select lots of good examples from each class while you are training the classifier.
- Classifying big data can be a real challenge.
- Training for supervised learning needs a lot of computation time.
Unsupervised Learning:
Unsupervised learning is a machine learning technique, where you do not need to supervise the model. Instead, you need to allow the model to work on its own to discover information. It mainly deals with unlabeled data. Unsupervised Learning is data-driven. It is a self-learning model where we do not have any target variable, therefore machine tries itself to create patterns.
Given a data set with unlabeled data, the machine tries to learn an algorithm which itself identifies the pattern and predict the answer. In the above example given with different types of fruits, the machine itself tries to distinguish among the various fruits by its features and when a new data is given, it tries to put the data in an appropriate class to which the new data belongs to. The sub-category of unsupervised learning includes clustering.
Clustering:
Clustering is the act of creating groups with differing characteristics. Clustering attempts to find various subgroups within a data-set. As this is unsupervised learning, we are not restricted to any set of labels and are free to choose how many clusters to create. Clustering algorithms will process your data and find natural clusters(groups) if they exist in the data. You can also modify how many clusters your algorithms should identify. It allows you to adjust the granularity of these groups.
Disadvantages of Unsupervised Learning
- You cannot get precise information regarding data sorting, and the output as data used in unsupervised learning is labeled and not known
- Less accuracy of the results is because the input data is not known and not labeled by people in advance. This means that the machine requires to do this itself.
- The spectral classes do not always correspond to informational classes.
Reinforcement Learning:
Reinforcement learning is like learning from mistakes. If the machine predicts the output correctly then it is rewarded whereas if it predicts the result to be wrong then it is penalized. It is less common type of Machine Learning but more complex. A common application of reinforcement learning is teaching machines how to play games. In this case, we do not label each move as good or bad but the feedback comes from the game, either through the outcome of the game or through signals during the game, such as scoring or losing points. Winning a game will reflect a positive outcome, similar to recognizing the right digit or whether an e-mail is a spam or not while losing the game would require further “learning”. Reinforcement learning algorithms tend to reuse actions tried in the past that led to successful results, like winning in a game.
Challenges of Reinforcement Learning
Here are the major challenges you will face while doing Reinforcement earning:
- Feature/reward design which should be very involved
- Parameters may affect the speed of learning.
- Too much Reinforcement may lead to an overload of states which can diminish the results.
- Realistic environments can be non-stationary.