This is a little note I took when I going through this recommender system course on Coursera.

A Bit of History

There are several kinds of approaches to Recommender Systems in history:

  1. Information Retrieval and Filtering
    The difference between Retrieval and Filtering is that Information Retrieval looks like a search engine or index system in library, but Information Filtering can extract people’s preference, for example, in library, an Information Filtering system could know which kind of books you would like to read (art, fiction, etc.).
  2. Manual Collaborative Filtering
    The Collaborative Filtering adds the information from other people with similar tastes to a individual user. This could help to improve recommend result by putting people into groups.
  3. Automatically Collaborative Filtering
    This one is same to the second one, except this approach do its job automatically.

Several kinds of Recommender System

  1. Non-Personalized Recommenders
    Look all the rate for one item, compute average value, then do recommendation. For example, restaurant reviews. There may be thousands of rates for one restaurant. Using these rates, we can compute how is it good in average, and provide this information to help user’s decision.
  2. Content-Based Recommenders
    Still, take the restaurant for example. There must be some valuable features for restaurant, such as view, price, food, service… etc. So the main task for Content-Based Recommenders is to find personalized preference for restaurant.
    The basic form is: each restaurant has a feature vector to depict its characteristics which derived from review data. Also, each user has a feature vectors to depict their preference. Then, simply do dot product on these two vector could result how much a user will like a particular restaurant.
  3. Personalized Collaborative Filtering
    Find similar people rated similar on the item.