About Dataset
This dataset consists of ratings of 1 to 5. The dataset has 943 users, and 1682 movies.
There are two matrices in the dataset. One is matrix Y (a num_movies x num_users matrix) stores the rating y(i,j) (from 1 to 5). The matrices R is an binary-valued indicator matrix, where R(i,j)=1 if user j gave a rating to movie i, and R(i,j)=0 otherwise. The objective of collaborative filtering is to predict movie ratings for the movies that users have not yes rated, that is, the entries with R(i,j)=0.
The Collaborative filtering learning algorithm
Basic concepts:
1. By grouping similar users, we can perform recommendation based on collaborative filtering.
2. Does not require a lot of information about users & items itself.
3. Based on the history of user-item interactions.
Our objective function is collaborative filtering cost function
Then we need to solve the theta and x that minimize the J. The gradient of J is as below
Once we get these parameters, we can predict the rating of movies which users do not actually rated.
y_predict = theta*x
Part of results is as below:
collaborative filtering is a good way to filter some useless informations and return users selected informations. You use this algorithm in movie rating and I think it is a enlightening idea for me. Thank you!
回复删除Very clear blog! Recommender system can really help improve the user experience by valuable recommendation from large amount of content. The content you post helps me better understand recommender system. Thanks!
回复删除The recommendation system is useful for providing relevance. And it seems many people like to use it to choose the option.
回复删除