blog

View on GitHub
  • Types of Recommender Systems
    • recommend things (products)
    • recommemd content
    • recommend music (such as pandora music genome project)
    • recommend people (such as online dating system)
    • recommend search results (personalize search result rather than just information retrieval)
  • Some terminology
    • top-N recommenders
      • for example, content-based recommender has individual interests store -> candidate generation module -> <- item similarities store
        • candidate generation -> candidate ranking module -> filtering module -> recommend results
        • item similarities store is where all the magic happens
      • candidate generation, candidate ranking, filtering will live in some distributed web-service. Web front-end will talk to the while rendering a page for specific user
  • Recommendation system evaluation
    • split data into training set. Train recommender system only using the training data and use test set to measure accuracy
    • k-fold cross validation
    • accuracy metric:
      • mean absolute error (MAE): where yi is the rating predicted by system and xi is the actual rating user gives. The low the better
      • root mean square error (RMSE): penalize more when the predicted rating is too off, penalize less when the predicted rating is similar to the actual rating. . The low the better
      • ideally we should measure how people react when giving a recommendation that people have never seen before. But this cannot be done offline
        • some metric that achieve are: hit rate. hits/users
        • leave-one-out cross validation
        • average reciprocal hit rate (ARHR): . It measures the system’s ability to recommend top items in users’ point of view.
        • cumulative hit rate (cHR): throw away results if our predicted rating is below some threshold
        • rating hit rate (rHR): split hit rate by different rating score
    • converage metric
      • percentage of <user, item> pairs that can be predicted
    • diversity metric
      • 1-S where S is average similarity between recommendation pairs
    • novelty
      • popularity rank of recommended items
    • churn
      • how often do recommemdataions change
    • responsiveness
      • how quickly does new user behavior influence your recommendations
    • use online A/B test to see which metric is more important
  • Content-based filtering
    • consine similarity
      • convert movie genres to dimensions
    • k nearest neighbors
      • get similarity scores between this movie and all others the user rated
      • sort
      • select top k nearest movies
      • use similarity score to do the weighted average in order to get final rating prediction
blog is maintained by tigermlt. This page was generated by GitHub Pages.