Welcome to the research code repository for my Master's Thesis work on Deep Learning Based Recommendation Systems. This work is still in progress.
Recommendation systems are technologies and techniques that can provide recommendations for items to be of use to a user. The recommendations provided are aimed at supporting their users in various decision-making processes, such as what products to purchase, what music to listen, or what routes to take. Correspondingly, various techniques for recommendation generation have been proposed and deployed in commercial environments. The goal of this research is to impose a degree of order upon this diversity by presenting a coherent and unified repository of the most common recommendation methods to solve the collaborative filtering problem: from classic matrix factorization to cutting-edge deep neural networks.
For my experiments thus far, I worked with the MovieLens1M Dataset, a famous dataset within the recommendation systems research community. The data contains 1,000,209 anonymous ratings of approximately 3,900 movies made by 6,040 MovieLens users who joined MovieLens in 2000.
Here are the 7 different Matrix Factorization models for Collaborative Filtering:
Here are the 5 different Multilayer Perceptron models for Collaborative Filtering:
Here are the 6 different Autoencoders models for Collaborative Filtering:
Here are the 3 different Boltzmann Machines models for Collaborative Filtering:
Here I built a recommendation web service with Python 3.6 and Django 2.2.4. It has these properties:
I have written a series of blog posts documenting my experiments on my website: