Stanford Machine Learning Course
youtube.com
youtube.com
http://www.youtube.com/watch?v=eLbMPyrw4rw&feature=PlayL...
and/or
http://see.stanford.edu/see/lecturelist.aspx?coll=348ca38a-3...
http://www.cs.stanford.edu/people/ang/research.html
I helped build parts of the hardware and control software for Retiarius and the Snake robot:
The idea of just randomly hacking some shit together then backfitting a theory onto it is absurd. That's the same strategy that led to many of the past failures of "AI" -- approaches based too much on intuition that wasn't theoretically well grounded.
Probability theory and statistical models are foundational material for anyone interested in machine learning.
What I've discovered from using machine learning in practice is that it's far more important to degrade gracefully when you have little data than to do the theoretically best thing when you have a lot of data. What this ends up meaning is that a hacky thing that is somewhat reasonable but based on the realities of the data will usually perform better than something more sophisticated that made too many simplifying assumptions along the way.
(That said, stats is amazing, and is the most important thing to learn for anyone getting into machine learning.)
If you watch the lectures, Professor Ng does a good job of showcasing projects that benefit from various algorithms.
"So I have a friend who teaches math at a different university, not at Stanford, and when you talk to him about his work and what he's really out to do, this friend of mine will — he's a math professor, right? — this friend of mine will sort of get the look of wonder in his eyes, and he'll tell you about how in his mathematical work, he feels like he's discovering truth and beauty in the universe. And he says it in sort of a really touching, sincere way, and then he has this — you can see it in his eyes — he has this deep appreciation of the truth and beauty in the universe as revealed to him by the math he does.
"In this class, I'm not gonna do any truth and beauty. In this class, I'm gonna talk about learning theory to try to convey to you an understanding of how and why learning algorithms work so that we can apply these learning algorithms as effectively as possible."