* This article was long due.* We already have a handful of Python machine learning articles on the site, but we did not have a roadmap explaining the various different components of machine learning.

Until Now!

Let me take you through everything that resides within machine learning, what algorithms are present in each, and many of the recent discoveries in the field.

## What is Machine Learning?

**Machine Learning (ML)** is defined as a set of computer algorithms that makes systems autonomously learn and yield outputs and further improve from various analysis and outputs.

Machine Learning algorithms can be used to solve business problems like Regression, Classification, Forecasting, Clustering, and Associations, etc.

And if you have heard these terms below, you will be able to segregate all these terms into their respective categories (for an interview or otherwise).

The important thing to understand is that the algorithms we’re learning today, or those that are used in MNCs worldwide in the present-day are actually quite old.

The main set of classification algorithms were developed in the early 1950s.

Even modern deep learning technology that we learn (for example recurrent neural networks) were created in mid-1960s by soviet mathematicians.

Why am I telling you this? Because we should be humble in our learning process.

## Types of ML algorithms

On many sources, you’ll observe that they classify the algorithms into three classes. However, there are **four** broad classifications in machine learning (it is simply confusing for many people to understand):

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

Let’s look at each of these separately.

### 1. Supervised Machine Learning

Supervised learning is a process that uses labelled past data to learn and the algorithm forecasts the mark for unknown or potential knowledge.

In fact, a supervised machine learning algorithm is told what to look for, and so it does. Until it finds the underlying patterns that produce a reasonable degree of accuracy for the predicted output.

In other words, this machine learning algorithm learns from the past data using these previous known outputs and then produces an equation for the value.

In supervised learning algorithms, we try to model the data. For example, when kaggle tells us that we need to use **regression on house prices**, then we are modeling the data given some constraints.

**If you have done Linear Programming Problems in 12th grade, then you know what these constraints are:**

*A problem is generally represented as AX = B, where A is the matrix of coefficients, X is the column vector of unknown variables and B is the maximum/minimum constraints.*

*B is also the column vector containing our labels (in the context of our machine learning dataset).*

**Supervised learning solves two types of problems:**

- Regression (continuous target variable)
- Classification (categorical target variable)

I have comprised a list of algorithms here based on their classification:

https://github.com/arkaprabha-majumdar/list-of-ML-algorithms

Give that a look.

### 2. Semi-supervised Machine learning

We often have data that has only a small part of it labeled, and the rest of the data unlabeled. This is extremely common and falls under semi-supervised learning.

This is particularly important because, in the real world, most data you’ll get is of this type.

This is because labeling data is a human task, and requires a lot of time, effort, and costs. Hence, it’s much simpler to label some of the data.

It has a categorical target variable and works for both classification and clustering problems.

### 3. Unsupervised learning

Unsupervised learning is a type of algorithm for machine learning that usually uses unlabeled data to train its model.

**We allow the algorithm to self-discover the underlying patterns, correlations, equations, and connections in the data in this method of machine learning without introducing any bias from the end of the user (in the form of constraints/dependency).**

The hidden and unexplained patterns in the data can be identified through unsupervised learning. And hence it helps to find the characteristics that are particularly useful for auto-categorization of the data.

Though there is quite a bit of uncertainty, the advantages far outweigh the cons.

**This can be summarized as follows:** *Say you are tasked with separating a bag of fruits that you have never seen. So you’ll probably divide them into sections based on their physical characteristics (like weight, roughness, etc.), BUT you still wouldn’t know the names of the classes even though you have just separated them. This is exactly what happens in unsupervised learning.*

**Main problems solved are:**

- Clustering (for example, customer segmentation)
- Association (Market Basket Analysis)

*We definitely need to cover Market Basket in a separate article. The algorithm is fantastic, and it will lead to learning recommender systems. So bookmark the site, and keep checking.*

### 4. Reinforcement learning

**Reinforcement Learning consists of a machine component, called an agent, to learn by trial and error in a simulated, immersive virtual world. **

It reinforces the outcomes with a reward-punishment system created by input from their own behaviors and experiences.

No predefined marks exist.

A system of incentives for correct responses and a system of penalties for incorrect responses complement the model.

**Finally, the aim of the algorithm is to optimize incentives.**

**Check out this news article: **https://www.theverge.com/2019/4/13/18309459/openai-five-dota-2-finals-ai-bot-competition-og-e-sports-the-international-champion

**Let me share a real-world example of reinforcement machine learning:**

*So there is this multiplayer game called Dota 2, which is highly popular in the world of e-Sports. *

*So, Elon Musk’s company built an AI robot called OpenAI, which trained against itself ( reinforcement learning ) for an equivalent time of 45000 human years! Of course, since it’s an AI, each game was highly sped up.*

*Dota2 has approximately 115 heroes to choose from initially, which is possibly the most important choice in the game. *

*After this, there is only 1 hero, with 4 abilities, and a possible 6 items at any 1 time, each of which could have an activated ability. *

*Multiply that with the number of players to form a team, and the fact that the game is real-time, and the number of permutation-combinations are mind-boggling.*

*Reinforcement learning is probably as “AI” as it gets, and it’s a heavily researched topic.*

**Reinforcement learning solves two broad types of problems:**

- Classification (in presence of a categorical target variable)
- Control (Driverless cars, self-playing games,etc.) which has no target.

And that’s it!

Now you have a roadmap of what machine learning contains, and the types of problems in each classification.

## Conclusion

Machine Learning is a vast topic. And we understand that covering it in a single article can be very overwhelming. That’s one of the main reasons why we’re going to continue splitting up these topics into multiple parts, covering each segment as we go along.

Continue to follow the new posts on Journaldev and we’re sure you’ll be well along your way in the world of Machine learning and Artificial Intelligence.