Sunday, October 28, 2007

Review of Collective Intelligence

I was quite excited to get a copy of Collective Intelligence to review for the PyAtl Bookclub, as I am extremely interested in Artificial Intelligence. I was also extremely pleased to learn that Collective Intelligence used Python, exclusively, throughout the book to explain the author's ideas. There is a certain like minding thinking that Python Programmers share and it certainly comes through in this book by Toby Segaran.

With these high expectations on the table, it would have been easy for me to be disappointed, but the book met the expectations that I had, and in certain situations, exceeded them. One of the great aspects of Python, is that is so pragmatic. In a trivial amount of code, this book explained how to apply unsupervised learning techniques to RSS feeds. I had been meaning for quite some time to write some code that parsed RSS feeds and determined relevant information for me automatically. In Chapter 2, the book jumps right into using the "feedparser" module, to do just that! There are also great examples of using, "urllib2", and SQLite, in that same chapter.

Throughout, the rest of the book, Toby explores various other AI techniques, and explains clearly, how to implement them in Python. One nice touch at the end of the book, was to include a reference to modules used in the book, and to include small usage examples. I was quite pleased by Collective Intelligence, and I would recommend the book to any intermediate to advanced programmer who wants to learn more about AI, and also web specific applications of AI theory.

-Noah Gift


Wayne said...

I just read Collective Intelligence. I found it very useful in understanding the different methods used to collect data. This evolved from using algorithms suited for a certain problem to creating your own algorithms with machine-learning techniques. The many different algorithms and python script examples were helpful.

mtn14 said...

What an awesome book. Collective Intelligence shows you how to utilize mathematical search algorithms in a way for analyzing websites. In school I learned calcIII and calcV which was series and matrices respectively to analyze numbers. Well in this book you begin by understanding how to search for a character or string of data with a very well laid out plan. You even get to use real time data when developing your project in Python.

Then the improvement, when using some algorithms, Euclidian distance, Pearson coefficient, Entropy, Conditional Probability, you begin to utilize numbers by giving your websites a weight for how you search. Toby Segaran is excellent in explanation of building a smart web application to keep track where you go. It also teaches you to find out who has visited your site as well as the probability that your site will be chosen next.

Also with utilizing these search algorithms is good way to show the history of data to gain marketing for advertisements. Utilizing AI in the back ground is always great find but can be difficult to teach, but this book was laid out very well in getting to the point for a programmer to learn high rate math algorithms.

What a nice read,
Doug Wake