Introduction to Recommender Systems

Recommender systems help users find something great for them from among huge numbers of movies, songs, or products. For a company like ASOS, this becomes increasingly critical as we want to provide great and frictionless user experiences to customers that help find the right products amongst the 130,000 fashion items available. We will look at the recommendation problem and then develop a simple yet powerful model. We will then propose a way to expose this model as an API. This talk is ideal for people with a basic knowledge of machine learning. It introduces Recommendation Systems alongside TensorFlow2 and TensorFlow Serving.

The Recommendation Problem

Starting by looking at recommendation systems in real life, we will explore how they formulate the recommendations problem when users haven’t explicitly said what they like. We’ll develop an understanding of Learning to Rank, a machine learning problem that’s a bit different from regression or classification. We’ll learn about matrix factorization, the model that won the Netflix prize about 10 years ago. It defines users and items as lists of numbers that describe taste and style.

Building a Simple Recommendation System

Equipped with this knowledge, we’ll build a simple recommendation system using TensorFlow2. Students will receive a link to a Collaboratory notebook (which requires having a Google account to access) which will already have some code to import data. We will then develop and experiment. We will then look at exposing the model as an API. By the end, every student should have trained and served a simple recommender.

Workshop

Building a Fashion Recommender Using Tensorflow/Keras

Additional Topics

  • We will look at reinforcement learning for games and go through some of the techniques used to build AlphaGo, Google DeepMind's AI that recently beat the world’s best human Go player.

  • In this talk, we will discuss the steps and challenges involved in putting a machine learning model into production.

  • This training will give you a robust set of tips and tricks to get the most performance in the shortest time, regardless of the algorithm you choose.