Types of Machine Learning Systems

There are different types of machine learning systems which can be broadly categorized as:
  1. Based on human supervision:
    • Supervised Learning
    • Semi-supervised Learning
    • Unsupervised Learning
    • Reinforcement Learning
  2. Online and Offline Learning
  3. Instance-based and Model-based Learning

Supervised Learning

In Supervised learning, algorithms are trained using labeled data.
Classification is one of the typical tasks of supervised learningFor example, a cat/dog classifier is trained with images of cat and dog along with the label (class) whether it is dog or cat (1 or 0). Then, the trained classifier model can predict class if new image of dog or cat is provided to it.

Another typical task is Regression. Regression lets predict a target value, such as the price of a car, given a set of features (such as: mileage, age, etc.) called predictors. To train the learning system, you need to give it many examples of cars, including both their predictors and their labels (i.e., their prices).
Common supervised learning algorithms are: Linear Regression, Support Vector Machines (SVMs), Decision Tree, Neural network,  etc.

Semi-Supervised Learning

Semi-supervised learning is a method of learning which require partially labeled data, a lot of unlabeled data and a little bit of labeled data. The few labeled datasets provided to the algorithm serve as the starting point for learning. After that, the algorithms need to learn from large volumes of unlabeled data.
Most semi-supervised learning algorithms are the combination of unsupervised and supervised learning algorithms. For example, Deep Belief Networks (DBNs).

Unsupervised Learning

Unlike supervised learning, training data for unsupervised learning  is unlabeled. Given only input data without any target, the algorithms can learn from data.
For example, lets say you want to recommend products to targeted group of users in your e-commerce website. By training a unsupervised clustering algorithm by feeding the purchase history records of each customers as training data, you can group customers to clusters with similar interests.

Unsupervised learning algorithms can be grouped as: Clustering, Visualization & Dimensionality Reduction, and Association rule mining. For example: Apriori, k-means, PCA, t-SNE, etc.

Reinforcement Learning

Reinforcement learning doesn't need labeled data but require some kind of assistance during learning. The algorithms continuously learns from data.
reinforcement learning
Reinforcement Learning

The learning system, called an agent, observes the environment, selects and performs actions, and gets rewards or penalties (negative rewards) in return. It must then learns by itself what is the best strategy, called a policy, to get the most rewards over time. A policy defines what action the agent should choose when it is in a given situation to get the reward. The reward function is responsible for providing reward or punishment based on its actions.

Reinforcement learning algorithms are either model-based or model-free. For example: Q-Learning is an example of reinforcement learning algorithm. The most common use cases are: self-driving car,  DeepMind’s AlphaGo, etc.

Online Learning and Offline Learning

Machine learning models can be trained in two ways: Online or Offline.
Online learning involves incremental learning of ML model with mini-batches of dataset.  Each learning step is fast and cheap, so the system can learn about new data on the fly, as it arrives. Online learning is great for systems that receive data as a continuous flow (e.g., stock prices) and need to adapt to change rapidly or autonomously. ML model trained using online learning is called dynamic model.
Whereas, offline learning involves training ML model on whole dataset between certain time intervals. It will usually take a lot of time and computing resources, so the training is done offline. First the system is trained, and then it is launched into production and runs without learning anymore; it just applies what it has learned. ML model trained using offline learning is called static model.

Instance-based and Model-based Learning

In Instance-based learning, the system learns the training examples by heart, then generalizes to new cases using a similarity measure. The algorithm just learns the similarity between the training instances. For example, if you were to built an spam email classifier using instance-based learning, you'll train an algorithm to find similar attributes between flagged spam emails. The trained model will classify new emails by matching the attributes with trained spam emails. If ham emails which are similar to trained spam emails, it may classify them as spam. For example: K-nearest Neighbors algorithm.

In model-based learning, the system builds a model of training examples and uses that model to make predictions. The algorithm will learn from the training examples by mapping the target attribute as the function of other input features. Taking spam email classifier as an example, the system learns the parameters in the function where email class is a function of features (such as: sender's name, content type). For example: Linear Regressor algorithm.

    Comments