Programming Collective Intelligence Review

I have been reading Programming Collective Intelligence on my daily travel to NY. This is a gem of a book. It covers many topics in machine learning, that can be applied to projects. All with practical examples and code in python. i had no idea that current machine learning algorithm were any useful. But this book puts so much of AI jargon in to practical use. A typical AI book will confuse the heck with the maths proofs and statistics. But this book is pure practical with jucy examples one can easily understand and put to use! Many hip words in AI made some sense to me after reading this book. e.g. Genetic Programming, Genetic Algorithm (yes they are different), baysian classifiers, hiearchical clustering, k-means clustering, optimization, anealing, hill climbing, decision trees, support vector machines.

Some practical algorithms with code and examples covered.
a) Making Recommendations for movies (e.g. similar to Netflix movie recommendation, or matchmaking ).
b) Writing a search engine, and search results.
c) Optimization algorithms. (optimization is finding a good enough solution when the optimal solution is expensive to find).
d) Document Filtring, e.g. Spam Filter
e) Discovering Groups in a large set of data / Clustering
f) Building Price Models e.g. determining the price of a home given a large data with features.
g) Evloving Intelligence. Genertic Programming.

On Intelligence Review

So I have finally finished reading On Intelligence/ Mostly read it on my commute to NY on bus.

i think the book could have been written in less than 100 or maybe 50 pages. Filled with the authors personal views about intelligence. Also is full of analogies, pages and pages of analogies. The gist of the book is that knowledge in our brain is stored in hiearchies, and the brain is always making predictions e.g. when you are listening to a song the next note is already predicted by your brain, and the brain does that for everything we do.

I thought the book revealed nothing new. Tree is a universal data structure (hiearchical), and CS people already know about that, but have not discovered true AI. Nor the prediction is a new thing, programming language compilers are impplicitly doing the same thing, i.e. looking for the next expected token, i.e. if not found throw a compiler error.

So it was interesting to know that the neo cortex behaves in a certain fashion (at place the author was filling the knowledge gaps of the brain by his own assumptions e.g. this part of the brain may possibly work like this), but the book is not any breakthrough. I.e. you cannot write an intelligent program after reading this book. It will only give you inspiration to dig in deeper.


I recently purchased a podometer from Walmart. A podometer is a device that measures the number of steps walked. On average i walk about 4000 steps i.e. when i am not making an effort. For example a walk from port authjority to my office on 7th, 42nd street avenue is about 500 steps. I started keeping track of my steps on this free website The site keeps track of your average, totals, had nice charting abilities. Too loose weight one needs to average 10000 steps. The tops i have done walking is about 8000 steps!

Alice Story Telling

A few years ago i came accross this wonderful cartoon/animation building software called Alice. This is a very innovative software to learn concepts of object programming. I wanted to teach my daughter Sabah, but she was only 4 at that time. Now she is 6 and is able to read. So installed the Alice Story telling application. She was amazingly quick to go through the 3 built in tutorials. I am working with her to learn it more and be able to make simple stories in it. This software was developed by the late CMU professor Randy Paush. See this inspirational video called “The Last Lecture”.