Machine Learning RoadMap 2021 Edition

Machine Learning RoadMap 2021 Edition

Dec 21, 2020

Machine Learning is turning things (data) into numbers and finding patterns in those numbers.

Before starting the roadmap, I would like to take a minute to explain Traditional Programming (s/w 1.0) vs. Machine Learning (s/w 2.0).

1_Jo7TE7016bTRBV1nl6yPNg.png

Traditional Programming refers to any manually created program that uses input data and runs on a computer to produce the output.

Machine Learning, also known as augmented analytics, the input data and output is fed to an algorithm to create a program.

This yields powerful insights that can be used to predict future outcomes.

Introduction

This is a complete end-to-end machine learning roadmap, whether you are a beginner or an expert in machine learning, this is a comprehensive roadmap for one to ace in machine learning.

If you are a beginner then first you need to identify which type of beginner you are, there are quite a different type of beginners as follows:

  • Who new to programming and have no prior experience.

  • Who knows a little bit of programming.

  • Who currently studying computer science

  • Who knows good maths and new to machine learning.

a. New to programming

The one who is new to programming, don't know anything about it, is an absolute beginner, this kind of people should start learning to a program like C++, Java, Python, etc.

Following 4 Programming Language That Will Dominate 2021 will be helpful for absolute beginners.

You can pick programming languages followed by the resources from the above link.

b. Little Experience in programming

The 2nd type of people who know programming language how it works but don't know a great deal about programming.

They can directly jump into problem-solving using their favorite language on Leetcode or Hackerrank to brush up their concepts.

c. Who Studying Computer & Good in Maths

The same approach & guide for problem-solving would be recommended for the 3rd type and 4th type of candidate.

  1. Brush Problem Solving Skill with Leetcode

  2. Top 30 Most Common Problems

  3. 100+ Coding Interview Questions for Programmers

Now you know how to code, write loops, if-else, and basic constructs.

Machine Roadmap

To learn machine learning and data science you need to learn some specific libraries in python where each library has its own importance in the field of machine learning.

1. Libraries

Numpy: Used for optimized numerical computations

import numpy as np 

# Creating two arrays of rank 2 
x = np.array([[1, 2], [3, 4]]) 
y = np.array([[5, 6], [7, 8]])

Resources

Pandas: For Handling Data Manipulation

import pandas as pd 

data = {"country": ["Brazil", "Russia", "India", "China", "South Africa"], 
       "capital": ["Brasilia", "Moscow", "New Dehli", "Beijing", "Pretoria"], 
       "area": [8.516, 17.10, 3.286, 9.597, 1.221], 
       "population": [200.4, 143.5, 1252, 1357, 52.98] } 

data_table = pd.DataFrame(data) 
print(data_table)

Resources

Matplotlib: For Data Visualization

import matplotlib.pyplot as plt 
import numpy as np 

# Prepare the data 
x = np.linspace(0, 10, 100) 

# Plot the data 
plt.plot(x, x, label ='linear')

Resources

Scipy: Used for optimization, linear algebra, integration, and statistics.

# Python script using Scipy  
# for image manipulation 

from scipy.misc import imread, imsave, imresize 

# Read a JPEG image into a numpy array 
img = imread('/var/tmp/cat.png') # path of the image 
print(img.dtype, img.shape) 

# Tinting the image 
img_tint = img * [1, 0.45, 0.3]

Resources

Scikit-Learn: Used for data-mining and data analysis.

from sklearn import datasets 
from sklearn import metrics 
from sklearn.tree import DecisionTreeClassifier 

# load the iris datasets 
dataset = datasets.load_iris() 

# fit a CART model to the data 
model = DecisionTreeClassifier() 
model.fit(dataset.data, dataset.target) 
print(model)

Resources

Theano: Used to define, evaluate, and optimize mathematical expressions involving multi-dimensions arrays in an efficient manner.

import theano 
import theano.tensor as T 
x = T.dmatrix('x') 
s = 1 / (1 + T.exp(-x)) 
logistic = theano.function([x], s) 
logistic([[0, 1], [-1, -2]])

Resources

At this time you know the language, already solved a bunch of questions in problem-solving with your favorite language, you also know about basic libraries to use.

2. Mathematics

Now, this is the time to learn about mathematics, you had already learned mathematics at high school or at graduation but we recommend revising all the concepts again before starting with machine learning.

Difference between high school maths and machine learning math?

The main difference between the mathematics required to solve machine learning problems and what we study at school is, here in machine learning we need applied mathematics, we need to apply theorems and concepts to solve real-world problem whereas in school we only solve questions based on theorems and equations, but here we need to make equations and then solve them.

0_xxYrThCJXugbESV3.png

  1. The Mathematics of Machine Learning

  2. Probability and Statistics

  3. Linear Algebra

  4. Calculus

  5. Number Theory

  6. Application of Linear Algebra

  7. Convex optimization from Stanford

  8. Udacity’s Introduction to Statistics

Extra Resource who have fear in Maths

3. ML Tools

Now you know the language, already solved a bunch of questions in problem-solving with your favorite language, you also know about basic libraries to use and now you also know what maths topic is important to proceed with machine learning.

Now it's time to know about the Machine Learning tools used across the industry at the global level.

1. Experiment Tracking

2. Pre-trained models

3. Data & Model Tracking

4. Cloud Compute Services

5. AutoML & Hyperparameter Tuning

6. ML Lifecycle

EndNote

  1. Machine Learning RoadMap

  2. Libraries For Machine Learning

  3. Maths by popularity

Enjoy this post?

Buy Rahul Singh a coffee

2 comments

More from Rahul Singh