Saturday, 1 September 2012

Stanford Machine Learning Course




I've recently started the Stanford University Machine Learning course, which is a free online course offered through Coursera. It's taught by Andrew Ng, the Director of the Stanford Artificial Intelligence Lab and also a co-founder of Coursera.

The block of work I've recently finished in my Open University degree was all about multi-variate analysis including discriminant analysis, which is one technique used in machine learning. It was possibly the most interesting area I've studied to date so when I saw the machine learning course starting, I jumped at the chance to learn more.

So far I've just finished the intro and first week's work. Some initial thoughts:

It's not too late to sign up if you're interested!

Machine learning is a field that bridges statistics and computer science: it uses concepts from statistics, such as discriminant analysis and linear regression, but the emphasis is all on using those techniques to get computers to do interesting things. It's interesting to see the difference in emphasis between statisticians and computer scientists. So in my statistics course the aim is to apply the techniques to the data then write an analysis of the results. In the Stanford ML course, the aim is to write some code (in Octave) which uses the statistical techniques to accomplish a particular task.

The Coursera website works well and the course seems to be well designed. It consists of about a dozen videos each week of about 8-12 minutes each, plus a couple of sets of review questions each week and, starting in week 2, a programming assignment. All the questions and assignments are machine-marked, since obviously the cost of £0 doesn't cover a lot of tutor time to mark assignments.

I'd strongly recommend looking through the list of courses on Coursera, there are loads of interesting subjects from physics and maths to sociology and medicine. I think I even saw something on contemporary American poetry.

Overall, I don't see this kind of course replacing students going to university, not to any great extent.  However, it does give people a great way to find out a bit about subjects which are often quite specialised and difficult to start studying, perhaps a way for school leavers to get a feel for particular subjects before deciding what to go off to study, and an interesting hobby that's likely to be somewhat more rewarding than watching the latest reality TV show.

A final thought on machine learning. It is already used very widely, including to identify suspected fraudulent credit card transactions, to create "Other people also bought..." recommendations on Amazon, to drive real cars along real roads, and a million other things, but its usefulness rests on three things: large amounts of data to analyse, fast computers to run the analyses, people to come up with new areas to which to apply it. It strikes me that all of those things are growing and we have so far only scratched the surface of what's possible. The future for machine learning looks very bright.