Anyone beginning with machine learning is often confused about where, to begin with. There are many online paid courses which are really great but let’s be honest here, when we are trying to explore some new technologies it doesn’t make much sense to keep stacking up paid courses.
The Andrew Ng Machine Learning course on Coursera dates back in 2011. I have found many people pointing out the fact that the course is now outdated as it has instructions on programming languages like MATLAB and Octave which are not much popularly used in machine learning nowadays and have been taken over by the likes of Python and R.
But these views can be misleading. The reason is that the course is more focused on developing the intuition for the algorithms and any code being taught can be easily understood and implemented in any other language of your choice.
Most of the courses use high API libraries like scikit learn or Keras to implement the algorithms and treat the underlying algorithm as a black box. However there are courses that do teach the working of algorithms but it becomes difficult for students with non-mathematics background people to understand them. The Andrew Ng course, on the contrary, strikes the perfect balance between these. The basic maths behind the algorithm is taught and it becomes easier for the non-maths student to pick up the essence of the topic and it acts as an encouragement for maths students to dwell deeper.
The main supervised learning algorithms taught include:
- Linear Regression
- Logistic Regression
- K Nearest Neighbor
- Neural Network
- Support Vector Machine
The course doesn’t go much into unsupervised learning algorithms although the K means and anomaly detection are explained to a good extent.
The later part of the course is more focused on guidelines on working on projects. I personally like this as this approach of teaching is missing in many courses nowadays, because in the end we have to work on machine learning projects and project development is much more than just knowing the algorithms.
The step by step demonstration of image classification is pretty decent although it could have been explained better but that would have greatly increased the course length.
So is there any bump?
Despite being a good introductory course there are a few places it does lack. Like there is no complete small project development from scratch which is usually found in online courses nowadays. The speed of delivery is quite slow but that is not much of an issue since we can always increase the playback speed. I myself have watched most of the videos at 1.5x speed myself.
So personally I will highly recommend the Andrew Ng course for beginners. It lays down the foundation for further understanding of concepts and I can say this with a lot of confidence that it is not outdated.
I personally love the lecture slides that accompany after the topic is finished for future reference. It is better to look up a slide than to rewatch a whole video and it makes things very convenient.