Recommendation algorithms

From WhyNotWiki

Jump to: navigation, search

SVD Recommendation System in Ruby (http://www.igvita.com/blog/2007/01/15/svd-recommendation-system-in-ruby/). Retrieved on 2007-02-02 13:11.

One day, a bunch of friends, who happened to be big Family Guy fans, decided to put together a site to rank and share their thoughts on the show. Soon thereafter they had a Rails site up and running, and all was well, and other fans joined in hordes. A web 2.0 success! Then one day they realized that they could no longer track everyone’s ratings, their user-base was too large, and so it occurred to one of the developers: “Wouldn’t it be cool if we could use the collective knowledge of our whole community to recommend and rank episodes for each user individually?”

Sounds familiar, right? In fact, recommendation systems are a billion-dollar industry, and growing. In academic jargon this problem is known as Collaborative Filtering, and a lot of ink has been spilled on the matter. Netflix, for one, announced a 1 million dollar competition last year for a system that beats their algorithm by +10% percent. It goes without saying that a lot of different systems have been proposed and explored in theory and practice. However, one of the most successful and widely used approaches to this day also happens to be one of the simplest: Singular Value Decomposition (SVD), also affectionately referred to in the literature as LSI (Latent Semantic Indexing), dimensionality reduction, or projection.

...

Personal tools