Machine learning is all the rage in today’s day and age. But, cutting through the sweet fluff and fiery buzzwords can be difficult. Fortunately, Supervised Machine Learning: Regression and Classification will introduce you to the exciting world of machine learning and give you a fundamental understanding of how it all works by building intuition.
This course deserves some history. It is the successor of Andrew Ng’s Machine Learning course which launched in 2011. By the time it was closed in 2022, it had accrued over 4.8 million learners, earning its place as the most popular course of all time and is arguably one of the most influential MOOCs out there.
The lecturer, Andrew Ng, is also a legend in his own right. Not only did he create the mother of all MOOCs, he also has decades of experience working with and leading groundbreaking AI research at companies like Google Brain, Baidu, and Landing.AI. After he left Coursera, he co-founded DeepLearning.AI and this very course is a product from them. So if you’re still wondering if you’ve been put into the right hands, you should have your answer by now.
Enough praise of Andrew Ng and his work. Let’s get into the course itself!
Overview of the Syllabus
The aim of this course is two-fold:
Build machine learning models in Python using popular machine learning libraries NumPy and scikit-learn.
Build and train supervised machine learning models for prediction and binary classification tasks, including linear regression and logistic regression.
The course begins by introducing you to machine learning, supervised and unsupervised, and its applications. You’ll see how machine learning is already everywhere around us: from how Google provides you relevant results to identifying tumors in potential breast cancer patients.
Linear regression is the ‘Hello World!’ of machine learning. You’ll first learn what linear regression does, before diving deeper into the mathematical background associated with it like cost functions, gradient descents, and vectorizations.
This course isn’t one of those courses where they grab a couple of machine learning models from scikit-learn, show you how to write them, before booking off and leaving you with terms that you don’t understand. And it isn’t one of those math-heavy courses either where they hand you ten-pages worth of mathematical equations and expect you to understand what it all means.
Rather, the course takes a balanced, top-down approach: first introducing you to the topic at large before honing in and gently introducing you to the mathematical background and intuition behind it. I found this sort of approach greatly beneficial for giving you an idea or intuition behind a machine learning algorithm as you apply it, instead of a black box that takes something in and spits something out.
You’ll find the same approach also applied when you learn about classification, which deals with categories. You’ll learn how to perform classification with logistic regression, which relies on the sigmoid function to transform the input into groups based on the decision boundaries implemented.
The course also covers some meta machine learning skills, like feature engineering and preventing overfitting, that every machine learning practitioner should know (it sucks working with faulty data and getting faulty results).
I also found Andrew Ng’s explanation of the topic easy to understand. He provides many relevant visuals and examples that make you appreciate machine learning, like Google’s use of unsupervised learning to categorize news articles. The pop-up questions that appear during the video really help you retain what you’ve just learned (or maybe wake you up if you weren’t paying attention).
Plenty of opportunities appear in the course for you to practice your programming skills. These opportunities come in the form of labs which are basically Jupyter notebooks exercises. Unfortunately, I did not have the chance to try out the labs for myself as these are only for those paying for the certificate or specialization.
Additionally, if you have any trouble understanding the topic and want to ask questions, you can join their friendly Discourse community and direct any queries there.
So should you take this course?
I recommend it wholeheartedly if you have some experience with Python and aren’t afraid of some math (mostly linear algebra and a little bit of calculus). If you feel like your linear algebra needs polishing, I think you should take the course anyway and look up terms as you go.
The only complaint I have for this course is that non-certified learners do not have the opportunity to practice the knowledge taught in the lectures, although that is probably why the labs are locked behind a paywall in the first place. I recommend that you take detailed notes to compensate for this.