August 30, 2017

I’ve been meaning to finish this course for a while now but every time some other attraction caught my attention like some other MOOC or subject. I knew, because of the popularity and the numerous positive reviews, that this course is going to be a good one but every time, there came a new MOOC on some new subject that I’ve been waiting for and I rushed towards it.

But now, as Andrew Ng released a new specialization on Deep Learning, which I am dying to start next, I was motivated enough to finish this course because I thought that this will prove to be an invaluable resource and a firm foundation for the topics that will be covered in the Deep Learning Specialization.

I was amazed to find out that this course has proven to be a lot more rewarding than I imagined it to be. All the material was carefully selected and intuitively explained. Andrew Ng is one of the best teachers that I’ve ever had the pleasure to learn from. His way of explaining difficult and complex concepts so easily and intuitively is extraordinary. A lot of topics, that were quite difficult to comprehend before, seemed so easy to understand after Andrew’s explanation that I wondered why I didn’t get it before.

If you are serious about learning Machine Learning and want to dig deeper to understand the inner working of the algorithms, then this course is the perfect fit for you. This course is a lot older than most of the Machine Learning courses being offered today but it does a pretty good job of explaining the basic concepts in order to better understand the Machine Learning algorithms being used nowadays.

If you only want to get a general overview of how Machine Learning works and to learn some library or tool to perform basic Machine Learning tasks then you are better off using some other resource e.g. Machine Learning Engineer Nanodegree by Udacity.

It’s not that this course isn’t good or won’t benefit you, it’s just that it has a different audience in mind. It caters to more technical minded persons. It heavily uses Mathematics to explain the algorithms. You need to have a basic understanding of Linear Algebra and Calculus in order to make an intuition about the inner workings of the algorithms. All the assignments are in MATLAB, unlike most of the new Machine Learning courses which use Python.

I highly recommend this course as this was very beneficial for me. I learned a lot of new things and most of all, it cleared a lot of confusions and misconceptions that I had about some learning algorithms. I knew how to use those algorithms but I didn’t understand how they were working. Just like using a magic spell, I replicated what someone else said would work without understanding why this is working which frustrated me a lot. This course demystified a lot of things for me. Now I’ll be able to use Machine Learning techniques and algorithms knowing why and how this is working which will help me a lot in experimenting with new techniques and testing out new ideas.

I’m still confused about some algorithms, more specifically the back-propagation algorithm, but in my defense, it is one of the most complex algorithms in Machine Learning according to Andrew Ng. I understand intuitively how and why back-propagation works but I’m a little confused about the Maths behind the algorithm. Guess I have to watch the videos again, once or twice.

I’ve started the Deep Learning Specialization also offered by Andrew Ng on Cousera. I’m on the last week of Neural Networks and Deep Learning, the first course in the specialization. I’ll tell you about my experience with this course in the upcoming post, Insha Allah.