Machine Learning – Coursera

I recently completed the Coursera Machine Learning course by Andrew Ng. It was an extraordinary intro to Machine Learning. If you have an interest in how your photo software can figure out who is in a picture or how your spam filter works so well, you’d really enjoy this class. The class is being offered self-paced now and can be taken whenever you have time, even better!

A couple of requirements for the course are linear algebra and Octave. If you’re rusty with Linear Algebra, there’s a good optional review at the beginning. But don’t worry I mixed up my matrix multiplication at first a lot, it just takes some time to recall it. As for Octave, it’s an open source language that is very compatible with MATLAB. I didn’t have any big issues with it as a language. It felt pretty easy to transition to it from my Python background. So if you’ve never used MATLAB or Octave, don’t let that stop you. As long as you know a programming language you can pick up what you need for this class fairly easily.

I did end up having a few weeks where I thought I would never get through the programming exercises, but with a little persistence and help from the forums, I was able to complete them all.

Here’s some simple Octave code:
% Vectors and Matrices
A=[1,2,3]; % row vector
B=[1;2;3]; % column vector
C=[1,2;3,4]; % 2 X 2 matrix
D=C'; % inverse matrix
E = eye(5); % creates a 5X5 identity matrix
% simple for loop to display each row in a matrix
for i = 1:rows(E)

The course takes about about 10 hours a week of work at it’s peak, a little less in the beginning and at the end. Between watching all the lectures, taking the quizzes and working through the exercises. While that may not seem like much, I didn’t get to do much else while taking it. We had a slew of timing problems with childcare and work time. I ended up working well into the evenings a couple of days. I don’t regret the class one bit, but I do wish I’d had more daylight hours to work on it and my Python projects.

As for the lectures, I was so blown away with the quality and thoughtfulness that went into them. I was always happy to see Andrew Ng. He always had a smile and a way to make everything slide easily into place. Even when the concepts were hard to digest, he reassured the class that it was ok to get lost. Obviously he’s taught for a long time, but I just didn’t expect to feel welcome and taught so well through an online pre-recorded class. I appreciate all the time and effort that has been put into this course.

K-Means Clustering. An example of an Unsupervised learning algorithm.

A couple of highlights were learning how computer vision works and the magic of unsupervised learning. Maybe I’m naive, but after taking this class I felt that the curtain had been pulled back. It’s not really magic, it’s all just 0’s and 1’s. Fancy that!


Leave a Reply