A Review Of The Coursera Machine Learning Specialization

With so many high-quality options for studying machine learning, Coursera does not make the cut.**

Although I consider myself an ardent supporter of the democratization of education through online courses, I keep a healthy skeptical attitude towards what these classes can and cannot do. The Coursera Machine Learning Specialization from the University of Washington aims to help students “Build Intelligent Applications. Master machine learning fundamentals.” On these two self-declared criteria, the course fails. Ultimately, the specialization serves at most as a high-level overview of basic machine learning topics, but upon graduation, students will be hard-pressed to apply any of the concepts to real problems on their own. It’s difficult to assign a rating because the course might be better-suited for some individuals than others, but, comparing it to both the Udacity Machine Learning Nanodegree and college courses, I would give it 2 out of 5. The shallow assignments and lack of an involved project means the course does not provide students with transferable skills.

When I signed up for the specialization, it was with the promise of 4 separate courses and a hands-on capstone project. The four courses were each expected to take about 6 weeks to complete with 5–8 hours of work per week and consisted of the following: fundamentals, regression, classification, and clustering/retrieval. Unbeknownst to me, the capstone was removed from the specialization, a fact difficult to figure out as numerous official Coursera emails and videos still referred to an application we would build ourselves. Had there been a capstone, my opinion might have changed, but I cannot recommend a class with no significant project requiring implementing course concepts.

The specialization is broken into the four named sections, each with six or seven submodules. Each submodule consisted of a series of 5–10 minute lecture videos produced by the University of Washington. I found the videos informative and helpful as the instructors outlined concepts and usually followed them up with a worked out example. The two instructors, both professors at Washington, explained concepts in an easy to follow manner. However, a course cannot rely on lectures alone, and in order to be effective, the ideas covered in class must be reinforced with homework. The Coursera specialization did provide numerous assignments, but they did not succeed in teaching students how to apply the concepts to new problems.

Every submodule generally had one or two conceptual multiple-choice quizzes as well as one or two Jupyter Notebook assignments. The Jupyter Notebook has become a popular teaching tool because it is an interactive environment that includes code (Python for this course), text, and images in the same document. The Coursera notebooks looked well done, but unfortunately, the work required by students to complete the assignments was too simplistic to have any learning value. The notebooks had a number of fill-in-the-blanks in the code that students had to complete to get a correct answer. The notebooks themselves were not graded, instead, there was a short online quiz to complete based on the code output. Each fill-in-the-blank in the notebooks usually took 1 or 2 lines, and generally was unchallenging and repetitive. There were a few confusing exceptions when the required code was complex, leading to an exercise in boredom punctuated by frustration.

Get Used to Seeing a Lot of these Notebooks

The class assumes moderate knowledge of Python, but if you are taking this specialization to improve your programming skills, you will be disappointed. Students are never required to write a complete function, only short snippets within pre-defined functions. Any difficult code is already written in the notebook or hidden away in a separate script. The Jupyter Notebook is a great teaching tool when used correctly, but having students make exceedingly minor changes in a wall of code written by other people is not the ideal way to study machine learning.

Going by Coursera’s schedule, the specialization should take about 6 months working at 5–8 hours/week. At a cost of $50/month, that is $300 for the entire specialization. The way that the class works, you enroll in one of the four courses at a time and have certain deadlines you are supposed to meet. As far as I know, there is no actual penalty for missing the deadline other than increased cost as you can come back later and complete the work. I finished the class in 6 weeks, working about 10–15 hours per week. The largest part of the time was spent watching the videos, which I felt did provide me with some benefit, but not $100 worth. The Jupyter Notebooks do not receive a passing grade as they did not reinforce the video concepts.

I may be a little harsh on the Coursera Specialization because my expectations were based on the Udacity Machine Learning Nanodegree (MLND) I recently completed. In contrast, the Udacity MLND, was a great learning experience. The videos were at least as good as those from Coursera, and were regularly followed up with conceptual and programming quizzes. This short reinforcement cycle helped to solidify the concepts in the videos. The Udacity degree also featured an extensive capstone project that was hand-reviewed by a human grader. Machine learning is studied best by doing, not watching, and Udacity has that figured out. The Udacity course (when I took it) was expected to last 6 months and cost $200/month. I completed it in 1 month doing 50 hours of work per week.

Overall, I cannot recommend the Coursera Machine Learning Specialization. The class is not worth the time or cost investment without a capstone project. If you are self-motivated, for around $30, you can buy any number of great machine learning books, including Hands-On Machine Learning with Scikit-Learn and Tensorflow which taught me much more than this course! For people who want to make the investment, I do recommend Udacity’s MLND course, although there are also numerous free videos and example-based tutorials. In an age with so much quality content, we have to be selective, and Coursera’s Machine Learning Specialization does not make the cut.

Have any questions about the Coursera Specialization or Udacity’s MLND? I can be reached on Twitter at @koehrsen_will