I worked through the DeepLearning.AI course on Math for Machine Learning at Coursera. It was fun and informative, if not a bit shallow.
Over at my day job, our Germany data and AI community has been doing some group learning on the mathematics of machine learning, using the DeepLearning.AI specialization on Coursera. I’m really thrilled so many people want to get into the math of machine learning, especially because machine learning has become so simplified and abstracted into tools these days that it’s easy to lose sight of the fundamental principals. It was also a good excuse for me to get back to some of the techniques I haven’t touched in a while.
The specialization consists of three courses which you can take independently: Linear Algebra for Machine Learning and Data Science, Calculus for Machine Learning and Data Science, and Probability & Statistics for Machine Learning & Data Science. Each course consists of a number of bite-sized video lectures interspersed with some practice quizzes and programming exercises run in hosted Jupyter notebooks. The courses are expected to be completed over the course of some weeks, and each week has a final quiz and usually a programming lab. This format makes it perfect for casual learning, where you can sneak in a video in those seven minutes between meetings or so.
The specialization touches on a couple key topics for machine learning without going terribly deep: basics of linear algebra, including matrix operations, eigenvalue and eigenvector computations, basics of differential calculus, simple numerical methods, and fundamental probability and statistics, among others. Within these fields, the specialization does not go terribly deep, yet at the same time I wonder if someone without prior exposure to these topics would struggle. The content seems best primed as a review of sorts; for someone trying to learn the material for the first time the lectures provide neither the foundation nor the rationale.
The first two courses on calculus and linear algebra are quite thin; these topics are all covered in maybe two lectures of the first weeks of undergrad level numerical methods. Here, too, I found the coding examples a little lacking. While the notebooks are quite thorough, they handhold you through the exercises quite a bit, leaving you only to write one line of code, which is basically set up for you from the start. In fact, it’s conceivable to complete the exercises without much thought at all. There’s a little too much “magic API call” going on here.
Making matters more frustrating, there are a number of bugs in the tests. The first two courses are great in that they assess your output by running against unit tests. However, you can’t easily inspect these tests, and a number of them have critical floating point arithmetic errors. In one case, one of the tests was simply wrong, which I could verify by hand.
The third course, Probability and Statistics, is much better. It’s actually extremely practical and helpful. Here, the quizzes actually make you think and do some computation. Whereas in the first two courses I mostly solved problems in my head, in the probability and statistics course I had to think a bit to find the right answers. The labs for the third part were also much better, though it was frustrating that they didn’t continue the excellent pattern of using unit tests for grading and validation. The labs' exercises were also extremely practical: one could work through Naive Bayes algorithms, A/B testing strategies, and statistical methodology.
Quality issues surrounded the entire specialization. Some quiz questions were horribly written, some tests didn’t work, and there were several spelling errors throughout, which made the whole exercise feel a lot cheaper than it needed to. The class also lacked coherence; the themes from the courses are not tied together, and it’s definitely possible to walk away from the course with knowledge of the mathematics but limited knowledge of how it gets applied in modern day data science.
Despite these flaws, it’s still a fun course and a great refresher for anyone who’s encountered the subjects in the past. First time learners will benefit from supplemental material or mentorship. I’d say it’s a good entry for someone who wants to learn the theory of data science, but it will still be a long journey from this point to actually coding machine learning algorithms.
Posted: 02.06.2023
Built: 07.09.2024
Updated: 02.06.2023
Hash: a0062ad
Words: 727
Estimated Reading Time: 4 minutes