Slope One Predictors for Online Rating-Based Collaborative Filtering Daniel Lemire, Anna Maclachlan In SIAM Data Mining (SDM’05), Newport Beach, California, April 21-23,
Motivation Separating items that a user liked from items that a user disliked Providing robust CF schemes that are Easy to implement and maintain Updateable on the fly Efficient at query time Expect little from first visitors Accurate within reason 2
Basic Slope One scheme User A = u[2] = {1, 1.5} User B = u[2] = {2, 2.5} S(u) is subset of u[i] X is the training set If each u X, then S i (X) is the set contain item i Slope One form f(x)=x+b To find the best function f that predicts one item’s ratings from the other item’s ratings. 3
Memory-based (Item-based) & Model-based Similarity Collecting users rating set data from users (user-based CF) Predicting rating by precomputing the similarity from another item’s rating Generating recommendations Difference Memory-based will take too much time on computing too much data Model-based will build models from the history data then use these models computing the predictions 4
CF Algorithms Three propose scheme SLOPE ONE BI-POLAR SLOPE ONE WEIGHT SLOPE ONE Four contrast scheme Memory-based PERSON Model-based PRE USER AVERAGE BIAS FROM MEAN ADJESTED COSINE ITEM-BASED 5
PRE USER AVERAGE Item1Item2Item3Item4 UserA 524 UserB 4332 UserC 333 6
BIAS FROM MEAN Item1Item2Item3Item4 UserA 524 UserB 4332 UserC 333 7
ADJESTED COSINE ITEM-BASED (1) Item1Item2Item3Item4 UserA 524 UserB 4332 UserC 333 8
ADJESTED COSINE ITEM-BASED (2) Item1Item2Item3Item4 UserA 524 UserB 4332 UserC 333 9
PERSON Among the most popular and accurate memory-based scheme It takes the form of all users in X where is a similarity measure computed from Person’s correlation 10
SLOPE ONE Building item deviation matrix Item1Item2Item3Item4 UserA 524 UserB 4332 UserC
WEIGHT SLOPE ONE Item1Item2Item3Item4 UserA 524 UserB 4332 UserC
BI-POLAR SLOPE ONE Item1Item2Item3Item4 UserA 524 UserB 4332 UserC S like (UserA) = {Item1, Item3} S dislike (UserA) = {Item4} S like (UserB) = {Item1, Item3} S dislike (UserB) = {Item4}
Experiment Results All But One Mean Average Error (MAE) Computing the average error on the predictions Using EachMovie and Movielens data from