Deep Learning Meets Recommendation Systems

Almost everyone loves to spend their leisure time to watch movies with their family and friends. We all have the same experience when we sit on our couch to choose a movie that we are going to watch and spend the next two hours but can’t even find one after 20 minutes. It is so disappointing. We definitely need a computer agent to provide movie recommendation to us when we need to choose a movie and save our time. Apparently, a movie recommendation agent has already become an essential part of our life..
According to Data Science Central “Although hard data is difficult to come by, many informed sources estimate that, for the major ecommerce platforms like Amazon and Netflix, that recommenders may be responsible for as much as 10% to 25% of incremental revenue.” In this project, I study some basic recommendation algorithms for movie recommendation and also try to integrate deep learning to my movie recommendation system. Movies are great examples of a combination of entertainment and visual art. Movie posters often can bring the ideas of movies to an audience directly and immediately. According to DesignMantic, “Post and pre-release of any movie their posters are the main elements which create the hype about them. More than half of the people (i.e., the target audience) decide whether to book tickets and watch the movie or not based on the movie posters.” We can even predict any movie’s mood by just looking at the typography of is poster
It sounds a bit like magic but it is definitely possible to predict a movie’s genre by just looking at its poster. For myself, I know if I want to watch a movie or not by just looking at its poster. For example, since I am not a fan of cartoon movies, so whenever I saw those movie posters with cartoon themes or colors, I knew they are not my options. This decision process is very straightforward and dose not require any review reading (not sure people have time to read reviews). Therefore, in addition to some standard movie recommendation algorithms, I also use deep learning to process movie posters and try to find similar movies to be recommended to users. The goal is to mimic a human’s visual ability and to build an intuitive movie recommender by just looking at movie posters based on deep learning. This project is inspired by Ethan Rosenthal’s blog posts and I modified his codes in his blog posts to fit the algorithms used here.
We use the movie dataset downloaded from MovieLens website. The dataset consists of 100,000 ratings and 1,300 tag applications applied to 9,066 movies by 671 users. The dataset was last updated in 10/2016.
Roughly speaking, there are three types of recommendation systems (excluding simple ranking approach):
For a content-based recommendation system, it is a regression problem in which we try to make a user-to-item rating prediction using the content of items as features. On the other hand, for a collaborative filtering based recommendation system, we usually don’t know the content of features in advance, and by using the similarity between different users (users may give similar ratings to the same items) and the similarity between items (similar movies may be given similar ratings by the users), we learn the latent features and make predictions on user-to-item ratings at the same time. Also, after we learn the features of the items, we can measure the similarity between items and recommend the most similar items to users based on their previous usage information. Content-based and collaborative filtering recommendation were the state of the art more than 10 years ago. Apparently, there are many different models and algorithms to improve the prediction performance.


