Mihail Eric

# Best Online Machine Learning Courses: 2020 Edition

What a year it has been for machine learning! Phenomenal new advances in the field and further progress in technology and science are continuing to make this one of the most exciting fields to pursue for a career.

In this post, we'll describe some of the best online machine learning courses in 2020 for learning classical machine learning, deep learning, and machine learning in production. While it isn't absolutely necessary to go through all the courses to achieve machine learning mastery, these resources are a great way to expand your knowledge of various concepts in machine learning and data science.

__Coursera Introductory Machine Learning__

**Overview**

This is one of the most popular introductory machine learning courses out there, based closely on lectures given in __Andrew Ng's Stanford course__. Most people in machine learning today got their start with this course, and it's no surprise given the clarity and thoroughness of the teaching materials.

Even after all these years, students around the world still turn to this class for their first taste of machine learning. The only downside of the course is the labs use Matlab/Octave which are not really the go-to frameworks for doing machine learning today, having been overtaken by Python.

**Topics Covered**

As an introductory machine learning course, this covers all the fundamentals of machine learning theory including supervised learning algorithms (linear regression, logistic regression, support vector machines, and some neural networks), unsupervised learning algorithms (principal components analysis, k-means, etc.), and applied machine learning principles (regularization, bias-variance tradeoff, evaluation metrics, error analysis, feature selection, etc.)

**Prerequisites**

Since this is an introductory machine learning course, there aren't *technically* any hard requisites. That being said, you'll understand details of the class more if your mathematical fundamentals in linear algebra and probability theory are strong. This class is ideal for those with **0-6 months of machine learning experience**.

__FastAI Introduction to Machine Learning__

**Overview**

This is another very popular introductory machine learning course taught by the __awesome folks__ at __FastAI__, a San Francisco-based research institution. FastAI courses have a unique teaching philosophy where they present things in "reverse-order," starting with the final topics a course is meant to build up to and slowly deconstructing the fundamentals that allow you to get the final result. This is in stark contrast to traditional courses where you spend the first 8-10 weeks learning all the building blocks so that you are able to understand some final application or set of concepts in the final 2 weeks.

FastAI's pedagogy emphasizes always knowing the motivation for why you are learning something (hence why you start at the end). Their courses are very hands-on and project-driven and focus a lot on building intuition without all the smoke and mirrors. Notably, the FastAI motto is "*Making neural networks uncool again.*"

**Topics Covered**

When applied to an introductory machine learning course, the FastAI curriculum starts with random forests in their first lesson. Random forests are powerful and fairly sophisticated machine learning models that are conventionally covered in the last third of other machine learning course. From there, the class "peels back the onion"until you learn how to program a random forest model from scratch, slowly teaching the relevant machine learning theory such as bias-variance tradeoff, regularization, feature selection, etc.

Notably, regularization is covered in the last third of the course (like we said, they start with the end and end with the beginning). Other topics covered include: gradient descent, model interpretation, embeddings, and columnar data (the latter two topics not being something you typically see in an intro machine learning class).

**Prerequisites**

Again as an introductory machine learning course, there aren't really hard prerequisites. FastAI courses like to emphasize not needing advanced degrees or backgrounds to do well. Nonetheless you'll get more out of the class if your mathematical fundamentals in linear algebra and probability theory are strong. This class is ideal for those with **0-6 months of machine learning experience**.

__Coursera Deep Learning Specialization__

**Overview**

This series of classes is a follow-up to the Coursera machine learning course again taught by __Andrew Ng__. Here they focus specifically on building out your expertise in various aspects of deep learning and neural networks, which have become among the most commonly-used algorithms for machine learning in the last 3-5 years. This specialization is technically 5 courses though don't be scared: it's not as long as 5 full classes.

**Topics Covered**

The deep learning specialization is quite comprehensive in its offering, covering all aspects of neural networks from basic feedforward neural networks through to convolutional networks and sequence-based recurrent neural networks. Along the way, the class emphasizes applications of the models covering topics like autonomous vehicles, processing of radiology images, speech recognition, music synthesis, and chatbots.

**Prerequisites**

