Tuesday, October 16, 2012

A revolution in education

I am just finishing up today my course work for Andrew Ng's excellent Coursera course in Machine Learning. I am also taking two other classes that I will complete in about a month: Martin Odersky's Functional Programming with Scala class and Geoffrey Hinton's Neural Networks for Machine Learning. Previously this year I also took Natural Language Processing and Software Engineering for SaaS. I have taken the first two or three weeks of several other classes just to get a general feel for their subjects.

This morning in one of the last lectures in Andrew Ng's class he showed a precise algorithm for a problem that a customer (a media company in China) and I tried to solve about 7 years ago. We were successful enough to meet my customer's requirements but the next time I see a problem like that (involving collaborative filtering) I will nail the implementation. Every class that I have taken this year has provided many new insights, often on subjects that I thought that I was already a familiar with because of work experience.

I like to look past the enormous benefit for myself from very high quality free online classes, and consider the enormous benefits to the world in general. Just taking Andrew's class as an example, ten years ago there were perhaps a few thousands of people in the world who understood how to do machine learning and understood the craft of using the right methods for specific problems. In five years there might be close to a million people who have taken Andrew's class. This will affect productivity, world wide, and this example is just one class in one online university. Scale this to dozens of online universities with many thousands of classes in technology, health care, etc.

I don't think that it is an exaggeration to say that high quality online education will revolutionize the lives of knowledge workers and potentially help bring about revolutionary changes in the world economy.

4 comments:

Christian Jauvin said...

Hi Mark,

I am a total stranger (from Montreal, Canada), and I've been reading your blog for a while. I just wanted to drop a line to say that you've been a great (and quite serendipitous) source of inspiration, as I've been trying, in the last two years of my life, to implement a model of independent consulting that I feel shares some features and values with yours, which seems so be so successful and fulfilling.

I really appreciate your style, and mix of open source development and ideas, your enthousiasm for self-learning (Coursera is a pure marvel!) and cutting edge techs (e.g. Clojure), book writing projects, etc. I'd be interested to learn more about your particular techniques and ideas for finding interesting projects.

Please keep up the excellent and inspiring blog,

Christian

Christian Jauvin said...

Hi Mark,

I am a total stranger (from Montreal, Canada), and I've been reading your blog for a while. I just wanted to drop a line to say that you've been a great (and quite serendipitous) source of inspiration, as I've been trying, in the last two years of my life, to implement a model of independent consulting that I feel shares some features and values with yours, which seems so be so successful and fulfilling.

I really appreciate your style, and mix of open source development and ideas, your enthousiasm for self-learning (Coursera is a pure marvel!) and cutting edge techs (e.g. Clojure), book writing projects, etc. I'd be interested to learn more about your particular techniques and ideas for finding interesting projects.

Please keep up the excellent and inspiring blog,

Christian

Mark Watson, author and consultant said...

Thanks Christian - I really appreciate your comments.

B7 said...

I took Andrew Ng's class and it was awesome. It taught me everything I needed to know to implement recommender systems for my business.

It really did seem like a revolution in learning. Now they offer 208 courses.

FWIW, I implemented the recommender system in Octave, and it worked with a Ruby on Rails application. This turned out to be a poor solution for 2 reasons:

1. I found Octave to be very difficult to work with. You have to write functions to do simple things. Also, the documentation and Stack Overflow response is poor.

2. It was very difficult to integrate with the Rails application. Converting the data into files for Octave, then getting files back into the Rails app was cumbersome and error prone.

It seems that a better solution is Hadoop and Map Reduce.

This doesn't really make the course less valuable. You can learn how to do it in Octave, and then implement in something more practical for the relevant application.