Complete Machine Learning Roadmap
Slither into a rapidly growing industry to have FUN! Includes the best resources + the coolest projects...
Fantastic! You've heard about the hype: machine learning. So, you came here to become an ML master, right?
Ok. Before we begin, let me introduce you to the regular machine-learning workflow. Based on this, we'll develop the roadmap so that you can harvest the best results!
⚙️ Machine Learning Workflow
1 Problem
You need a problem to solve using a machine learning model. This could be recognising your cute face given a bunch of pictures or even assuming what you are going to text your significant other tonight.
2 Target
Once you have a problem, you need to define a target you want your model to accomplish. This is probably going to be a metric that is used to measure the performance of the model (e.g., accuracy). Basically, if the model can pass this target, you consider it as successful.
3 Data
Finally, to train a machine-learning model, you need data (not always, though).
Once you collect data, you should explore it. This is called Exploratory Data Analysis (EDA). In this phase, you are trying to find different relationships between features of data and filter out the best to train the model on.
Since you are just getting started, you can find plenty of datasets on websites like
4 Modelling
This is the cool part. You find a fancy model and train it on the data. Then, test the results to find out how well they have performed.
5 Experiment
The great thing about machine learning is that there is no correct or perfect solution. Every model has its capabilities and limits. You just have to experiment with different models to find out which is optimal.
6 Deployment
There are various ways to deploy a machine learning model. I'll just jot down some below. This is something you can research after you grasp the foundational concepts!
As web applications
As an API (Application Programming Interface) - This way, others can make requests and use your models
Where to deploy?
- Oh, there are lots of services like AWS (Amazon Web Services), Microsoft Azure and Vercel (go-to solution for beginners).
⛲ The Foundation
First and foremost, you need a programming language. For machine learning folks, the most recommended option is Python!
There are heaps of resources to learn Python. To make sure you're going to make it to the other end, you can read this article I wrote.
Once you have tackled Python, you need to learn these basic libraries.
NumPy (Numeric Python) provides super-efficient data structures (called ndarrays) and high-level math functions.
Pandas: To work with data
Matplotlib: To visualise your data
FreeCodeCamp.org (100% free) has tutorials for every library listed in this article:
🪜 Machine Learning Step-by-Step
Well, machine learning has 4 main types for you to cover:
Supervised Learning: You give the model manually created structured data to learn patterns and make predictions
- e.g. predicting weather
Unsupervised Learning: Given unstructured data (i.e., no order or category), the model figures out different patterns and relationships using advanced algorithms.
- e.g. face recognition
Reinforcement Learning: The model becomes an agent and interacts with an environment to learn relationships.
- e.g. AI playing games
Transfer Learning: Pretty simple; you use a pre-trained model for a different purpose. i.e., transferring the model's knowledge to address a different problem.
Once you understand these, you need to learn about different machine-learning methods to accomplish each learning type.
Classification (for supervised learning)
Regression (for supervised learning)
Clustering (for unsupervised learning)
Deep Learning - A broad topic used for every learning type
"Machine Learning is just a fancy way of doing statistics."
~ Unknown (probably, me :)
Nowadays, you just don't need to be a math whiz to master machine learning. You can basically dive straight into the following high-level libraries to use it as a pro.
Sci-Kit Learn (Sklearn): Provides all the basic functionality for machine learning
TensorFlow (tf) specialises in Deep Learning (Developed by Google)
OpenCV: For computer vision
There are more... sklearn and tf will alone be sufficient to begin!
What's more, if you want to be really good at machine learning, you should know what happens under the hood. For that, you need a decent knowledge of linear algebra, calculus, statistics and probability.
You can use the following resources to accomplish that:
Khan Academy - 100% Free
3Blue1Brown YouTube Channel - Visually intuitive
StatQuest - 99.99% Humorous
- Especially the Machine Learning Playlist
📽️ Some Project Ideas
From beginner to expert...
Cats vs. Dogs Showdown
An image classifier that distinguishes cats and dogs separately.
Emojify the World
Text-to-emojis based on sentimental analysis
Pac-Man Prodigy
An AI that'll lift Pac-Man to the highest score possible (3,333,360 points)
Autonomous Adventure
simulated self-driving car in a game. You may find Sentdex's GTA Self-Driving Car Playlist useful.
👋 Conclusion
So... that's all it takes to become a pro. Believe me, just listing these down is way easier than really learning them. I say that with experience. Don't be discouraged. That's the way things work. Be consistent and willing to commit. The more effort something requires, the more satisfaction it brings to you at the end!
Good Luck 🤞🍀 (you'll need it)!
"Nothing is impossible to a willing heart."
~ John Heywood