Machine Learning Specialization (Coursera | Deeplearning.AI | Stanford) course review
I finally completed the refreshed machine learning specialization course released by Andrew NG on Coursera (in conjunction with Stanford University and Deeplearning.ai). Up to the time of completion, the course had been taken by about 100,000 students with over 7,000 reviews and an average review of 4.9 stars out of 5.0. This is nothing compared to the deprecated course under the same topic that has served more than 5 million students and professionals across the world. Over the years, I have found course reviews to be helpful when making decisions on the next MOOC to enroll in. Therefore, I believe it is only fair that I contribute to the community by sharing personal reviews on some of the MOOCs I have recently completed.
What is refreshed in this new specialization course?
To start with, I’d like to state the main differences between the new course and the old one. I had enrolled in the old course track and had about 30% completion of the course but decided to drop out on the announcement of the release of the new course. While the old machine learning course was just a single course listed on Coursera, the new one was broken down into three parts, namely, “Supervised Machine learning: Regression and Classification,” “Advanced Learning Algorithms,” and “Unsupervised Learning, Recommenders, Reinforcement Learning.”
It was also interesting to see a difference in the programming language of choice. The previous course used Octave, an easy-to-use language for scientific computing. In contrast, the new specialization course uses the general-purpose programming language python to deliver the teachings of the course. Aside from these two key differences, they have similar structure and content, with Andrew Ng giving the lectures in both specialization courses.
Having previously completed a graduate-level introductory class on the same topic, I will say it is pretty much decent and comparable to what you will get in an introductory class in college. As you must have found out from the course’s content, it focuses on the algorithms’ theories, how they work, and the fundamental reasonings behind the concept. I believe it is important to know about this early before diving into the course, since many students are more interested in the application of ML using libraries as you would in the real world.
What do I love about the new specialization course?
One of the things I loved about the course is its simplicity, which allows complete beginners to dive straight into its content. The most common phrases used in the course, which the instructor, Andrew Ng, is famous for, is “if you don’t understand xxx, don’t worry about it.” This is because most concepts are described or discussed without the need for pre-requisite knowledge. Though it would be helpful to have a certain level of understanding of calculus and linear algebra to fully grasp the contents, partial knowledge of these math concepts can still be helpful to follow the course through and complete it.
I am a huge fan of hands-on activity/lab sessions for online courses; this new course provided plenty of this. In addition, the lab activities are well explained and provide enough support to ensure they can be completed without needing external help on the labs.
Furthermore, on the lab activities, I enjoyed that they were all organized in python notebooks and can be launched within the Coursera platform on your browser. It was also helpful that all recorded responses and edits are often saved automatically, even when the kernel crashes, or you close the tab for the lab activity. I found myself being thankful for this autosave feature multiple times when I would lose access to lab sessions and relaunch it to find all my edits well saved here.
The content delivery by Andrew Ng was also one of my highlights of this course. With the newly broken-down specialization course, I could better structure my learning. The majority of the topics were treated from their fundamental theories, learning how to program these concepts from scratch. In addition, all algorithms were also explored using popular libraries as would be encountered in real-world applications.
What are the improvements I’d love to see on the new specialization course?
While I believe the lab activities were designed to provide as much help as possible to the students, it is my opinion that this might have been pushed a little bit beyond the edge. Actual code solutions to a majority of the problems within the activities are embedded within the notebooks (though hidden). They can simply be copied to pass the lab assessments without carrying out the activities. Students might defeat the lab activities’ purpose by using these “hints” without even trying to solve the problems by themselves.
The addition of more video tutorials after the completion of the course was also one I found a bit worrisome. While you retain the certificate to the course upon completion, additional tutorial videos are added to the course over time as more relevant discoveries are made. It makes me feel uncomfortable that additional materials I had not previously covered have been included in a course for which I have a certification. I believe additional materials/discoveries can be integrated into a different course entirely or only updated after a specified period.
To sum up my review of the course, I had a great experience learning and relearning through the course. My recommendations for newbies into Machine Learning will be to go over the course at least more than once or find a similar course to help reinforce the learnings here. On a scale of 10, I’d rate the course a solid 9 for beginners in Machine Learning.