Apart from Prof. Ng's style and enthusiasm one of the things that makes specifically his ML class work is that he focuses a lot more on how to think about ML problems rather than the details of solving them.
I took the course without any CS background, but with some background in optimization techniques. And what i really took away was to model problems, how to optimize models, how to figure out if they are working at all, and most importantly the need to have different cross validation and test sets.
The last one is something that can be used for any statistical algorithm but often missed by new engineers.
This quest for eliminating inefficiencies often creates a cycle in terms of products designed to eliminate them.
In the first stage, every individual efficiency (or a related group) will lend itself to a new application that significantly changes the equation.
However, as the number of these applications increase substantial efficiency benefits can be reaped by aggregating /replicating these functionalities in one place - sometimes even at the cost of a little inefficiency. But once these inefficiencies start paining a user segment, we start with step #1 all over again
I took the course without any CS background, but with some background in optimization techniques. And what i really took away was to model problems, how to optimize models, how to figure out if they are working at all, and most importantly the need to have different cross validation and test sets.
The last one is something that can be used for any statistical algorithm but often missed by new engineers.