The Ultimate Beginner to Advance guide to Machine learning
Last Updated on October 5, 2024 by Editorial Team
Author(s): Umer
Originally published on Towards AI.
You probably clicked on this story because you wanted to learn machine learning but couldn't find a way to get started.
Six months ago, I was in your shoes. Despite countless free roadmaps out there, I struggled to find a clear path for advancing in ML. After much trial and error, Iβve cracked the code to match everyone's learning order. Stick around to unlock the secrets Iβve uncovered on this fascinating journey.
Phases
There are Three Phases in this article. Complete them in the same order and then move forward.
Phase 1: Foundations
Python
Install Python (get the latest)
I mean this is an obvious one but still, some people just hear about the new trend of ML and want to make ChatGPT. This is not possible. You have to learn Python and get a good grip on its fundamentals like loops, functions, lists, tuples, dictionaries, list comprehension.
First of all, learn the syntax from W3school
Then to projects. Get Ideas for beginner projects from Geeks for Geeks
(Donβt listen to the βmust have projects in resumeβ on YouTube)
Spend at least 3 months. The first month will be just learning and learning. Then the rest of the two months will be projects and more projects. You can adjust according to your level of understanding. You will be good when you can use your logic instead of looking at the code or tutorial.
Directories are a common term for folders. To use datasets(explained below) your Python file and dataset should be in the same Directory
When are you ready for the next phase?
You are ready for the next phase when you are able to:
- Write Python code without tutorials.
- Successfully completed at least three small projects.
Phase 2: Exploring Libraries
Now that you have basic knowledge of Python. There are some libraries that will make your coding life easier. Libraries are already written pieces of code that you can take and use it as your own.
To install the libraries, open the terminal and write pip install [library name] or !pip install [library name] (for Google collab only)
Pandas
This library will help you manage large files AKA datasets easily. Learn from W3school or Nicholas. This will be easy to learn.
Numpy
The most common library to do matrix multiplication. Because everything will be in Matrices. Learn basics from W3school.
Matlplotlib
As a Machine Learning engineer, you are always making calculations and manipulating numbers. Matplotlib will help you turn your numbers into visual graphs and help you better understand what are you doing. Something like this
Learn Basic syntax from W3School
To make your graphs more visually appealing Read This
Kaggle and Datasets
Datasets are collections of big data converted into rows and columns which are mostly in Excel files. Kaggle is a site for already-built datasets. Practice Pandas and Numpy (at least 2 months).
You can practice on this dataset (Hit download). This is a dataset on Iris flower and has columns like shape and length etc.
Make sure that after learning the basic syntax of Numpy and Pandas, you should be able to clean the dataset, remove empty rows, and calculate the mean.
When are you ready?
You are ready for the next phase when you can:
- Download and clean datasets.
- Manipulate and reshape data using Pandas, demonstrating your ability to handle real-world data challenges.
- Slice arrays and find mean, mode iterate, and rearrange lists with NumPy.
- You can create basic visualizations that communicate your data insights.
Phase 3: Machine Learning
You are probably saying Finally! But this is just the start. Now comes the hard part.
I started with TensorFlow. There is a whole discussion on which is better. TensorFlow or PyTorch. They are 99% the same for starting. After just learning the basics of one you can easily adapt to the other
how I learned Beginner ML
To be honest I learned ML the hard way. I remember hearing the word βNeural Networksβ for the first time and it seems very interesting that a computer can mimic human behavior and you can train it.
Then I came across Neural Network from Scratch. Because I knew intermediate Python I thought how hard it could be. That was pretty hard.
I remember hitting pause every few seconds, trying to figure out what was going on. Each time, Iβd stop and ask ChatGPT about every single line of code and function. Then Iβd open a new tab, search YouTube again, and dive into another concept. It was a rabbit hole
I watched the whole series of 3Blue1Brown Neural Network and wrote the concepts on paper. Then onto Daniel Bourke and Andrej Karpathy and now I'm learning NLP and computer vision
TensorFlow or PyTorch? This is the most asked question with no perfect answer. They are almost the same with the same functions and documentation. Some people say that PyTorch is more user-friendly. But I chose Tensorflow because I liked its logo(yeah that's it).
- Daniel Borukeβs YouTube TensorFlow course part-1
- Daniel Bourkeβs YouTube Tensorflow course part-2
- Andrej Karpathy Website
- Tensorflow Documentation (Most important)
- ML algorithms from scratch Assembly AI (Free) (important)
- Neural Network from Scratch (Free) (important)
Why These?
I was looking for someone who could explain every line, function, and variable of ML code, and Daniel Bourke and Andrej Kaparthy did it Perfectly. Most importantly, they always give you a reference to where to find anything and learn yourself
Other Resources
- Andrew Ngβs Machine Learning on Coursera (Free)
- Andrew Ngβs deeplearning.ai course on Coursera (Paid)
- Fast.ai Deep Learning Course (part 1) (Free)
- Fast.ai Deep Learning Course (part 2) (Free)
Books
Personally, I am not a book guy for studying ML but if you are, Then the most popular ones are
- Hands-On Machine Learning with Scikit-Learn and TensorFlow
- Artificial Intelligence: A Modern Approach
Maths
You might be wondering why I never mentioned Maths till now. Well, you donβt need it before reaching here. Now my advice is:
Learn Math as you do machine-learning code. This way you will know what you are writing.
For Probability and Statistics:
For Neural Networks:
For Linear Algebra:
3Blue1Brown was a door opened to me. I never hated maths but never liked it also because I always thought, When in life will I use this? His videos were the answer.
Projects
Learning new tools will get you nothing if you cannot test those tools and knowledge. When you are following courses and tutorials, you are in your comfort zone. So when you learn something new, test it out, even if it is small.
Other Resources
- HuggingFace (Built-in Models, Datasets)
- GitHub (Source codes, datasets, community)
- Google Colab (will help when you run codes with computational load)
When are you ready?
You are ready for the next Phase when you can:
- Build simple neural networks like regression models and classification Models.
- Understand Hyperparameters like learning_rate and activations
- Built models like decision trees and KNN, and you understand how to tune these models.
- Explain the difference between training accuracy and test accuracy and know when a model is overfitting.
Phase 4: Advanced Resources
Now I assume you know basic to intermediate Machine Learning, but if you are confused as to where to go next, Follow this:
Natural Language Processing (Currently doing)
NLP is a great start to advanced ML. Donβt get too lost searching for perfection, and think you can make ChatGPT yourself at one go. learn with patience and practice on pre-trained models, which you can find on HuggingFace
- Keras NLP Documentation
- Andrej Karpathy Neural Networks: Zero to Hero (free)
- NLP Specialization by Andrew Ng on Coursera (paid)
Generative AI
This is more complex than NLP as it requires complex architecture and deeper mathematical understanding. It requires massive data and images, but in the end, the result is worth all the effort.
- Generative AI in a nutshell (free) (start here)
- FreeCodeCamp Generative AI full course (free)
Computer Vision
This is one of the most demanding and easy-to-learn branches of ML. It seems like it is difficult, but in reality, it requires practice on OpenCV and image classification.
- FreeCodeCamp Deep Learning for Computer Vision (Free) (start here)
- Geeks for Geeks Computer Vision Tutorial (Free)
- OpenCV Basics by Nicholas Renotte
Why Am I learning from online Resources?
Learning to learn is a skill gained through experimentation. I aim to teach the right way clearly so that a beginner doesn't go around every course on ML.
Another reason is Flexibility. I can learn any ML/DL, whether it is some beginner concept I forgot or an advanced course, I can just google it and have multiple resources to learn from
On top of that by learning Machine learning in early stages, I can network with people in this field and learn from them. And when you learn something unexpectedly early in your life, and show what you know, people around you start noticing you and give referrals. This is how you can grow your network
Is this It?
No. This article will keep getting updates for you to learn. I will try my best to gather the best resources in even the most advanced ML concepts and as I learn myself, I will teach you too
Let me know what you think
Join thousands of data leaders on the AI newsletter. Join over 80,000 subscribers and keep up to date with the latest developments in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming aΒ sponsor.
Published via Towards AI