/recommendation

Recommendation System using ML and DL

Primary LanguageJupyter NotebookMIT LicenseMIT

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

Notebooks

Python Libraries

Deep Recommender Libraries

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

  • Annoy - Approximate Nearest Neighbour
  • NMSLib - kNN methods
  • FAISS - Similarity search and clustering

Content-based Libraries

  • Cornac - Leverage Auxiliary Data (Images, Text, Social Networks)

Learning Resources

Reference Slides

Benchmarks

Algorithms & Approaches

Evaluations