BRAIN RESEARCH, HUMAN MEMORY BOOKS, MOLECULAR BIOLOGY, LAPTOP, NOTEBOOK, COMPUTER, and ELECTRONICS

Search
 Shop

Electronics

PC Hardware

Saltwater Fishing

Brain

Home

Programming Collective Intelligence: Building Smart Web 2.0 Applications

Programming Collective Intelligence: Building Smart Web 2.0 Applications
Email a friendEmailView larger imageZoom

Programming Collective Intelligence: Building Smart Web 2.0 Applications

 
 
List Price: $39.99
Our Price: $26.39
You Save: $13.60 (34%)
Shipping: This item ships for FREE with Super Saver Shipping.
 
SKU:  

ACOUK_book_usedlikenew_0596529325

In Stock
Availability:   Usually ships in 1 business days
 
 

Note: Item may be sold and shipped by another company. Learn more.


Description

Want to tap the power behind search rankings, product recommendations, social bookmarking, and online matchmaking? This fascinating book demonstrates how you can build Web 2.0 applications to mine the enormous amount of data created by people on the Internet. With the sophisticated algorithms in this book, you can write smart programs to access interesting datasets from other web sites, collect data from users of your own applications, and analyze and understand the data once you've found it. Programming Collective Intelligence takes you into the world of machine learning and statistics, and explains how to draw conclusions about user experience, marketing, personal tastes, and human behavior in general--all from information that you and others collect every day. Each algorithm is described clearly and concisely with code that can immediately be used on your web site, blog, Wiki, or specialized application. This book explains:
  • Collaborative filtering techniques that enable online retailers to recommend products or media
  • Methods of clustering to detect groups of similar items in a large dataset
  • Search engine features--crawlers, indexers, query engines, and the PageRank algorithm
  • Optimization algorithms that search millions of possible solutions to a problem and choose the best one
  • Bayesian filtering, used in spam filters for classifying documents based on word types and other features
  • Using decision trees not only to make predictions, but to model the way decisions are made
  • Predicting numerical values rather than classifications to build price models
  • Support vector machines to match people in online dating sites
  • Non-negative matrix factorization to find the independent features in adataset
  • Evolving intelligence for problem solving--how a computer develops its skill by improving its own code the more it plays a game 
Each chapter includes exercises for extending the algorithms to make them more powerful. Go beyond simple database-backed applications and put the wealth of Internet data to work for you.

"Bravo! I cannot think of a better way for a developer to first learn these algorithms and methods, nor can I think of a better way for me (an old AI dog) to reinvigorate my knowledge of the details."
-- Dan Russell, Google

"Toby's book does a great job of breaking down the complex subject matter of machine-learning algorithms into practical, easy-to-understand examples that can be directly applied to analysis of social interaction across the Web today. If I had this book two years ago, it would have saved precious time going down some fruitless paths."
-- Tim Wolters, CTO, Collective Intellect


Product Details
Author:Toby Segaran
Paperback:368 pages
Publisher:O'Reilly Media
Publication Date:August 23, 2007
Language:English
ISBN:0596529325
Product Length:9.2 inches
Product Width:7.0 inches
Product Height:0.9 inches
Product Weight:1.3 pounds
Package Length:9.13 inches
Package Width:7.01 inches
Package Height:0.71 inches
Package Weight:1.28 pounds
Average Customer Rating: based on 71 reviews

Customer Reviews
Average Customer Review:4.5 ( 71 customer reviews )
Write an online review and share your thoughts with other customers.

Most Helpful Customer Reviews

128 of 133 found the following review helpful:


4Putting Theory into Practice  Dec 18, 2007 By Syd Logan
This book is probably best for those of you who have read the theory, but are not quite sure how to turn that theory into something useful. Or for those who simply hunger for a survey of how machine learning can be applied to the web, and need a non-mathematical introduction.

My area of strength happens to be neural networks (my MS thesis topic was in the subject), so I will focus on that. In a few pages of the book, the author describes how the most popular of all neural networks, backpropagation, can be used to map a set of search terms to a URL. One might do this, for example, to try and find the page best matching the search terms. Instead of doing what nearly all other authors will do, prove the math behind the backprop training algorithm, he instead mentions what it does, and goes on to present python code that implements the stated goal.

The upside of the approach is clear -- if you know the theory of neural networks, and are not sure how to apply it (or want to see an example of how it can be applied), then this book is great for that. His example of adaptively training a backprop net using only a subset of the nodes in the network was interesting, and I learned from it. Given all the reading I have done over the years on the subject, that was a bit of a surprise for me.

However, don't take this book as being the "end all, be all" for understanding neural networks and their applications. If you need that, you will want to augment this book with writings that cover some of the other network architectures (SOM, hopfield, etc) that are out there. The same goes for the other topics that it covers.

In the end, this book is a great introduction to what is available for those new to machine learning, and shows better than any other book how it applies to Web 2.0. Major strengths of this book are its broad coverage, and the practicality of its contents. It is a great book for those who are struggling with the theory, and/or those who need to see an example of how the theory can be applied in a concise, practical way.

