The Ultimate FREE Machine Learning Study Plan
A complete study plan to become a Machine Learning Engineer with links to all FREE resources. If you finish the list you will be equipped with enough theoretical and practical experience to get started in the industry! I tried to limit the resources to a minimum, but some courses are extensive.
Watch the video on YouTube for instructions:
https://www.youtube.com/watch?v=dYvt3vSJaQA
How to use the Plan:
- For theory lectures: Follow along, take notes, and repeat the notes afterwards.
- For practical lectures/courses: Follow along, take notes. If they provide exercises, do them!!! Do not just google the answer, but try to solve it yourself first!
- For coding tutorials: Code along, and after the video try to code it on your own again.
- Step 3 is critical! Your theoretical knowledge is worthless if you don't know how to apply it to real world problems! Do as many personal projects and competitions as you can! You don't have to wait with step 3 until you finished the other parts, I recommend starting with a side project or kaggle competition after you finished part 1.1 (Andrew Ng's course).
The Plan
0. Prerequisites
-
Linear Algebra and Multivariate Calculus
-
Statistics
-
Python
1. Basics Machine Learning
- Coursera Free Course by Andrew Ng
- Machine Learning Stanford Full Course on YouTube
- Udacity - Introduction to Machine Learning
- Machine Learning From Scratch - Playlist on YouTube (Python Engineer)
- Books (Optional and not free, but I recommend at least the first one):
2. Deep Learning
- Stanford Lecture - Convolutional Neural Networks for Visual Recognition
- Learn PyTorch (or Tensorflow)
- fast.ai - Free Courses
Optional:
- Stanford Lecture - Natural Language Processing with Deep Learning
- Stanford Lecture- Reinforcement Learning
3. Competitions and Own Projects
- Kaggle
- Datasets (develop own projects)
- Competitions (start with Getting started section)
- 8 Fun Machine Learning Projects For Beginners
4. Prep for Interviews
Next Level
- Make your own projects to show what you have learned.
- Reproduce paper and implement the algorithms.
- Write a blog to explain what you have learned.
- Contribute to ML/DL related open source projects (sklearn, pytorch, fastai, ...).
- Get into Kaggle competitions.
Further readings
- The cold start problem: how to break into machine learning (Towardsdatascience)
- How to Start Learning Machine Learning? (GeekforGeeks)
- How to get started in machine learning - best books and sites for machine learning (YouTube)
- How you can get a world-class machine learning education for free (Elite Data Science)
- Get started with AI and machine learning in 3 months (Aleksa Gordić)
- https://towardsdatascience.com/beginners-guide-to-machine-learning-with-python-b9ff35bc9c51
- One year of deep learning (Fast.ai)
- Getting Started with Applied Machine Learning (Machine Learning Mastery)
GitHub:
- https://github.com/ZuzooVn/machine-learning-for-software-engineers
- https://github.com/Avik-Jain/100-Days-Of-ML-Code
- https://github.com/yanshengjia/ml-road
Further resources added by the community
Contributions are welcome! If you can recommend any other resources, feel free to open a pull request :)
- Book: Automate The Boring Stuff with Python (Till Chapter 6 for Python Basics, the remaining chapters include the applications of Python)
- Book: Python Crash Course by Erric Matthes
- Book: Learning Python by Mark Lutz
- Basics of Neural Networks, how they learn and some of the involved Mathematics(3Blue1Brown series)
- Article on Beginner Level Datasets
- Article on Life Cycle of a Data Science Project
- Book: Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People
- Book: Mathematics for Machine Learning (with tutorials - FREE)
- Book: An Introduction to Statistical Learning (- FREE)
- Essentials of Statistics by Monica Wahi (YouTube)