A Deep Dive Into Machine Learning
Tags: machinelearning, datascience, beginners
Published: 2021-05-03 09:18:40

Machine learning is one of the latest buzzwords in tech. This field has experienced an uprising in the past few years. The role of a machine learning engineer ascertains you a level of job security, as machine learning is one of the highest paying jobs in recent times.

With the promising future of this tech discipline, it is not surprising that several people have grown interest in the field. I believe that you, reading this are one of such people.

Starting to learn machine learning, especially when you are not well-grounded in what it entails, can be daunting. This article will cover the nitty-gritty of machine learning needed to give you the necessary knowledge and confidence to start machine learning.

## What Is Machine Learning?
Machine learning is simply making machines learn patterns from existing data and applying them to new data. It is all about making inferences and predictions from data.

You can liken machine learning to a child learning to recognize and identify people around him. The child sees the people many times, watches them,  identifies their features, then, when he sees these people again, he uses the knowledge he has accrued from watching these people in identifying who is who.

And that is the workflow of any machine learning process. We feed data to a machine, the machine studies the data, and discovers patterns in the data. When new and unseen data is fed to the machine, it predicts or makes inferences from the data based on patterns discovered from previous data fed to it.

This process of feeding data to a machine to enable it to make inferences from future unseen data is called training a model. Machine learning is all about modeling. 

A machine learning model is an algorithm with a clear set of instructions on how our machine is expected to learn from data, what it is expected to predict, and the overall expected methodology.

![](https://media.giphy.com/media/5dYeglPmPC5lL7xYhs/giphy.gif)

## Types Of Machine Learning

Machine learning problems can be categorized into three distinct types:

- Supervised Learning
- Unsupervised Learning
- Reinforcement Learning

## Supervised Learning


As previously discussed, machine learning models are trained on data. The nature of the data determines if the machine learning problem is supervised or unsupervised. In supervised learning, the training data is labeled, and the values of targets are known.

Supervised learning is when you have your input values with known output values; then, you use an algorithm to derive a function that matches input to output.

To thoroughly understand the concept of machine learning, think of a teacher teaching a student how to solve a maths problem. The teacher knows and has the answer to the maths problem. The student, on the other hand, is expected to solve and find the answer following a set of instructions. The student iteratively solves the problem and is corrected by the teacher until he derives the correct answer. The student only stops solving the question when he derives the correct answer.

![](https://media.giphy.com/media/3og0IJXQEKwIdIEYpy/giphy.gif)

This is the process of machine learning. The engineer writes an algorithm with which the machine is expected to derive a relationship between the input and output values. The machine follows the instructions as outlined in the model and does its best to come up with a function that maps the input to the output.

The engineer can then compare the outputs predicted by the model to the already known output. He checks the accuracy of the model, and if need be, he fine tunes the model to better increase its accuracy. This machine learning process is supervised, as the input and output values are known.

Supervised learning problems can be further classified into two:

- ### Classification
Classification is a type of supervised learning problem where the output is a category. The output values of a classification problem are distinct classes, and our output can belong to only one of these classes. Examples of classification problems are spam or no-spam predictions, cat or dog predictions, etc.


- ### Regression
Regression problem is where the output is a real value and can take on any value within a continuous range. Examples are weight, height, or salary predictions.

## Unsupervised Learning
Unsupervised learning is when there are inputs but no output in the training data. In unsupervised learning, there are no correct answers or teachers. 
The model will study the distribution of the data and derive insights into the underlying structure and presentation of the data. 
Unsupervised learning can further be grouped into:

- Clustering
- Anomaly detection

## Reinforcement Learning
Reinforcement learning is a branch of machine learning concerned with making machines make decisions. Reinforcement learning employs a trial-and-error approach in deciding the best strategy or decision to make. An example of a reinforcement learning problem is a model for playing chess games.

## The Machine Learning Workflow
To solve any machine learning problem, here is the basic workflow:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xslyi44uwvymnx7wbs8e.jpg)

1. Gather datasets
2. Extract features
3. Split the dataset into training and testing sets.
4. Train the model on the training set
5. Evaluate the model on the testing set
6. Fine-tune the model

Machine learning is all about modeling. 

## References
To further learn about machine learning, here are some helpful resources:

[Supervised and Unsupervised Learning](https://machinelearningmastery.com/supervised-and-unsupervised-machine-learning-algorithms/
)
[Reinforcement Learning](https://www.geeksforgeeks.org/what-is-reinforcement-learning/) 
[Reinforcement Learning; the Complete Guide ](https://deepsense.ai/what-is-reinforcement-learning-the-complete-guide/)
[Machine Learning Project Workflow](https://towardsdatascience.com/workflow-of-a-machine-learning-project-ec1dba419b94)

Happy modeling!🎉