To the author: I expect this book will get a second edition, as the premise behind the book is such a good one. If that happens, perhaps beef up the equations a bit in the appendix, and cite some references or a bibliography for those readers interested in some more in depth reading about the theory behind all these wonderful techniques. (The lack of a bibliography is why I gave it 4 stars out of 5, I really think that those who are new to the subject would benefit greatly from knowing what sits on your bookshelf.)

65 of 67 found the following review helpful:


5Accessible introduction to complex topics  Aug 17, 2007 By Leo Dirac
Segaran has done an excellent job of explaining complex algorithms and mathematical concepts with clear examples and code that is both easy to read and useful. His coding style in Python often reads as clearly as pseudo-code in algorithm books. The examples give real-world grounding to abstract concepts like collaborative filtering and bayesian classification.

My favorite part is how he shows us code (gives it to us!) that goes out into the world, grabs masses of data and does interesting things with it. The use of a hierarchical clustering algorithm to dig into people's intrinsic desires in life as expressed in zebo is worth the price of the book alone. The graph that shows a strong connection between "wife", "kids", and "home" but a different connection between "husband", "children", and "job" is IMHO just fascinating.

Gems like that make this book worth reading cover to cover. After that it can happily hang out on your shelf as a reference anytime you need to build something to mine user data and extract the wisdom of crowds.

57 of 60 found the following review helpful:


5Understanding the logic behind sites like Amazon and Google...  Oct 20, 2007 By Thomas Duff "Duffbert"
Have you ever wondered how some of those "collective intelligence" sites work? How Amazon can suggest books that you'll like based on your browsing history? How a search engine can rank and filter results? Toby Segaran does a very good job in revealing and teaching those types of algorithms in his book Programming Collective Intelligence: Building Smart Web 2.0 Applications. While I'm not ready to run out and build my own version of Facebook now, at least I can start to understand how sites like that are designed.

Contents:
Introduction to Collective Intelligence; Making Recommendations; Discovering Groups; Searching and Ranking; Optimization; Document Filtering; Modeling with Decision Trees; Building Price Models; Advanced Classification - Kernel Methods and SVMs; Finding Independent Features; Evolving Intelligence; Algorithm Summary; Third-Party Libraries; Mathematical Formulas; Index

In each of the chapters, Segaran takes a type of capability, be it decision-making or filtering, and shows how a programming language can be used to build that feature. His examples are all in Python, so it helps if you are already familiar with that language if you want to actually work with the code. But even if you don't know Python, the examples are clear and detailed enough that you can follow along and get the gist of what's happening. I personally think that it would help immensely if you had a background in mathematics and statistics. You can use the code here without having a detailed understanding of math, but I'm sure much of this would be more deeply appreciated if you already know about such things as Tanimoto similarity scores, Euclidean distances, or Pearson coefficients.

From my perspective (a non-Python programmer *without* the math background), I was more interested in understanding the overall picture about things like how ranking systems work or how recommendation engines are structured. While there was more detail than I needed (or understood), I still felt as if I accomplished my goal. I have a much greater appreciation for what companies like Google and Amazon have done in building web applications that allow the knowledge and wisdom of groups to be gathered and applied to my own preferences.

Statistical programmers will probably find years of entertainment here. :) "Normal" programmers will expand their horizons, too.

18 of 18 found the following review helpful:


5The most accessible book on machine learning I've found  Sep 05, 2007 By Thomas Lockney "professional geek"
I first learned of this book just a few weeks ago, shortly before it was available. I immediately read the sample chapter on the publisher's website and was certain I had to get a hold of a copy.

I was not in the least bit disappointed with what I found. It has been quite a while since I've looked at any Python code (I'm more of a Ruby fan, personally), but the code is easy to follow and it's a simple matter to extract the basic concepts into any language.

I have spent quite a few years now watching the field of machine intelligence from the sidelines, occasionally reading the odd technical write up or wikipedia article, trying to wrap my brain around the basic ideas. The thing is, it's not clear to me that in some regards, it's not that complex. It's just that most of the existing books and articles are written for those immersed in the field. This book is not like that. It explains things in clear language that is easy to follow, using simplified examples and making excellent use of graphics to "show" you how it works.

If you really want to dig in deep, Segaran provides exercises at the end of each chapter and gives you an appendix full of mathematical formulas (the "pure" representation of the algorithms).

Finally, I should mention that the last chapter does what so many other technical books should but don't: it clearly summarizes everything he has shown you. He does this in a straightforward way so that you won't have to go searching through the book, rereading everything again, to put these techniques into practice.

35 of 40 found the following review helpful:


2Nice introduction to exciting topics but lacks depth  May 05, 2008 By Heavy Reader
I think this is a good, easy-to-read intro to several interesting data-centric software technologies, but it is superficial.

For example, their collaborative filtering (ratings + recommendations) section illustrates only the most simplest of algorithms and completely skips over more advanced techniques (improved normalization, matrix factorization, and others), it skips over even basic benchmarking of the rec system (IMO, if you aren't doing objective benchmarks and tuning it off of those metrics, your rec system is useless), and doesn't address any of the common pitfalls and problems (sparsity, overfitting, normalization problems, scalability issues).

I guess that is expected. If you want a book that's easy to read that can get you excited about some cool ares in software development, this book is great. If you want information beyond the introductory casual reading level, look elsewhere.


See all 71 customer reviews on Amazon.com
 About UsContact Us
Web business powered by Amazon WebStore