The purpose of this coursework is to implement recommendation techniques and suggest relevant movies to classmates.
- Item-based collaborative filter
- User-based collaborative filter
- Low-rank approximation
- Neural collaborative filtering
- R
- Jupyter, Python 3
- Pandas, Numpy, matplotlib, sklearn, keras
-
User-based matrix U: 46 (Users) * 14 ('Gender' + 'Favorite Color' + 12 Genres 0/1)
-
Item-based matrix I: 20 (Movies) * 12 (Genres)
-
Rating matrix l: 20 (Movie ratings scaled in 1-5) * 46 (Users)
-
Users similarity matrix: 46 * 46
-
Items similarity matrix: 20 * 20
- User-based collaborative filter
- Item-based collaborative filter
- Matrix completion (low-rank matrix approximation via nuclear norm minimization)
- Neural matrix factorization
- NeuMF model test MAE: 0.7
- Top 5 movies recommended for the desired user:
- Rating from the desired user:
Package ‘softImpute’ https://cran.r-project.org/web/packages/softImpute/softImpute.pdf
SVD example https://www.d.umn.edu/~mhampton/m4326svd_example.pdf
Matrix Completion and Low-Rank SVD via Fast Alternating Least Squares https://arxiv.org/pdf/1410.2596.pdf
A Simple Algorithm for Nuclear Norm Regularized Problems https://www.m8j.net/data/List/Files-149/fastRegNuclearNormOptimization.pdf
Recommondation Systems https://developers.google.com/machine-learning/recommendation/collaborative/matrix
How to Implement a Recommendation System with Deep Learning and PyTorch https://medium.com/coinmonks/how-to-implement-a-recommendation-system-with-deep-learning-and-pytorch-2d40476590f9
Neural Collaborative Filtering (NCF) Explanation & Implementation in Pytorch https://www.youtube.com/watch?v=O4lk9Lw7lS0
Neural Collaborative Filtering (paper) https://arxiv.org/pdf/1708.05031.pdf
Matrix Factorization https://cims.nyu.edu/~cfgranda/pages/OBDA_fall17/notes/matrix_factorization.pdf
Neural Collaborative Filtering (Towards Data Science) https://towardsdatascience.com/neural-collaborative-filtering-96cef1009401
Neural Networks for Collaborative Filtering(keras example) https://nipunbatra.github.io/blog/ml/2017/12/29/neural-collaborative-filtering.html
Neural Collaborative Filtering with NeuMF http://caravanuden.com/spotify_recsys/neural_collaborative_filtering.html
Neural Networks for Collaborative Filtering https://nipunbatra.github.io/blog/ml/2017/12/29/neural-collaborative-filtering.html