Different types of Machine Learning: Models / Algorithms

supervised vs unsupervised machine learning

Machine learning is a type of machine intelligence that enables computers to learn and improve without being explicitly programmed. It’s based on the idea that we can build systems which allow our data to do the talking, by finding patterns in vast quantities of information. These machine learning algorithms require different types of machine-learning models trained using different algorithms, depending on what problem they are trying to solve or how accurate an answer needs to be. In this blog post, we will discuss the following four different types of machine learning models / algorithms:

  • Supervised learning
  • Unsupervised learning
  • Semi-supervised learning
  • Reinforcement learning

What is supervised learning?

Supervised learning is defined as machine learning model training technique in which the machine learning models are trained by providing them with example inputs and their corresponding outputs. For machine learning to be considered “supervised”, there must be some feedback mechanism which uses the result of the machine’s prediction(s) as an input for teaching it how to perform better in future iterations (e.g., if machine classification model predicts spam, machine is told that it’s wrong). However, it is different from reinforcement learning where there is a concept of reward for right action taken. Here are key points for supervised machine learning:

  • The training dataset is a pool of labelled examples.
  • The goal of the supervised learning is to use the dataset to produce a model that takes a feature vector x as input and output information that allows deducing the label for this feature vector.
  • Supervised learning majorly solves regression and classification problems.
  • The examples of supervised machine learning algorithms include some of the following:
    • Linear regression
    • Lasso/ridge regression
    • Decision trees
    • Random forest
    • k-nearest neighbours
    • logistic regression
    • Support vector machine (SVM)
    • Linear discriminant analysis (LDA)
  • Some real-world examples of applications leveraging supervised learning algorithms include housing price prediction, ad click prediction, spam detection, image classification, autonomous driving, machine translation, speech recognition, disease diagnosis, face detection.

Here is a great picture explaining supervised and unsupervised learning.

supervised vs unsupervised machine learning

What is unsupervised Learning?

Unsupervised learning is defined as machine learning model training technique in which machine learning models are not provided with any labelled data, and they must learn from the input/environment themselves. Unsupervised machine-learning techniques try to find patterns in a pool of unlabelled examples (even though such an example is missing some information by definition). The unsupervised learning is primarily of two types:

  • Clustering: This method of unsupervised learning relies on creating clusters from the input data. The datapoints that have similarities will result in belonging to same clusters, and using those clusters, the predictions will be made.
  • Association: The second method of unsupervised learning is association, in which the algorithms find the rules from the input data and the predictions are then made based on those rules and the data.

Here are key points regarding unsupervised machine learning:

  • The training dataset is a pool of unlabelled examples.
  • The goal of an unsupervised learning is discover hidden pattern within the dataset where the output is not predefined.
  • Unsupervised learning models can solve complex clustering and association problems.
  • Some of the examples of unsupervised learning algorithms includesthe following:
    • Hierarchical clustering.
    • K-means clustering.
    • Principal component analysis
    • DBSCAN
    • A priori algorithm for association
  • Some real-world examples of applications leveraging unsupervised learning algorithms include customer segmentation, user profiling, fraud detection, machine quality inspection, machine failure prediction etc.

You may want to check my post on difference between supervised and unsupervised learning.

What is semi-supervised learning?

Semi-supervised learning is defined as a machine learning task that uses a combination of labeled and unlabeled examples for training. Semi-supervised learning assumes the use of both labeled and unlabeled data in order to train on, but it does not assume that all of the labels need to be provided by humans. The way to improve supervised machine learning by using unlabeled data is called semi-supervised machine learning algorithm, which can solve problems of classification, regression, clustering and association.

Here are key points in relation to semi-supervised learning:

  • The training data will contain a very small amount of labelled data and a very large amount of unlabelled data.
  • The goal of a semi-supervised learning algorithm is to improve supervised learning algorithm by using unlabelled data.
  • Semi-supervised learning models can solve problems of classification, regression, clustering and association.
  • Algorithms used for semi-supervised learning can be divided into different categories such as the following:
    • Generative models
    • Discriminative models
    • Self learning machine (SLM) algorithms
    • Dual learning methods
    • Heuristic approaches
    • Graph-based methods
    • Lower density separation
    • Manifold assumption and continuity assumption.

Here is a picture representing the semi-supervised learning:

semi-supervised learning

What is reinforcement learning?

Reinforcement learning is defined as the process in which machine learning algorithms are used to learn how to act in an environment so that they maximize a reward. The goal of reinforcement learning is generally the same as other machine learning techniques, but it does this by trying different actions and then rewards or punishes them based on their effectiveness in meeting your goals.

There are many types of machine reinforcement learning but there are three main types.

  • Model Based reinforcement learning.
  • Policy based machine learning
  • Value based machine learning.

The following represent key points related to reinforcement machine learning:

  • The machine learning agents / models thrive in an environment where they recognise the state of that particular environment as feature vector in data.
  • Each action of the agent brings different kind of rewards and can transfer the agent to another state
  • The primary goal of the reinforcement learning agents / models is to make the system learn a policy.
  • The policy is a function of the feature vector of a state that is considered as an input, and the outputs are an optimal action to implement in that state.
  • If an action is ideal, it maximises the anticipated average reward.
  • Reinforcement machine learning resolves problems of sequential decision making, where the goal is long term.
  • Some real-world examples of applications leveraging reinforcement learning algorithms include self-driving cars, machine chess playing and machine tutoring systems.
  • The machine learning algorithms that represent reinforcement learning include Q-learning, policy iteration and deep Q network.

Here is a picture representing reinforcement learning:

reinforcement learning example

You might want to check out some great mind maps on machine learning which I curated from different places.

Machine learning algorithms are getting more advanced and starting to solve complex problems. In this blog, we discussed different types of machine learning tasks such as supervised machine learning, unsupervised learning, semi-supervised learning and reinforcement learning. It is important to get a good understanding of these machine learning techniques in order to use them effectively to solve real-world problems. If you wanted to learn more about machine learning, there are a lot of courses available online to help you get started. Check out our channel on free online machine learning courses.

Ajitesh Kumar
Follow me
Latest posts by Ajitesh Kumar (see all)

Ajitesh Kumar

I have been recently working in the area of Data Science and Machine Learning / Deep Learning. In addition, I am also passionate about various different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia etc and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data etc. I would love to connect with you on Linkedin and Twitter.
Posted in Data Science, Machine Learning. Tagged with , .

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.