Font Size: a A A

Research On Collaborative Filtering Based Recommender Systems

Posted on:2011-09-23Degree:MasterType:Thesis
Country:ChinaCandidate:X LiFull Text:PDF
GTID:2178360305954315Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Recommender systems are achieving widespread success in E-commerce with the ability to promote sales for vendors and improve purchasing experience for the customers. Among all the recommending techniques, Collaborative Filtering (CF) is the most popular and successful one because of its simplicity and effectiveness.A predominant approach to collaborative filtering is neighborhood based ("k-nearest neighbors", kNN), including the user-based and item-based approach, where a user-item preference rating is predicted from similar items and/or like-minded users. Three major components characterize the kNN approach: (1) similarity computation, (2) neighbor selection, and (3) rating prediction. The most commonly used similarity measures are: standard cosine, adjusted cosine and Pearson correlation. The kNN approach, which relies on customers'rating patterns and preferences, has been shown to produce high quality personalized recommendations, but the quality is greatly constrained by data sparsity, the cold start problem and synonymy, and the performance degrades with the number of customers and products.Based on the kNN approach, this paper presents three algorithmic elements against data sparsity, the drawbacks of similarity measures and the cold start problem, respectively. They are: Cosine-Pearson (CP), Neighbor Grade (NG), and Common Ratings (CR). To discover the latent relationships between users and items, and to reduce the dimensionality of recommender system databases, we combine the kNN approach with the Singular Value Decomposition (SVD) model to obtain an ensemble approach SVD-KNN and apply the above three algorithmic elements to it.CP is designed for data sparsity. For the items that is rated and not rated in the user-item matrix, we hold the binary view as described below:1) Priori interest. A user only rates the items that he/she is interested in. As a result, he/she may be satisfied with the item or disappointed at it, resulting in a high or low preference. However, his/her interest in the rated items is always higher than that in the items he/she has not rated.2) Posterior interest. A user has got the same feelings towards different items. He/she chooses items to rate randomly and express both his/her interest and preference by the posterior ratings.Filling the missing values in the user-item matrix with zeros fits the above binary view well. The cosine similarity utilizes the union of two item/user rating vectors, takes the zeros into account, and thus focuses on the priori interest, while the Pearson correlation utilizes the intersection of rating vectors, eliminates the influence of missing values, and thus focuses on the posterior interest. However, due to data sparsity, the Pearson correlation is always based on a"small intersection", that is, a small number of co-rated items or co-rating users. To avoid that, CP adopts a weighted Pearson. Neighbor selection is based on the sum of cosine and weighted Pearson, while only one of them is used as weight to predict ratings.NG is designed to deal with the drawbacks of the three similarity measures. The numerator and denominator of standard cosine and adjusted cosine come from the intersection and union of rating vectors, respectively. If we consider a large intersection as an advantage, a large union obviously turns into a disadvantage. This is really disastrous for items/users with ample rating information, because they've always got long rating vectors, and the disadvantage of large unions always greatly reduces the advantage of relatively small intersections. We call this the"long column/row"problem. Besides, the"small intersection"problem of Pearson correlation has been mentioned in the description of CP.Then we get the main idea of NG:1) Separate all the neighbors of the active item/user into several grades according to their intersections of rating vectors with the item/user. The larger the intersection, the higher the grade.2) Sort the neighbors by their grades firstly and their similarities secondly in descending order to obtain the k-nearest neighbors.CR tackles the cold start problem. Since the rating information of new items and new users is rare, available neighbors are often not reliable, which results in poor quality of the kNN approach. CR considers the following non-personalized idea:1) For an item with rare rating information, consider all the users who have rated the item. So we combine the active user's rating average with the differences between all the rating records on the item and the corresponding users'rating average.2) For a user with rare rating information, consider all the items that have been rated by the user. So we combine the current item's rating average with the differences between all the rating records by the user and the corresponding items'rating average.We apply all the three algorithmic elements separately on both the item-based and user-based approach, and get obvious improvements. The ensemble of CP, CR, and both kNN approaches turns out significant improvement.Besides, we analyze the principle of introducing the SVD model into collaborative filtering in detail, and we utilize the following features of SVD:1) Discover the latent relationships between users and items, and estimate missing values with these relationships. Thus we get the na?ve SVD algorithm NSVD.2) Reduce the dimensionality of the original database, remove underlying noises, and apply the kNN approach to the low dimensional space. Thus we get the SVD-KNN approach.We find out in the experiments that the quality of SVD-KNN is better than that of NSVD, and the quality of SVD-KNN using original data is better than that using filled and normalized data. We also discover that SVD reduces data sparsity to some extent, so only CR of the three algorithmic elements keeps effective on SVD-KNN. What's more, we make careful observations on the following aspects:1) The influence of data sparsity on SVD.2) Whether SVD holds important features of the original data.3) Whether data loss occurs in SVD.4) Whether overfitting happens during the process of SVD on sparse data.In our experiments, the MovieLens dataset with 100,000 ratings is used. The data sparsity level is 0.9369.
Keywords/Search Tags:Recommender systems, collaborative filtering, k-nearest neighbors, SVD model, MAE, MovieLens
PDF Full Text Request
Related items