# 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. #### IMPORTANT: - This list is not sponsored by any of the mentioned links! I did a lot of the courses myself and can highly recommend them! - This list takes a lot of time and effort to finish if you want to do it properly! The list does not look that long, but don't underestimate it. #### 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! ## The Plan ### 0. Prerequisites - Linear Algebra and Multivariate Calculus - [ ] [Khan Academy - Multivariable Calculus](https://www.khanacademy.org/math/multivariable-calculus) - [ ] [Khan Academy - Differential Equations](https://www.khanacademy.org/math/differential-equations) - [ ] [Khan Academy - Linear Algebra](https://www.khanacademy.org/math/linear-algebra) - [ ] [3Blue1Brown - Essence of Linear Algebra](https://www.3blue1brown.com/essence-of-linear-algebra-page/) - Statistics - [ ] [Khan Academy - Statistics Probability](https://www.khanacademy.org/math/statistics-probability) - Python - [ ] [Python Full Course 4 Hours - FreeCodeCamp on YouTube](https://www.youtube.com/watch?v=rfscVS0vtbw) - [ ] [Advanced Python - Playlist on YouTube (Python Engineer)](https://www.youtube.com/watch?v=QLTdOEn79Rc&list=PLqnslRFeH2UqLwzS0AwKDKLrpYBKzLBy2) - [ ] [Numpy - Free Udemy Course](https://www.udemy.com/course/deep-learning-prerequisites-the-numpy-stack-in-python/) - Matplotlib - [ ] [sentdex - Playlist on YouTube](https://www.youtube.com/watch?v=q7Bo_J8x_dw&list=PLQVvvaa0QuDfefDfXb9Yf0la1fPDKluPF) or - [ ] [Corey Schafer - Playlist on Youtube](https://www.youtube.com/watch?v=UO98lJQ3QGI&list=PL-osiE80TeTvipOqomVEeZ1HRrcEvtZB_) - [ ] [Pandas Tutorial - Playlist on Youtube (Corey Schafer)](https://www.youtube.com/watch?v=ZyhVh-qRZPA&list=PL-osiE80TeTsWmV9i9c58mdDCSskIFdDS) ### 1. Basics Machine Learning - [ ] [Coursera Free Course by Andrew Ng](https://www.coursera.org/learn/machine-learning) - [ ] [Machine Learning Stanford Full Course on YouTube](https://www.youtube.com/watch?v=PPLop4L2eGk&list=PLLssT5z_DsK-h9vYZkQkYNWcItqhlRJLN) - [ ] [Machine Learning From Scratch - Playlist on YouTube (Python Engineer)](https://www.youtube.com/watch?v=ngLyX54e1LU&list=PLqnslRFeH2Upcrywf-u2etjdxxkL8nl7E) - Books (Optional): - [ ] [Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow - Aurélien Géron](https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-TensorFlow/dp/1492032646/ref=sr_1_1?crid=1J69S9GKU93E4&keywords=hands+on+machine+learning+with+scikit-learn+and+tensorflow+2&qid=1584648367&sprefix=hands+o%2Caps%2C256&sr=8-1) - [ ] [Python Machine Learning - Sebastian Raschka](https://www.amazon.com/Python-Machine-Learning-scikit-learn-TensorFlow/dp/1789955750/ref=sr_1_1?crid=L7PEHL95RXH4&keywords=python+machine+learning&qid=1584648438&sprefix=python+ma%2Caps%2C230&sr=8-1) - [ ] [Introduction to Machine Learning with Python - Andreas Müller](https://www.amazon.com/Introduction-Machine-Learning-Python-Scientists/dp/1449369413/ref=sr_1_1?crid=WAQPG9CEM3W&keywords=introduction+to+machine+learning+with+python&qid=1584648523&sprefix=introduc%2Caps%2C238&sr=8-1) ### 2. Deep Learning - [ ] [Stanford Lecture - Convolutional Neural Networks for Visual Recognition](https://www.youtube.com/watch?v=vT1JzLTH4G4&list=PL3FW7Lu3i5JvHM8ljYj-zLfQRF3EO8sYv) - Learn PyTorch (or Tensorflow) - [ ] [pytorch.org official Tutorials](https://pytorch.org/tutorials/) - [ ] [PyTorch Free Course on YouTube (Python Engineer)](https://www.youtube.com/watch?v=EMXfZB8FVUA&list=PLqnslRFeH2UrcDBWF5mfPGpqQDSta6VK4) - fast.ai - Free Courses - [ ] [Practical Deep Learning for Coders Part 1](https://www.fast.ai/) - [ ] [Part 2](https://course.fast.ai/part2) Optional: - [ ] [Stanford Lecture - Natural Language Processing with Deep Learning](https://www.youtube.com/watch?v=8rXD5-xhemo&list=PLoROMvodv4rOhcuXMZkNm7j3fVwBBY42z) - [ ] [Stanford Lecture- Reinforcement Learning](https://www.youtube.com/watch?v=FgzM3zpZ55o&list=PLoROMvodv4rOSOPzutgyCTapiGlY2Nd8u) ### 3. Competitions and Own Projects - [Kaggle](https://www.kaggle.com/) - [ ] Datasets (develop own projects) - [ ] Competitions (start with Getting started section) ### 4. Prep for Interviews - [ ] https://github.com/alexeygrigorev/data-science-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 - https://towardsdatascience.com/the-cold-start-problem-how-to-break-into-machine-learning-732ee9fedf1d - https://www.geeksforgeeks.org/how-to-start-learning-machine-learning/ - https://www.youtube.com/watch?v=itzmu0l93wM - https://elitedatascience.com/learn-machine-learning#step-0 - https://medium.com/@gordicaleksa/get-started-with-ai-and-machine-learning-in-3-months-5236d5e0f230 - https://towardsdatascience.com/beginners-guide-to-machine-learning-with-python-b9ff35bc9c51 - https://www.fast.ai/2019/01/02/one-year-of-deep-learning/ 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