Finished - Coursera's Machine Learning

June 5, 2017 by Andrew A. Cove

I’ve always found it painfully ironic that despite attending one of the world’s leading artificial intelligence research institutions, my undergraduate experiences with AI and machine learning courses at Carnegie Mellon were disappointing.

A lot has changed in AI/ML in the decade since I graduated. Last summer I did the (excellent) Udacity Artifical Intelligence course taught by Peter Norvig and Sebastian Thrun (who, more irony, was at Carnegie Mellon when I was an undergrad). And today I finished Andrew Ng’s Machine Learning course on Coursera, which has been my primary focus for weeks 4-8 of my RC batch.

I’ve heard the same reticence from other Recursers that I initially felt about spending time at RC doing a MOOC, but I’ve found it deeply rewarding. RC is a great environment for maintaining focus, and once I got over my fear of not typing sufficient keystrokes and watching videos while others around me are engaged in more voluminous hacking, I embraced the external structure and purpose the course provided. Ng does a great job of explaining how to turn concepts and math into code, and spends as much time on practical advice for implementing and getting good results from the algorithms as he does on the theory. Every programming assignment has an automated grading system, which makes feedback immediate. My only complaint might be that the assignments provide so much of the boiler plate (which lets the students focus just on the particular concept being taught) that I didn’t get any experience writing the code to load the data and plumb it between the various components of the learning algorithms – stuff that isn’t ML specific but is absolutely crucial to doing machine learning in practice.

Topically, this course is super relevant for the interests of a lot of current Recursers and for the conversations happening around the space.

Ultimately, my goal was to learn the details of the math underlying common ML algorithms, and to practice turning that math into real code. I didn’t want to learn how to use the tools without having an intimate understanding of the underlying concepts. With this knowledge in hand, I’m going to jump into a deep learning course (I’m considering few), with the same goals – understand the math and theory, and then get practice implementing them with the real tools.

While I’m at it, part of why MOOCs in general and this MOOC in particular have worked really well for me is that video is a much better medium for learning for me than attending lectures. I struggled to stay awake in all of my lectures in college. I watched all of these videos at 1.75x playback rate, which allowed me to get through them faster, while staying more focused. And random-access playback lets me go back over anything I missed or need to review. (One more thing – I usually have music playing softly in my headphones at the same time. For some reason, that has made it easier to focus during long stretches of video.)

© 2017 | Follow on Twitter