The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

machine learning

Was there a post here about machine learning?  Benji had listed a bunch of great wikipedia articles and I wanted to copy them down, but now my old eyes can't find the post. So, does anyone know some good topics in machine learning? (or recall Benji's post?)  I'm sure it was here.. maybe I'm losing it in my old age.
Tuesday, October 10, 2006
Yeah, I was wondering the same thing myself.

I think it got caught by the bayesian filters as being a bit too spammy (because it contained about fifteen links).

But I still have the text of that post (I dredged it up from an email someone sent me a few months ago, asking the same question), so I can re-post it if the moderators choose not to resurrect the old thread.
BenjiSmith Send private email
Tuesday, October 10, 2006
Here's a re-post of the important information from my post on the deleted thread. Hopefully this doesn't throw the bayesian filter back into a tailspin:


Whether you write your own machine learning code, or whether you use a library really depends on what you're trying to do (both, from a product development perspective and a personal development perspective).

If you have an existing product, and you just want to plug a few AI algorithms into it, I know there are libraries out there for that sort of thing. I've never used them, since, in my opinion, the alborithms themselves are straightforward enough to just implement myself.

Plus, there are SO MANY different configuration choices (where do you set your classification thresholds, how do you normalize hidden redundancies in your feature vectors, etc) that I think a custom implementation is usually more successful than an off the shelf supervised learning library.

Also, if you're interested in the personal, career-development aspects of writing AI code (people will think you're smart!!), then it's fun to learn how the algorithms actually work.

And the wikipedia has a ton of information about AI algorithms. Here are a few good places to start:

(for general purpose AI concepts)

(for computational linguistics topics)

Start reading those articles, paying particular attention to the 'See Also' links at the bottom of each page.

You'll need to bone up a bit on your Probability Theory and Statistics, so read these:

And here are some particularly interesting AI topics that you might also enjoy:

In addition to all the Wikipedia stuff, if you'd like to get a few books, here are some that I recommend:


KEYWORDS TO FOOL THE BAYESIAN FILTER: Joel software JoS design computers XML Ruby on Rails WTF Java
BenjiSmith Send private email
Tuesday, October 10, 2006
You may find the online book:

quite usefull too. Not as wide ranging as Benji's links but maybe more focused and easier to follow than most texts out there.
JSD Send private email
Sunday, October 15, 2006
This book also contains topics on machine learning: "Information Theory, Inference, and Learning Algorithms" by David J.C. MacKay.


All in all it's a very inspirational book, worth the read if you are interested in any of the topics it covers. Available on-line as well.
Tuesday, October 17, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz