20. August 2012 16:37
I have had a long time interest in Machine Learning. I can trace this mostly back to some influential people in the Metro Milwaukee area who are, as nearly as I can tell, no longer blogging. I had written a few simple things in the past, but wanted a more formal education, so I went old school and started buying books. The first one I picked up is this one:
While I don't know Python, I figured I could pick it up easily while I read the book and learned the more common algorithms. In a way, I was right. Except for some interestingly terse syntax in the Python math libraries it's easy enough for a C# developer with experience in other languages to follow. The way the author has chosen to structure data, though, makes for some brain-twisting translation issues. Lists-of-lists-of-trees-of-dictionaries-of-lists-of-matrices* might be easy to type into Matlab, but it makes for a poor mental model when attempting to describe and understand new concepts. The book has been very useful, however, and I've gotten through k Nearest Neighbor, Decision Trees, and Naive Bayes classifiers so far. I intended to keep reading the book, but also to supplement it with other material to in case I need a reality check on any algorithms in the future.
Also, in a post in the near future, I'll show the model I've developed to work with this kind of data.
* That would be List<List<Node<Dictionary<int,List<Matrix<double>>>>>> in case you were wondering. And, yes, I'm being a little unfair but hyperbole is fun.