The 3 main types of Machine Learning algorithms
In a previous blog post, we talked about the differences between artificial intelligence, machine learning, and deep learning.
Yet we didn’t dive into what is being covered by machine learning and how it is being systematically organized.
In this blog post, we are going to go through the 3 main types of machine learning algorithms.
Most of the modern machine learning models fall into one of the following categories
- Supervised Learning
- Unsupervised Learning
- Reinforcement Learning
Supervised Learning is the most common type of machine learning: given some input and the corresponding output, ask the computer to build a model that maps the input to the output.
Imagine you are given a bunch of pictures of raccoons and red pandas. Each of them is labeled so that even you have no idea how a raccoon looks like you still know the animal in the photo is a raccoon.
After studying all the labeled pictures, if we pass you a new photo of raccoon you should have enough knowledge to answer what is in the picture.
This is supervised learning. (Actually, it is called classification)
Typical supervised learning problems include
- Regression: Building a model to estimate values
- Classification: Building a model to classify objects
As compare to supervised learning, in unsupervised learning, instead of the relationship between input and output, we are more interested in the pattern among the data.
For example, you are given a collection of photos of various cat breeds and you are asked to group them. You may successful group all the Scottish fold together, but you may also put British short and American short into the same group.
There is no right or wrong in the grouping and what we want to know is which cats look alike to you.
This is unsupervised learning. (Actually, it is clustering)
Typical unsupervised learning problems include
- Clustering: Grouping similar objects together
- Outlier detection: Finding abnormal individuals
In reinforcement learning, the algorithm doesn’t learn from a static dataset, it learns from a dynamic environment instead.
The algorithm will have to consistently make decisions. Based on the result of such a decision, it will be “rewarded” or “punished”.
By repeating this cycle, eventually, the algorithm will learn what should be done based on the environmental information.