Singular Value Decomposition and Item-Based Collaborative Filtering for Netflix Prize Presentation by Tingda Lu at the Saturday Research meeting 10_23_10.

Slides:



Advertisements
Similar presentations
Item Based Collaborative Filtering Recommendation Algorithms
Advertisements

Differentially Private Recommendation Systems Jeremiah Blocki Fall A: Foundations of Security and Privacy.
Dimensionality Reduction PCA -- SVD
Jeff Howbert Introduction to Machine Learning Winter Collaborative Filtering Nearest Neighbor Approach.
1 RegionKNN: A Scalable Hybrid Collaborative Filtering Algorithm for Personalized Web Service Recommendation Xi Chen, Xudong Liu, Zicheng Huang, and Hailong.
Oct 14, 2014 Lirong Xia Recommender systems acknowledgment: Li Zhang, UCSC.
COLLABORATIVE FILTERING Mustafa Cavdar Neslihan Bulut.
Intro to RecSys and CCF Brian Ackerman 1. Roadmap Introduction to Recommender Systems & Collaborative Filtering Collaborative Competitive Filtering 2.
Item-based Collaborative Filtering Idea: a user is likely to have the same opinion for similar items [if I like Canon cameras, I might also like Canon.
Rubi’s Motivation for CF  Find a PhD problem  Find “real life” PhD problem  Find an interesting PhD problem  Make Money!
Memory-Based Recommender Systems : A Comparative Study Aaron John Mani Srinivasan Ramani CSCI 572 PROJECT RECOMPARATOR.
DIMENSIONALITY REDUCTION BY RANDOM PROJECTION AND LATENT SEMANTIC INDEXING Jessica Lin and Dimitrios Gunopulos Ângelo Cardoso IST/UTL December
Recommendations via Collaborative Filtering. Recommendations Relevant for movies, restaurants, hotels…. Recommendation Systems is a very hot topic in.
10_16_10 The Netflix Program: mpp-mpred.C reads PROBE, loops thru (M i, ProbeSup(M i ), pass each to mpp-user.C. mpp-mpred.C can call separate instances.
Recommender systems Ram Akella February 23, 2011 Lecture 6b, i290 & 280I University of California at Berkeley Silicon Valley Center/SC.
Collaborative Filtering CMSC498K Survey Paper Presented by Hyoungtae Cho.
Recommender systems Ram Akella November 26 th 2008.
Evaluating Performance for Data Mining Techniques
Collaborative Filtering Matrix Factorization Approach
Chapter 12 (Section 12.4) : Recommender Systems Second edition of the book, coming soon.
Item-based Collaborative Filtering Recommendation Algorithms
Performance of Recommender Algorithms on Top-N Recommendation Tasks
Performance of Recommender Algorithms on Top-N Recommendation Tasks RecSys 2010 Intelligent Database Systems Lab. School of Computer Science & Engineering.
Distributed Networks & Systems Lab. Introduction Collaborative filtering Characteristics and challenges Memory-based CF Model-based CF Hybrid CF Recent.
Item Based Collaborative Filtering Recommendation Algorithms Badrul Sarwar, George Karpis, Joseph KonStan, John Riedl (UMN) p.s.: slides adapted from:
Collaborative Filtering Recommendation Reporter : Ximeng Liu Supervisor: Rongxing Lu School of EEE, NTU
WEMAREC: Accurate and Scalable Recommendation through Weighted and Ensemble Matrix Approximation Chao Chen ⨳ , Dongsheng Li
Focused Matrix Factorization for Audience Selection in Display Advertising BHARGAV KANAGAL, AMR AHMED, SANDEEP PANDEY, VANJA JOSIFOVSKI, LLUIS GARCIA-PUEYO,
Group Recommendations with Rank Aggregation and Collaborative Filtering Linas Baltrunas, Tadas Makcinskas, Francesco Ricci Free University of Bozen-Bolzano.
EMIS 8381 – Spring Netflix and Your Next Movie Night Nonlinear Programming Ron Andrews EMIS 8381.
Chengjie Sun,Lei Lin, Yuan Chen, Bingquan Liu Harbin Institute of Technology School of Computer Science and Technology 1 19/11/ :09 PM.
Investigation of Various Factorization Methods for Large Recommender Systems G. Takács, I. Pilászy, B. Németh and D. Tikk 10th International.
Temporal Diversity in Recommender Systems Neal Lathia, Stephen Hailes, Licia Capra, and Xavier Amatriain SIGIR 2010 April 6, 2011 Hyunwoo Kim.
A more efficient Collaborative Filtering method Tam Ming Wai Dr. Nikos Mamoulis.
A Content-Based Approach to Collaborative Filtering Brandon Douthit-Wood CS 470 – Final Presentation.
Evaluation of Recommender Systems Joonseok Lee Georgia Institute of Technology 2011/04/12 1.
Recommender Systems Debapriyo Majumdar Information Retrieval – Spring 2015 Indian Statistical Institute Kolkata Credits to Bing Liu (UIC) and Angshul Majumdar.
Presented By, Shivvasangari Subramani. 1. Introduction 2. Problem Definition 3. Intuition 4. Experiments 5. Real Time Implementation 6. Future Plans 7.
Recommender Systems. Recommender Systems (RSs) n RSs are software tools providing suggestions for items to be of use to users, such as what items to buy,
Singular Value Decomposition and Item-Based Collaborative Filtering for Netflix Prize Presentation by Tingda Lu at the Saturday Research meeting 10_23_10.
Click to Add Title A Systematic Framework for Sentiment Identification by Modeling User Social Effects Kunpeng Zhang Assistant Professor Department of.
KNN CF: A Temporal Social Network kNN CF: A Temporal Social Network Neal Lathia, Stephen Hailes, Licia Capra University College London RecSys ’ 08 Advisor:
Yue Xu Shu Zhang.  A person has already rated some movies, which movies he/she may be interested, too?  If we have huge data of user and movies, this.
Page 1 A Random Walk Method for Alleviating the Sparsity Problem in Collaborative Filtering Hilmi Yıldırım and Mukkai S. Krishnamoorthy Rensselaer Polytechnic.
Collaborative Filtering via Euclidean Embedding M. Khoshneshin and W. Street Proc. of ACM RecSys, pp , 2010.
ICONIP 2010, Sydney, Australia 1 An Enhanced Semi-supervised Recommendation Model Based on Green’s Function Dingyan Wang and Irwin King Dept. of Computer.
Online Evolutionary Collaborative Filtering RECSYS 2010 Intelligent Database Systems Lab. School of Computer Science & Engineering Seoul National University.
Matrix Factorization & Singular Value Decomposition Bamshad Mobasher DePaul University Bamshad Mobasher DePaul University.
Experimental Study on Item-based P-Tree Collaborative Filtering for Netflix Prize.
Company LOGO MovieMiner A collaborative filtering system for predicting Netflix user’s movie ratings [ECS289G Data Mining] Team Spelunker: Justin Becker,
Item-Based Collaborative Filtering Recommendation Algorithms Badrul Sarwar, George Karypis, Joseph Konstan, and John Riedl GroupLens Research Group/ Army.
The Wisdom of the Few Xavier Amatrian, Neal Lathis, Josep M. Pujol SIGIR’09 Advisor: Jia Ling, Koh Speaker: Yu Cheng, Hsieh.
Collaborative Filtering - Pooja Hegde. The Problem : OVERLOAD Too much stuff!!!! Too many books! Too many journals! Too many movies! Too much content!
ItemBased Collaborative Filtering Recommendation Algorithms 1.
Item-Based Collaborative Filtering Recommendation Algorithms
Data Mining: Concepts and Techniques
Item-Based P-Tree Collaborative Filtering applied to the Netflix Data
Singular Value Decomposition, and Application to Recommender Systems
North Dakota State University Fargo, ND USA
Adopted from Bin UIC Recommender Systems Adopted from Bin UIC.
Collaborative Filtering Nearest Neighbor Approach
M.Sc. Project Doron Harlev Supervisor: Dr. Dana Ron
Step-By-Step Instructions for Miniproject 2
Q4 : How does Netflix recommend movies?
Collaborative Filtering Matrix Factorization Approach
North Dakota State University Fargo, ND USA
ITEM BASED COLLABORATIVE FILTERING RECOMMENDATION ALGORITHEMS
Collaborative Filtering Non-negative Matrix Factorization
North Dakota State University Fargo, ND USA
Recommender Systems Group 6 Javier Velasco Anusha Sama
Presentation transcript:

Singular Value Decomposition and Item-Based Collaborative Filtering for Netflix Prize Presentation by Tingda Lu at the Saturday Research meeting 10_23_10 enhanced (with audio added) by William perrizo Computer Science North Dakota State University Fargo, ND USA

Agenda Singular Value Decomposition Singular Value Decomposition Item-based P-Tree CF algorithm Item-based P-Tree CF algorithm Similarity measurements Similarity measurements Experimental results Experimental results Recommendation System analyzes customer’s purchase history analyzes customer’s purchase history identifies customer’s preference identifies customer’s preference recommends most likely purchases recommends most likely purchases increases customer satisfaction increases customer satisfaction leads to business success leads to business success amazon.com and Netflix amazon.com and Netflix SVD SVD is an important factorization of a rectangular real or matrix, with apps in signal processing and statistics SVD is an important factorization of a rectangular real or matrix, with apps in signal processing and statistics SVD proposed in Netflix by Simon Funk SVD proposed in Netflix by Simon Funk SVD, mathematically, looks nothing like this but engineers, over many years have boiled the technique down into very simple versions (such as this one) for their quick and effective use SVD, mathematically, looks nothing like this but engineers, over many years have boiled the technique down into very simple versions (such as this one) for their quick and effective use

What about creating and optimizing (with back propagation) a custom matrix for each prediction we have to make? - i.e., in movie-vote.C or user-vote.C. What about creating and optimizing (with back propagation) a custom matrix for each prediction we have to make? - i.e., in movie-vote.C or user-vote.C. The call from mpp-user-C to e.g., movie-vote.C sends M,U,supM,supU. The call from mpp-user-C to e.g., movie-vote.C sends M,U,supM,supU. *** In movie-vote [or user-vote] before entering the nested loop (outer VoterLoop, inner DimLoop), train optimal V T and N matrixes for that vote only (so # features high [pruned supM and supU are << 17K and 500K) *** In movie-vote [or user-vote] before entering the nested loop (outer VoterLoop, inner DimLoop), train optimal V T and N matrixes for that vote only (so # features high [pruned supM and supU are << 17K and 500K) SVD User’s rate movies with user preferences about various features of the movie. User’s rate movies with user preferences about various features of the movie. Features can be anything you want them to be (or nothing! randomly constructed!). Features can be anything you want them to be (or nothing! randomly constructed!). In fact, it is typical to start with a fix number of meaningless features populated with random values, then back propagate to "improve" those values until some satisfaction level is reached (in terms of the RMSE). This back propagation is identical to that of the back prop of Neural Networks. In fact, it is typical to start with a fix number of meaningless features populated with random values, then back propagate to "improve" those values until some satisfaction level is reached (in terms of the RMSE). This back propagation is identical to that of the back prop of Neural Networks. Tingda Lu found 30 features too small and 100 right (200 was too time consuming). Tingda Lu found 30 features too small and 100 right (200 was too time consuming). features --> users --> movies --> features --> Another option would be to cluster U T with respect to "max common cosupport" (what ever that might mean - the larger the common cosupport is taken to be the smaller the cluster will be. If ccs is required to be too large, many of the cluster may end up being singleton - meaning we are back to where we were before this clustering (no effect). Do the sam e with M. Then train the submatrix pairs (each pair one at a time - but note this is entirely parallelizable over a computer cluster. Now each time a pair (u,m) needs a ratings prediction retrieve the appropriate cluster pair (the V T that contains u and the N that contains m), and apply the r u,i formula below (i=m).

SVD training Parameters: learning rate and lambda Parameters: learning rate and lambda Tune the parameters to minimize error Tune the parameters to minimize error Collaborative Filtering (CF) alg is widely used in recommendation systems Collaborative Filtering (CF) alg is widely used in recommendation systems User-based CF algorithm is limited because of its computation complexity User-based CF algorithm is limited because of its computation complexity Movie-based (Item-based) CF has less scalability concerns Movie-based (Item-based) CF has less scalability concerns /* Movie-based PTree CF*/ PTree.load_binary(); // Calculate the similarity while i in I { while j in I { sim i,j = sim(PTree[i], Ptree[j]); }} // Get the top K nearest neighbors to item i pt=Ptree.get_items(u); sort(pt.begin(), pt.end(), sim i,pt.get_index() ); // Prediction of rating on item i by user u sum = 0.0, weight = 0.0; for (j=0; j<K; ++j) { sum += r u,pt[j] * sim i,pt[j] ; weight += sim i,pt[j] ; weight += sim i,pt[j] ;} pred = sum/weight sim is any simmilarity function. The only req. is that sim(i.i) >= sim(i,j). In movie-vote.C one could backpropagate train V T and N (see *** on previous slide) anew for each call from mpp-user.C to movie-vote.C and thereby allow a large number of features (much higher accuracy?) because V T and N are much smaller than U T and M Here Closed Nearest Neighbor methods should improve the result! If the similarity is simple enough to allow the calculation through PTrees, then closed K Nearest Neighbor will be both faster and more accurate.

Similarities (correlations) Cosine based Cosine based Pearson correlation Pearson correlation Adjusted Cosine SVD item-feature or Tingda Lu similarity? or combining Pearson and Adj Cosine: * i i j j

Similarity Correction Two items are not similar if only a few customers purchased or rated both Two items are not similar if only a few customers purchased or rated both Co-support is included in item similarity Co-support is included in item similarity Prediction Weighted Average Item Effects \ RMSE Neighbor Size \ RMSE Neighbor Size CosinePearsonAdj. CosSVD IF K= K= K= K= K= Adj Cosine similarity gets much lower RMSE The reason lies in the fact that other algorithms do not exclude the user rating variance Adjusted Cosine algorithm discards the user variance hence gets better prediction accuracy

Similarity Correction All algorithms get better RMSE with similarity correction except Adjusted Cosine. CosinePearsonAdj. CosSVD IF Before After Improve0.009%2.798% %0.750% Item Effects Improvements for all algorithms. Individual’s behavior influenced by others. CosinePearsonAdj. CosSVD IF Before After Improve9.576%5.557%1.967%4.906% Conclusion Experiments were carried out on Cosine, Pearson, Adjusted Cosine and SVD item-feature algs Support correction and item effects significantly improve the prediction accuracy. Pearson and SVD item-feature algs achieve better results with similarity correction and item effects.

10_23_10 Saturday notes (by Mohammad) Participants: Mohammad, Arjun, Arijit, Using Skype – Tingda and Prakash. 10_23_10 Saturday notes (by Mohammad) Participants: Mohammad, Arjun, Arijit, Using Skype – Tingda and Prakash. Tingda Lu: “Singular Value Decomposition and item-based collaborative filtering for Netflix prize”. As Tingda went through the slides, the group members discussed various issues. Here are some key points of the discussions In the 5th slide, Tingda showed two matrices U and M. Matrix UT contains the users in rows and features in the columns. So there would be 500,000 rows in the matrix (as there are half a million users in the Netflix problem) but number of features is not known (as it is not described in the problem). As Tingda mentioned, you can take as many features as you wish but larger number would give you good result. The value of these features might be randomly filled but they will converge to some values by neural network back propagation. As Tingda found 10 to 30 features are too small, 40 – 60 still not large enough and 100 is good enough. M is the movie matrix where rows represent the features and columns represent the movies. So there are 100 features and 17,000 movies. So it’s a 100x17000 matrix – same thing goes for the features. Arijit suggested that we may go the Netflix’s website to see what the features they use to describe their movies are and we may use those features. In slide no 8, an algorithm is shown for “Item based PTree CF”. The alg 1st calculates similarity between items in the item set I. Here a long discussion took place to choose the similarity function: –Tingda gave 4 similarity fctns; cosine, pearson, adjusted cosine and SVD item feature (shown in slide 9, 10). –Dr. Perrizo's similarity is Sim(i, j) = a positive real number following the property that Sim(i, i) >= Sim(i, j). –Dr. Perrizo made a suggestion of combining the Pearson and Adjusted cosine similarity function as follows: In 2nd part, K nearest nbrs are computed. Dr. P suggested to use Closed KNN. I.e., consider all nbrs same distance as kth Dr. P.:use Sum of Cor (ui, uj), not Nij Then Dr. P.: Use these similarities in use-vote.C and movie-vote.C and get ‘Pruned Training Set Support’ (PTSS) values, which will be used by mpp-user.C to make the final prediction (? ) More features -> more accuracy: In 1, if we include more features that will give us more accuracy in prediction. But we already have too many rows in user matrix (half a million). And we need to train the matrix using back prop (very time consuming). So don’t train matrices before pruning seriously like 10 users so that you can increase number of features. Make code generic (not specific to Netflix problem) so that the code may be used in e.g., satellite imagery – LandSat 5?). 0 rating is not really 0 in Netflix problem should be removed in generic code as 0 may be a valid rating in other problem. Tingda used similarity correction. E.g., he didn’t use 2 items ( or movies) similar if only a few number of users rated both. Tingda's formula: Log(Nij)*Sim(I,j) Dr. Perrizo suggest to use Sum of Cor (ui, uj) instead of Nij