Oliver Gindele is Head of Machine Learning at Datatonic. At ODSC Europe 2018, he spoke about how to apply deep learning techniques to recommender systems. He discussed how data scientists can implement some of these novel models in the TensorFlow framework, starting from a collaborative filtering approach and extending that to more complex deep recommender systems.
Recommender systems are widely used by e-commerce and services companies worldwide to provide the most relevant items to their users. Over the past few years, deep learning has demonstrated breakthrough advances in image recognition and natural language processing. New approaches apply deep learning techniques to recommender systems, further expanding the use cases of neural networks.
Some of these novel systems already display state-of-the-art performance and deliver high-quality recommendations. Compared to traditional models, deep learning solutions can provide a better understanding of users’ demands, item characteristics, and the historical interactions between them.
The good thing about talking about recommender systems is that the technology doesn’t really need an introduction. Most everyone is implicitly familiar with them — think Netflix, Spotify, even Google Search. The recommendation problem is commonly solved with collaborative filtering which is defined mathematically below (including regularization designed to keep the weight space smaller). Data scientists can solve the objective function with techniques like stochastic gradient descent.
Slide copyright Oliver Gindele, ODSC Europe 2018
The talk presents an interesting use case based on a 2005 open data set provided by an online dating site from the Czech Republic called LibimSeTi. Gindele uses the popular deep learning framework TensorFlow for this problem domain. Along the way, he examines detailed Python code.
A 2017 paper “Neural Collaborative Filtering,” by He et al. explores the use of matrix factorization. In recent years, deep neural networks have yielded immense success in speech recognition, computer vision, and natural language processing. However, the exploration of deep neural networks on recommender systems has received relatively less scrutiny. The authors of the paper strived to develop techniques based on neural networks to tackle the key problem in recommendation — collaborative filtering — on the basis of implicit feedback.
Slide copyright Dr. Oliver Gindele, ODSC Europe 2018
Another section of the talk focused on better loss functions through the use of implicit feedback, Logistic Matrix Factorization (a binary problem), and ranking loss (or pairwise loss functions). Finally, Gindele looked at ways to improve metrics using techniques such as (normalized) Discounted Cumulative Gain.
One of the most valuable aspects of this talk was the well-curated list of recent research papers on the latest advancements in this area. This benefit alone will save you a lot of time if you believe applying deep learning to recommender systems will help you solve real-life problems.
To take a deeper dive into deep learning for recommender systems, check out Gindele’s compelling talk from ODSC Europe 2018.
- TensorFlow can do more than vision or translation
- High-level APIs make model-building and training painless
- Custom algorithms and specific loss functions are easily implemented
- Deep recommender systems work well on real data
- Embeddings and hidden layers allow for many ways to improve a recommender system