Different types of Machine Learning Problems

types of learning problems

This post describes the most popular types of machine learning problems using multiple different images/pictures. The following represent various different types of machine learning problems:

  • Supervised learning
  • Unsupervised learning
  • Reinforcement learning
  • Transfer learning
  • Imitation learning
  • Meta-learning

In this post, the image shows supervised, unsupervised, and reinforcement learning. You may want to check the explanation on this Youtube lecture video.

Types of machine learning problems
Fig 1. Most popular types of machine learning problems

Unsupervised Learning Problems

In unsupervised learning problems, the learning algorithm learns about the structure of data from the given data set and generates fakes or insights. In the above diagram, you may see that what is given is the unlabeled dataset X. The unsupervised learning algorithm learns the structure of data X and then generates fakes and insights.

One of the classical unsupervised learning problems is clustering where the algorithms identify similar clusters of data set. One then labels the data and the same could be used to classify future data set appropriately.

Another example of unsupervised learning is generative modeling. Generative modeling is an unsupervised learning task that involves automatically discovering and learning the regularities or patterns in input data in a way that the trained model can be used to generate or output new examples similar to the real dataset.

Here is another example of unsupervised learning: Predict next character (charRNN) or predict next word (word2vec) by understanding character and word relationship respectively. Another example is predict next pixel. The application of these examples are autocompletion of words or images. Algorithms such as variational autoencoders (VAE) and generative adverserial network (GAN) is classic example of unsupervised learning. The picture below represents VAE where the compressed representation of input data (such as image) is learned and then original picture can be recreated using decoding network.

Fig 2. Unsupervised learning – Variational autoencoder

Supervised Learning Problems

Those problems where you have data and associated labels, you train the machine learning models with the help of given data and their labels. Such problems are called supervised learning problems. And, the algorithms used to train such models are called supervised learning algorithms. Once the model gets trained, you use the model to make the prediction (labels) on unseen data. In the diagram above, you have a dataset where Y is a label for the X dataset. The algorithms are fed with data and labels. The models get trained accordingly such that it does prediction on unseen data (X’). The following represents some of the examples of supervised learning algorithms:

  • Linear regression
  • Logistic regression
  • Random forest, decision tree algorithms
  • Boosting algorithms
  • Neural networks

Here is a picture representing supervised learning problem.

Fig 3. Supervised learning problem example – Image recognition

In the above picture, the data is cat and dog represented in form of pixels and the label is represented in form of one-hot encoding. In the example given below, speech recognition is represented as a supervised learning problem.

Fig 4. Supervised learning problem example – Speech recognition

Reinforcement Learning Problems

In the problems where there is a need to identify the most appropriate actions to be taken based on the environment state, reinforcement learning algorithms are used. Such problems are termed reinforcement learning problems. As shown in the above diagram, the agent takes action on the environment and gets to know rewards and the new state of the environment. It learns from this data set in order to predict the most appropriate action in the future. In reinforcement learning, the goal is to learn in order to maximize the reward.

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.