People interested in learning machine learning on their own often tell me that there are so many courses online and they don’t know which ones to take. So I’ve put together 10 free online courses on machine learning that I find the most helpful. They should be taken in order.

1. Probability and Statistics by Stanford Online

See course materials

This wonderful, self-paced course covers basic concepts in probability and statistics spanning over four fundamental aspects of machine learning: exploratory data analysis, producing data, probability, and inference.

Alternatively, you might want to check out this excellent course in statistical learning: “An Introduction to Statistical Learning with Applications in R”.

2. 18:06 Linear Algebra by MIT

See course materials

The best linear algebra course I’ve seen, taught by the legendary professor Gilbert Strang. I’ve students describe this as “life changing”.

3. CS231N: Convolutional Neural Networks for Visual Recognition by Stanford

See video lectures (2017) See course notes

Whether you’re into computer vision or not, CS231N will help you become a better machine learning researcher/practitioner. CS231N balances theories with practices. The lecture notes are well written with visualizations and examples that explain difficult concepts such as backpropagation, gradient descents, losses, regularizations, dropouts, batchnorm, etc.

4.Practical Deep Learning for Coders by

See course materials

With the ex president of Kaggle as one of its co-founders, this hands-on course focuses on getting things up and running. It has a forum with helpful discussions about the latest best practices in machine learning.

5. CS224N: Natural Language Processing with Deep Learning by Stanford

See video lectures (2017) See the latest course materials

Taught by one of the most influential (and most down-to-earth) researcher, Christopher Manning, this is must-take course for anyone interested in natural language processing. The course is well organized, well taught, and up-to-date with the latest NLP research.

6. Machine Learning by Coursera

See course materials

Originally taught at Stanford, Andrew Ng’s course is probably the most popular machine learning course in the world. Its Coursera version has been enrolled by more 2.5M people as of writing. This course is theory-heav, so students would benefit more from the course if they have taken more practical courses such as CS231N, CS224N, and Practical Deep Learning for Coders.

7. Probabilistic Graphical Models Specialization by Coursera

See course materials

Unlike most AI courses that introduce small concepts one by one or add one layer on top of another, this specialization tackles AI top down as it asks you to think about the relationships between different variables, how you represent those relationships, what independence you’re assuming, what exactly you’re trying to learn when you say machine learning. This specialization will change the way you approach machine learning. Warning: this specialization isn’t easy. You can also consult detailed notes written by Stanford CS228’s TAs here.

8. Introduction to Reinforcement Learning by DeepMind

See lecture videos

Reinforcement learning is hard. Luckily, David Silver is here to the rescue. This course provides a great introduction to RL with intuitive explanations and fun examples, taught by one of the world’s leading RL experts.

9. Full Stack Deep Learning Bootcamp by Berkeley

See course materials

Most courses only teach you how to train and tune your models. This is the only one I’ve seen that shows you how to design, train, and deploy models from A to Z. This is also a great resource for those struggling with the machine learning system design questions in interviews.

10. How to Win a Data Science Competition: Learn from Top Kagglers by Coursera

With all the knowledge we’ve learned, it’s time to head over to Kaggle to build some machine learning models to gain experience and win some money.

The course is no longer available, but here is a great writeup: How to Win Kaggle Competitions

I find the order works for me, but some people, including Jeremy Howard from, disagreed on the order the courses should be taken. You can join the discussion on Twitter here:

For more resources, check out my MLOps Guide