Complete Machine Learning Roadmap

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.

💡
This is the hard part. That's because the rest is made way easier with modern libraries such as Sci-Kit Learn, TensorFlow, and PyTorch!

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!

  1. As web applications

  2. 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.

  1. NumPy (Numeric Python) provides super-efficient data structures (called ndarrays) and high-level math functions.

  2. Pandas: To work with data

  3. Matplotlib: To visualise your data

FreeCodeCamp.org (100% free) has tutorials for every library listed in this article:

💡
Most of these are used in the exploratory data analysis process. So, it would be a good idea to analyse some datasets in Kaggle using these libraries.

🪜 Machine Learning Step-by-Step

Well, machine learning has 4 main types for you to cover:

  1. Supervised Learning: You give the model manually created structured data to learn patterns and make predictions

    • e.g. predicting weather
  2. 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
  3. Reinforcement Learning: The model becomes an agent and interacts with an environment to learn relationships.

    • e.g. AI playing games
  4. 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.

  1. Classification (for supervised learning)

  2. Regression (for supervised learning)

  3. Clustering (for unsupervised learning)

  4. Deep Learning - A broad topic used for every learning type


"Machine Learning is just a fancy way of doing statistics."

~ Unknown (probably, me :)

💡
Yes, machine learning just uses math to do all the magic.

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.

  1. Sci-Kit Learn (Sklearn): Provides all the basic functionality for machine learning

  2. TensorFlow (tf) specialises in Deep Learning (Developed by Google)

  3. OpenCV: For computer vision

There are more... sklearn and tf will alone be sufficient to begin!

💡
Please make sure to build projects for each machine learning type to solidify your understanding. This will make the stuff stick in your fabulous brain!

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:

💡
Note: This is not mandatory!

📽️ 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