After almost a month or so, I have completed Andrew Ng's course on Machine Learning!

Machine Learning by Andrew Ng

I completed the course and I have documented my notes under Machine Learning.

Meanwhile, you can check out my full Github repository here.


This course teaches you the theoretical foundations of Machine Learning and allows you to apply the theory you learn using Octave (Matlab). I had my doubts about Octave. But because of the simplicity of it, it is indeed a very good choice over many other programming languages.

The course began and the workload and content were manageable. But halfway through, I almost died.

The most challenging part of this course is on Neural Networks. The mathematical theory and implementation in code are both very challenging, at least to me. The other parts of the course are much easier than the Neural Networks’ weeks. So do not give up when you are undergoing the weeks teaching Neural Networks. Keep perservering and you will make it through. You can seek help from “Discussions” and with some guides on the tutorials given.

I learnt a lot from this course and I could finally understand all the articles I read online and go through the famous scikit-learn documentation understanding many of the algorithms that have been nicely implemented and you can use them with a few lines of codes compared to implementing them from the bottom-up using Octave (Matlab), R, Java, Python, C++ or any other programming languages.

I believe I found a good accompanying course for this course offered by Carnegie Mellon University (CMU) in case you want to cover topics that were not covered by Andrew Ng or delve into the topics he covered from a different perspective. You can access the course here from CMU.

For now, I am going to complete Data School’s introduction to Machine Learning using scikit-learn and their guide on Pandas.

And from late August, I will be embarking on Udacity’s Machine Learning nanodegree programme where I will offer my detailed review!