Monday, October 17, 2011

Something to bite in ;-)

Even though the machine learning homework was really simple, it was still fun to do. I clearly needed a refresher on Octave, and Professor Ng's Octave intro was very useful: Exactly the right mix of speed and clarity. Ng is a really impressive character. He is obviously an extremely good teacher: At first glance that's not so obvious since it seems like the things he explains are just so simple that anyone could have done as well as him. That's actually the hallmark of a good teacher: The lessons just seems obvious. It's only after a while, usually after struggling a bit, one recognizes that the lessons are not that obvious and the teacher is actually brilliant :-) A risk with teachers like that however is that one believes that the lessons is all one needs, that exercises are not needed. Luckily I've learned that particular lesson previously and I've got no need to repeat it.

Another little but impressive detail is the octave code used to submit the exercises. Yes, you read that right: Octave itself does the upload. The submit script has its own SHA-1 implementation, talks with the ml-class server over the wire and handles the submit for you. Very elegant.

I managed to get the main part of the exercises done on monday but the extra credit parts will have to wait a bit.

The AI course seems a bit more clunky. Still worth the time but not the same level of style as machine learning. So far It's been a refresher course for me, but obviously one I need. Today's lecture was about probabilities and I discovered I had to think for several seconds (ok, even a few minutes) before I got the quiz questions right. That's surprising, after all I know this stuff, right? This is a reminder that you don't really know something if you don't actually do it on a regular basis. This is true for maths, but it's also true for programming and probably most other tasks requiring some skill.

Yet one pleasant surprise has been the discussion forum for the ai class and ml course on reddit. It's nice. People are polite, ask relevant questions, get good answers and are on topic and discuss academically interesting issues. It's a bit like being back on the internet before 1993 :-)

For some reason I've managed to lose my notes for the first two modules. Sigh. Another sigh is the LaTeX preview in AquaEmacs: It's just not working on my laptop. It is working on another machine at work so I'll try a bit of "differential debugging" to see what's the cause of the malfunction. That kind of thing just freaks me out when it happens. I have to breathe slowly several times :-)

However, all in all, it's good fun. I think I could benefit from explaining the stuff I'm learning to someone else; that's a really good way to enforce learning. I'll see if I can concoct some situation at work where it is appropriate to lecture on gradient descent, linear regression, bayesian networks or normal equations :-) Colleagues beware!