Building blocks for recommender systems
The important application of machine learning is Recommender Systems. What the big websites like Amazon, Netflix, flipkart , eBay does is that, they recommend best products that suits your requirements. Amazon tries to recommend books; Netflix tries to recommend movies; eBay tries to recommend clothing. They do this based on the past rating of your products. So recommender systems are responsible for their company’s revenue. These recommender systems are good at learning, the features provided than any other machine learning algorithms.
So, without any further delay we will get into the problem formulation of recommender system in movies review domain where we have collected ratings of five different movies from four different persons as follows
Let’s say you own a company that provides steaming services to the people where your users can view and rate different movies on a scale of 0-5 rating .The above table represents the rating of different users on different movies where “0” implies they didn’t like the movie and “5” implies they are amazed and “-” shows that they didn’t watched the movie and by the name we can categorize the movies
n – no.of users
m – no. of movies
r(i,j)=1 if user ‘j’ has rated movie ‘i’
y(i,j)=(0-5)rating given by user ‘j’ to movie ‘i’(defined only if r(i,j) = 1)
If we observe the rating table first two users gave high rating to the romantic movies, whereas other two are quite opposite they gave high rating to the action movies. So, the problem statement for recommender system is given these table of r(i,j) and y(i,j) we have to compute the rating of the movies that are not seen by the users(-) and based on that rating we have to suggest the best movie to the user. So, our task is to build a recommender system to come up with a learning algorithm that can automatically fill the missing values and based on them we can recommend user what else he might be interested to watch. Let’s say for each movie we have set of features as shown below. In particular where ‘x1’ measures the degree to which a movie is romantic movie and ‘x2’ measures the degree to which a movie belongs to action genre.
These are the features we defined and we add an intercept term ‘1’ for every movie then we get a feature vector for every movie as follows
Thus we predict that Rohith may rate the movie cute puppies as 4.95.which is is a reasonable one because as we see Rohith rated more for romantic genre movie.