Programming Collective Intelligence: Building Smart Web 2.0 Applications View Larger Image | Toby Segaran O'Reilly Media, Paperback, Published August 2007, 358 pages, ISBN 0596529325 | List Price: $39.99 Our Price: $24.95 You Save: $15.04 (38% Off)
| | | Availability: In-Stock |
Be the First to Write a Review and tell the world about this title!People who purchase this book frequently purchase: - High Performance Web Sites; Steve Souders, $18.50, 38% Off!
- RESTful Web Services; Leonard Richardson, et al, $24.95, 38% Off!
- Beautiful Code: Leading Programmers Explain How They Think; Andy Oram, et al, $36.95, 18% Off!
- Building Scalable Web Sites: Building, Scaling and Optimizing the Next Generation of Web Applications; Cal Henderson, $24.95, 38% Off!
Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:
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 a
dataset
- 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
Table of Contents
<
Preface
1. Introduction to Collective Intelligence
What Is Collective Intelligence?
What Is Machine Learning?
Limits of Machine Learning
Real-Life Examples
Other Uses for Learning Algorithms
2. Making Recommendations
Collaborative Filtering
Collecting Preferences
Finding Similar Users
Recommending Items
Matching Products
Building a del.icio.us Link Recommender
Item-Based Filtering
Using the MovieLens Dataset
User-Based or Item-Based Filtering?
Exercises
3. Discovering Groups
Supervised versus Unsupervised Learning
Word Vectors
Hierarchical Clustering
Drawing the Dendrogram
Column Clustering
K-Means Clustering
Clusters of Preferences
Viewing Data in Two Dimensions
Other Things to Cluster
Exercises
4. Searching and Ranking
What's in a Search Engine?
A Simple Crawler
Building the Index
Querying
Content-Based Ranking
Using Inbound Links
Learning from Clicks
Exercises
5. Optimization
Group Travel
Representing Solutions
The Cost Function
Random Searching
Hill Climbing
Simulated Annealing
Genetic Algorithms
Real Flight Searches
Optimizing for Preferences
Network Visualization
Other Possibilities
Exercises
6. Document Filtering
Filtering Spam
Documents and Words
Training the Classifier
Calculating Probabilities
A Naïve Classifier
The Fisher Method
Persisting the Trained Classifiers
Filtering Blog Feeds
Improving Feature Detection
Using Akismet
Alternative Methods
Exercises
7. Modeling with Decision Trees
Predicting Signups
Introducing Decision Trees
Training the Tree
Choosing the Best Split
Recursive Tree Building
Displaying the Tree
Classifying New Observations
Pruning the Tree
Dealing with Missing Data
Dealing with Numerical Outcomes
Modeling Home Prices
Modeling "Hotness"
When to Use Decision Trees
Exercises
8. Building Price Models
Building a Sample Dataset
k-Nearest Neighbors
Weighted Neighbors
Cross-Validation
Heterogeneous Variables
Optimizing the Scale
Uneven Distributions
Using Real Data-the eBay API
When to Use k-Nearest Neighbors
Exercises
9. Advanced Classification: Kernel Methods and SVMs
Matchmaker Dataset
Difficulties with the Data
Basic Linear Classification
Categorical Features
Scaling the Data
Understanding Kernel Methods
Support-Vector Machines
Using LIBSVM
Matching on Facebook
Exercises
10. Finding Independent Features
A Corpus of News
Previous Approaches
Non-Negative Matrix Factorization
Displaying the Results
Using Stock Market Data
Exercises
11. Evolving Intelligence
What Is Genetic Programming?
Programs As Trees
Creating the Initial Population
Testing a Solution
Mutating Programs
Crossover
Building the Environment
A Simple Game
Further Possibilities
Exercises
12. Algorithm Summary
Bayesian Classifier
Decision Tree Classifier
Neural Networks
Support-Vector Machines
k-Nearest Neighbors
Clustering
Multidimensional Scaling
Non-Negative Matrix Factorization
Optimization
A. Third-Party Libraries
B. Mathematical Formulas
Index
About the Author
Toby Segaran is a software developer and manager at Genstruct, a computational
systems biology company. He has written free web applications for his own use
and put them online for others to try, including: tasktoy, a task management
system; Lazybase, an online application that lets users design, create and share
databases of anything they like; and Rosetta Blog, an online tool for practicing
Spanish and French by reading blogs along with their translations and lists
of common words. Each of these has several hundred regular users. His blog is
located at kiwitobes.com.
|