As a follow-up to a standard machine learning course, you should have a solid understanding of your machine learning models, specifically concepts like supervised/unsupervised learning, models like logistic regression, and theory such as regularization and how to interpret model performance. This class is ideal for those with **6-15 months of machine learning experience**.

__FastAI Practical Deep Learning for Coders__

**Overview**

This is FastAI's version of a beginner deep learning class. Again, true to their philosophy, the class emphasizes learning by doing and teaches things in reverse order. This course is undoubtedly one of the most exciting and practical introductions to deep learning you can find. As part of the class you train models that achieve state-of-the-art or near state-of-the art in all kinds of domains from computer vision to natural language processing. It does a phenomenal job of empowering students with the tools they need to be productive in deep learning without a PhD. This is definitely one of the best free deep learning courses.

**Topics Covered**

This class is very application-driven and shows how deep learning can be used in all kinds of downstream tasks including image segmentation, transfer learning, tabular data, collaborative filtering. In this way, the class is unparalleled in the breadth of its offering.

Since this class is designed for coders, along the way you'll learn quite a bit about using PyTorch for developing neural networks. As part of their class, there is also an associated library for building state-of-the-art neural network models which is very well-designed. It's definitely __worth checking out__.

**Prerequisites**

As a follow-up to a standard machine learning course, it would be useful to have a solid understanding of your machine learning models, specifically concepts like supervised/unsupervised learning, models like logistic regression, and theory such as regularization and how to interpret model performance. That being said, many of those concepts are reviewed in the course. This class is ideal for those with **6-15 months of machine learning experience**.

__Stanford Convolutional Neural Networks for Deep Learning__

**Overview**

This is a deep learning course originally designed by __Andrej Karpathy____.__ While it's been many years since the course was first taught, the concepts are still relevant as ever. The course notes are thorough and packed full of intuitive explanations. It also boasts one of the best descriptions of __backpropagation__ we've seen in any deep learning course.

**Topics Covered**

While the course title emphasizes convolutional neural networks, this class is a great introduction to the basics of all deep learning concepts. It builds out topics from scratch using adequate theory and mathematical intuition. It starts with traditional machine learning models like k-nearest neighbors and support vector machines and culminates in how to use transfer learning in computer vision tasks.

**Prerequisites**

This class does a very good job of assuming very few prerequisites, though as with other machine learning classes, having solid mathematical maturity will help you pick up concepts quicker. This class is ideal for those with **6-15 months of machine learning experience**.

__Berkeley Full Stack Deep Learning__

**Overview**

Unliked the other classes mentioned above, this course from Berkeley focuses on all aspects of machine learning in production. In other words, how do we go from taking a prototype deep learning model to an AI system in the wild, serving traffic to users and delivering real business value? This is the only complete course on these topics we've seen, but it is a fantastic overview covering many of the industry's best practices.

**Topics Covered**

This class is really a hybrid between machine learning and software engineering. It addresses topics like how to effectively set up your machine learning projects, how to set up your training and experiment management infrastructure, how to version and store your date, how to organize and structure machine learning teams, how to train and debug your models, and ultimately how to deploy and monitor your system.

If this sounds like a lot of topics, it is! But the course does a great job of providing a lot of breadth without seeming overwhelming. All these topics are very relevant to machine learning operationalization (also known as __MLOps__) and are ideal for someone that wants to learn how take their theoretical machine learning understanding to the next level, learning how to build real-world machine learning products.

**Prerequisites**

This class spends no time reviewing machine learning theory: it is presumed that you have already taken an introductory deep learning course. Since many of the topics revolve around good software engineering practices for machine learning, it helps if you have architected larger scale software projects before. This class is ideal for those with **12-24 months of machine learning experience**.

And with that, we've completed our review of the best online machine learning courses of 2020. Hopefully one or more of them have piqued your interest. While the field of machine learning is vast, just remember to always be learning.

At Confetti AI, our goal is to help aspiring practitioners jumpstart their machine learning and data science careers. If you're interested in getting more preparation materials for your data science and machine learning interviews and careers, __sign up for our updates!__