I recently completed, from start to finish, my first MOOC: Coursera’s famous Machine Learning class. While it was still fresh in my mind, I wanted to record my thoughts on the experience.

Reflections on What I learned

In “The Forerunners”, George Herbert (the 17th-century poet) writes “Thou art still my God is all that ye / Perhaps with more embellishment can say”. Replace “Thou art still my god” with “Least squares and logistic regression” and that’s my takeaway from this course.

Everything in the class seemed to boil down to:

  • Make a differentiable cost function
  • Do gradient descent to find the parameters that give you a (hopefully global) minimum of that cost function

The rest was engineering: figuring out faster ways to find the minimums, evaluating trade offs between speed and accuracy, figuring out how well your model is performing. I felt the class struck the perfect balance between theory and practice: I know enough about neural networks and other algorithms to know how to implement them, and what parameters to futz with to improve my models with them.

With a plethora of libraries to abstract out algorithm implementations, it’s not like I’m going to go out and write a new neural network library. But now I feel more confident using them.

Reflections on how the course was taught

  • Taking this course was like reading a book. In the last 6 weeks or so, I replaced my evening reading ritual with watching videos and taking quizzes.
  • There were a lot of videos. They were each pretty long. I think each video was really high quality, but there was some data I could have easily skipped through.
  • I didn’t learn much from the multiple choice quizzes.
  • I learned a lot from the programming assignments. It was really cool of MathWorks to provide a student version of MATLAB to us! I loved the visualizations.
  • I would have much prefered to do this course in Python :).

Reflections on Coursera

  • The website, particularly the forum, was really slow.
  • The forums were weirdly deserted, except for very active mentors.
  • I did as much of this course as I could on my phone. I usually avoid using my computer at night if I can help it, and it helped to be able to watch videos on the go. I also took advantage of closed captioning to watch without sound in public places.
  • I loved that, on the mobile app, you could download iCal events for when everything was due. While I stayed on top of things, it was cool getting a reminder on my phone every few weeks reminding me that an assignment was due in a couple days.
  • I found myself constantly checking the progress page, which listed the course’s assignments and how many you completed.
  • Coursera very aggressively up-sold the certificate, inserting reminders after every few videos. It worked on me.
  • The moment I finished the course, I got a congratulations pop-up, which was weirdly satisfying.