I have no idea how 'Machine Learning' from Ng is not mentioned.
It's fine in teaching you introductory (although it seems to cover more basics than a lot of other courses do, somehow) ML. But more importantly, it's a well designed course. You can see how each piece uses previous pieces and how it solves problems and edge cases not covered earlier.
Interesting, I found the course disappointingly shallow. I did do it soon after it came out, maybe it got much better with time. I also have a background / job in statistics, though not ML as such.
While it does talk through the basics of ML, it is really barely a taster. It doesn’t leave you with any skills, other than, if you buy a book and work through it, you will know what a “decision tree” is ahead of time.
With something like ML, the real value is in the deep nitty gritty, building intuition about methods you use, fighting the unfair battle against broken data etc, and all those things were missing to me.
Have you tried the deep learning courses? They steer away from statistics and proofs, but all the math required to build a convoluted network is covered. Lib use is very low level at first; not too far removed from doing it all from scratch it you really wanted to waste the time.
Just btw, I find a machine learning course at Charles University by Milan Straka better (deeper, more entertaining). Maybe I have bias, I'm studying at that school. "Thanks" to COVID, it's online and public - https://ufal.mff.cuni.cz/courses/npfl129/2021-winter#lecture.... You'd be interested in the EN lectures, CZ stands for Czech. You just won't get any certification, of course.
I appreciate his attention to pedagogy. Even small things like noticing that students learn better with Matlab/Octave than with R or Python is the kind of observation that takes a combination of knowledge, effort and caring about teaching.
I could be wrong, but I think it has nothing to do with that, and now to do with the course being so old that R and Python weren't the standard ML languages yet.
That's not the entire explanation for Ng's use of Octave though.
At the birth of Coursera in 2012, R and Python were already clearly established in the field of data science. R was the dominant open-source language for data science, with Python very close behind (and already gaining ascendancy among folks who identified with "machine learning" rather than "data science"). I remember Matlab/Octave being more associated with academics/students in EE (signal processing, wireless communications, and the like); if you want clear insight into matrix operations, Octave is great.
I think Ng made a very conscious decision at the time to eschew built-in functions and not get distracted by trendy languages - hence the use of Octave to learn how to implement algorithms at the most basic linear-algebra level.
Even at the time his decision was not well understood nor popular - way back then I remember people asking "Why Octave instead of R or Python?"
I think his choice of Octave was really just to avoid using Matlab. I had taken several other courses around the same time, and they all used Matlab. All of the courses had arranged for a free Matlab license for the time the course was active. You also were given the option of buying the Student version for $99. That didn't last long, I haven't seen any courses offering a free license (or even using Matlab for that matter), and to get the Student license you have to be enrolled at a 4 year institution.
In those classes that did use Matlab, there were quite a few people sticking to Octave, though it wasn't 100% compatable. And when I got to Ng's course, I (and I imagine a whole lot of others) were really happy to see he went 100% with Octave. Had he gone the Matlab route, the old course would be pretty worthless now.
We'll never know what happened behind closed doors, but I think Matlab was sponsoring some courses in order to get new people hooked on Matlab and it just didn't pay off.
I've taken 3 MATLAB courses on Coursera this year and they've all included free student access to MATLAB online. Also, a home use license for MATLAB is available for $149.
That's certainly the goal, but in the courses I took, the Octave users always had Octave specific issues they had to work through, so there were some incompatibilities. This was about 10 years ago, so I imagine Octave has made some progress in that area too.
I still think that for learning the math behind ml Matlab still makes the most sense though. It takes the focus off the programming itself and enforces the matrix concepts. Although python is the undisputed king in that regard so unfortunately it makes more sense to teach that
In his video for the course, he explains that he tried python and R but found students grasped the concepts better with Matlab/Octave. If I recall, it is in the video for the first lecture.
I agree with a sibling comment that it was python and R were well established at the time.
Also makes you think about how comprehension is closely tied to expression even for ostensibly similar languages.
This was the first course I did on Coursera and it is by far the best introductary course for machine learning I have ever seen, but my sample size is pretty small ;)
I agree it's the best out there from the few that I've see that gives you fantastic intuition into what's going on. I see it as the best "invitation-to-further-exploration" available.
AFAIK it wasn't. Ng just makes new courses for new methods.
That said, I'm yet to see better coverage of that topics (If someone knows, I'd really like to get them. I forget pieces every now and then, and having more efficient refresh method is always welcome).
It's fine in teaching you introductory (although it seems to cover more basics than a lot of other courses do, somehow) ML. But more importantly, it's a well designed course. You can see how each piece uses previous pieces and how it solves problems and edge cases not covered earlier.