The popularity of machine learning, data science and related disciplines is exploding and with it the amount of courses, books, block posts etc you are exposed to. I recently finished the relatively old but highly rated course Machine Learning by Stanford University on Coursera and wanted to take the chance to offer my review and notes I took.
Although the course is old enough to be referred to as “classic” by quite a few descriptions I have read it is timeless in the sense that most good introductions are. It covers concepts from tools in ML like supervised- or unsupervised learning, tips for their application with algorithm rating and debugging and much more. Most topics are covered very timeless with the theory and math behind them being the focus.
Coursera offers video lectures, lecture notes (as pdf) and a short text summary for most of the 11 weeks of the course. Grading is done using short quizzes at the end of each topic as well as programming exercises in Octave or Mathlab. Forums are available to help with any questions and mentors are good at answering anything that comes up.
The video lectures are really well done and the content seems excellent and very “grounded”. It is definitely not a course trying to cash in on the hype surrounding ML.
The programming exercises are solid and introduced me well to a different side of software development that is more focussed on solving complex mathematical problems than displaying a centered div.
The forums and additional resources prepared by the mentors are very good, in every case where I had a problem it was already solved by someone else asking it in the forums.
If you don’t want to get a certificate the course is completely free.
There is a noticeable drop in quality in the later weeks. While the content stays excellent the written summaries disappear, sometimes obvious double takes that should have been edited are left in videos and programming exercises have a lot of pre-written code in their descriptions.
Solving programming assignments in Octave: Probably due to the age of the course the setup of Octave is not friction free - in the version I used the “pause” function was broken which made all programming assignments hang at the first stop. It was relatively easy for me to debug and fix by overwriting the internal pause function but I’ve seen quite a few questions about Octave issues in the forum. In addition Octave seems to not be the primary choice in the ML community but since the course teaches concepts over concrete implementation that is fine by me.
I took a lot of notes during the course (more than 120 pages to be exact). They are mostly very close to the course material provided but sometimes rephrased and annotated with additional comments from me. In case they help anyone you can: Download them here