Overview of Recommender Algorithms – Part 5

This is the final part in a five part series on overviewing recommender algorithms. In the first post, we introduced the main types of recommender algorithms by providing a cheatsheet for them. In the second, we covered the different types of collaborative filtering algorithms highlighting some of their nuances and how they differ from one another. In the third, we described content-based filtering in more detail. In the fourth, we presented hybrid recommenders and popularity-based approaches.  In this post we’ll conclude the series by adding some words about a selection of advanced recommender algorithms before looking back at how different the output of the basic recommender algorithms can be.

In addition to the more traditional recommender systems approaches we’ve covered so far (e.g. popularity, collaborative filtering, content-based filtering, hybrid approaches), there are a number of other methods that can also be used to power recommender systems including:

  • Deep learning
  • Social recommendations
  • Learning to rank
  • Multi-armed bandits (explore/exploit)
  • Tensor Factorisation and Factorisation Machines (context-aware recommendations)

These more advanced and non-traditional methods are good for taking the quality of your recommenders to the next level, but are also less understood and not as well supported in recommendation toolkits.  In practice you always need to decide whether the cost of implementing advanced methods is worth the added value that it will bring compared to some more basic approaches.  In our experience, the basic algorithms can take you a long way and be used to power some great products.

In this series, we wanted to introduce you to a number of common recommender module algorithms including user-based collaborative filtering, item-based collaborative filtering, content-based filtering and hybrid methods.   Here, we provided a single illustration that shows how these four different algorithms, when applied to the same toy example of input data, will generate different recommendations for the same user (Figure 1).  This effect also holds when applied to large, real-world data, so deciding which algorithm to use will be a matter of considering their relative pros and cons and how well they perform when you evaluate them.

Comparison of Recommender System Algorithms
Figure 1: Overview of four recommender system algorithms all being applied to the same set of data and giving different results. One the left, we have the user preferences for a number of items in a matrix and the list of titles of the items that can be recommended. In the middle we show how four different algorithms generate recommendations for the first user (i.e. row 1 in the user preferences matrix). They have different definitions of similarity, as shown by the similarity matrices. On the right, we see the items generated by each recommender algorithm, maintaining order from top to bottom, consistent with the algorithm ordering.

In practice, you generally won’t go far wrong if you can use collaborative filtering as the algorithm in your recommender model.  Collaborative filtering tends to outperform the alternatives but, given its trouble dealing with cold start users and items, it’s common to rely on a content-based algorithm as a fallback.  If you have the time then it’s great to put together a hybrid so that you can get the best of both collaborative filtering and content-based filtering.  It’s certainly a good idea to put these basic algorithms in place before even thinking about looking at the advanced ones.

Finally, it’s worth keeping in mind that the recommender model is just one of five recommender systems components.  Like all components, it is important to set it up correctly and to put effort into it but the choices that you make about your data collection and processing, post-processing, online modules and user interface are just as important.  As we’ll emphasise over and over again, the algorithm is just one part of the recommender and your decisions need to be taken thinking about the entire product.

3 thoughts on “Overview of Recommender Algorithms – Part 5

  1. Do you have some hints (or links) how deep learning is used for recommender systems. We are tapping into this direction, did not find many relevant papers, so interested what we may be unaware of.

    Like

    1. Hi Domonkos,

      I can recommend reading:
      – A Survey and Critique of Deep Learning on Recommender Systems by Lei Zheng
      – Deep Learning Methods on Recommender System: A Survey of State-of-the-art by Betru et al.
      – Wide & Deep Learning for Recommender Systems by Cheng et al.
      – Recommending music on Spotify with deep learning by Dieleman
      – Collaborative Deep Learning for Recommender Systems by Wang et al.

      Cheers,
      Filip

      Like

  2. Which is the best Recommendation Algorithm?

    The best recommendation algorithm is the one that helps you reach your goal fastest. This might sound like a flippant answer but it’s not intended to be. When building a recommender, it’s important to spend time deciding what your goal is. Is it incr…

    Like

Leave a Reply to Quora Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s