Machine Learning Systems can be broadly classified into 3 categories. Let us discuss them in detail.
Whether or not they are trained with human supervision
This category is sub-divided into –
- Supervised Learning
In a supervised learning method, the training data consists of labels. The target variable is trained using these labels to predict the output.
- Unsupervised Learning
In an unsupervised learning method, the training data is unlabeled. The machine tries to learn on its own.
- Semi-Supervised Learning
In a semi-supervised method, as the name suggests, some part of the data is labeled while most of the data is unlabeled.
- Reinforcement Learning
In reinforcement learning, the machine is rewarded for the good policy it makes. Over the time, the machine learns what action needs to be performed for a given situation on the basis of the rewards earned.
Whether or not they can learn incrementally on the fly
The category is sub-divided into –
- Batch learning
In batch learning, the entire data is trained to build the model. In order to predict for a new data point altogether, the entire model needs to be trained again with all the available data points.
- Online learning
In online learning, the model learns incrementally by feeding the data into mini-batches. For newer data points, the model needs to learn only for the newer point, unlike batch learning.
Whether they memorize the data points or instead detect patterns in the training dataThe category is sub-divided into –
- Instance-based learning
In instance-based learning, the model learns the data points. It memorizes the instances of all the available data. It performs poorly on the test set.
- Model-based learning
In model-based learning, a model is created by using a training set. If modeled correctly, the system can produce near accurate predictions over the test set.
These are the broad categories in which the machine learning systems are classified. Using each of the sub-categories depends on the kind of data and predictions we are dealing with, the number of computation resources available, and the use cases.