Machine Learning – Andrew Ng

I have mentioned this MOOC, from Stanford University’ professor Andrew Ng, available on Coursera in a couple of articles already. I have read about it in several forums and until now, I only took a quick look. A couple of months ago I finally decided to dive in, because I was really curious, the comments on the forums are really enthusiastic. I must say that one thing that held me back until then was the use of either the proprietary Matlab or the open source GNU Octave as main programming environments.

I also have to add that I had already taken  the “Practical Machine Learning” MOOC from the Johns Hopkins, always on Coursera. But that one left a sense of “short” in my mind, although this course was in R as all the other courses in the Data Science Specialization.

I have now almost completed the full course course. It is really really great. It grew up on me week after week.

Professor Ng knows when to dive in with the mathematical explanations and when to limit them. He provides at times optional material for those who like to know more about the inner works. He provides practical guidelines and a lot of examples.

The course is well paced, but I must admin that as I have been gathering quite a lot of terminology and knowledge from the other courses that make me zip trough the lessons quite easily, and as I am a programmer, I did not have difficulties in using the new environment (I am using Octave on Linux), it only took an hour or so of familiarization, the rest of the info and the details that you need to follow the course and completing the exercises you can find on stackoverflow.com or googling about. Concerning the programming environment, it is actually not too bad, and it is well supported online although I have to say that I do not consider it as a valid tool for a production environment.

I guess what professor Ng wanted to highlight in his course was the conceptual aspects of the various algorithms, that provided a quick way to prototype ideas and the choices of environments that he provided for this course are really effective and less subject to become “unmaintained” or “deprecated” as some of the libraries in R and Python.

I would have appreciated also to have a “pointer” to libraries that I could use in R, Python or even Java for the same purpose (there are plenty available).

In summary: A 5 star MOOC, Highly recommended!