Recommendation Systems
This is a workshop on using Machine Learning and Deep Learning Techniques to build Recommendation Systesm
- Theory: ML & DL Formulation, Prediction vs. Ranking, Similiarity, Biased vs. Unbiased
- Paradigms: Content-based, Collaborative filtering, Knowledge-based, Hybrid and Ensembles
- Data: Tabular, Images, Text (Sequences)
- Models: (Deep) Matrix Factorisation, Auto-Encoders, Wide & Deep, Rank-Learning, Sequence Modelling
- Methods: Explicit vs. implicit feedback, User-Item matrix, Embeddings, Convolution, Recurrent, Domain Signals: location, time, context, social,
- Process: Setup, Encode & Embed, Design, Train & Select, Serve & Scale, Measure, Test & Improve
- Tools: python-data-stack: numpy, pandas, scikit-learn, keras, spacy, implicit, lightfm
Notes & Slides
- Basics: Deep Learning
- AI Conference 2019: WhiteBoard Notes | In-Class Notebooks
Notebooks
-
- 01-Acquire
- 02-Augment
- 03-Refine
- 04-Transform
- 05-Evaluation
- 06-Model-Baseline
- 07-Feature-extractor
- 08-Model-Matrix-Factorization
- 09-Model-Matrix-Factorization-with-Bias
- 10-Model-MF-NNMF
- 11-Model-Deep-Matrix-Factorization
- 12-Model-Neural-Collaborative-Filtering
- 13-Model-Implicit-Matrix-Factorization
- 14-Features-Image
- 15-Features-NLP
Python Libraries
Deep Recommender Libraries
- Tensorrec - Built on Tensorflow
- Spotlight - Built on PyTorch
- TFranking - Built on TensorFlow (Learning to Rank)
Matrix Factorisation Based Libraries
- Implicit - Implicit Matrix Factorisation
- QMF - Implicit Matrix Factorisation
- Lightfm - For Hybrid Recommedations
- Surprise - Scikit-learn type api for traditional alogrithms
Similarity Search Libraries
Content-based Libraries
- Cornac - Leverage Auxiliary Data (Images, Text, Social Networks)
Learning Resources
Reference Slides
- Deep Learning in RecSys by Balázs Hidasi
- Lessons from Industry RecSys by Xavier Amatriain
- Architecting Recommendation Systems by James Kirk
- Recommendation Systems Overview by Raimon and Basilico
Benchmarks
Algorithms & Approaches
- Collaborative Filtering for Implicit Feedback Datasets
- Bayesian Personalised Ranking for Implicit Data
- Logistic Matrix Factorisation
- Neural Network Matrix Factorisation
- Neural Collaborative Filtering
- Variational Autoencoders for Collaborative Filtering