Recommendation Systems in Nutshell

Rajnish Ranjan
Data Science - With Live Case Studies
5 min readDec 30, 2018

Recommender Systems has been key area of application of AI systems. They act as ad-hoc systems but can contribute to great extent in the revenue for the Business. Few companies which have proven their cutting age development using machine learning based recommendation like Netflix, Google, Amazon and numerous News and Publishing Pages.

These systems come from perspective of Retail domain where, What product, How much and What time, becomes key parameters through which we infer information about customer behavior and hence able to access our ROI on product for the Business.

Recommendation can work in various ways and can be applied in various fashion. One can use them to recommend products (very basic usage), recommend choices (key base search) , recommend paths (maps and logistics), recommend actions and many more. But the key thing here is that all are inferred from the information we have about behaviors, sequence of flow and amount of user using something.

Enough of chit chat. Let’s discuss what are these and how are they defined:

Recommendation types:

1. Content Based Methods

2. Collaborative Based Methods

3. Hybrid Methods

4. Session Based methods

Let’s take a dive into these:

1. Content Based Methods:

This method is all about what one has and what are the latent qualities for this item. This method is primarily used in domains when things become very subject as recommending actions, documents, paths and whose variation are not very likely to change for large duration of time. The prominent methods in this aspect are:

a) Similarity search

b) Clustering Based

c) Relevance Retrieval

d) Probabilistic Classifier

Paper for these:

1) http://www.fxpal.com/publications/FXPAL-PR-06-383.pdf

2) http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.25.5743&rep=rep1&type=pdf

3) http://facweb.cs.depaul.edu/mobasher/classes/ect584/papers/contentbasedrs.pdf

2. Collaborative based Methods:

This method is motivated by “how many people see same thing as I see”. So in this method we deal with who is saying what and how many “whos” are there. So we deal with popularity and too much interest of group of people in same thing. So we give this a look in a different way of approaches:

a. Sequence based:

b. Cumulative Voting Based Similarity

Papers: Mention Below

3. Hybrid Methods:

No world is ideal world and this is how we deal with it. Lot many problems are complicated enough that just the content and collaborative world is not sufficient to justify the purpose. And be assured, those big players out there thrive on this. This is area where we try to solve on Content and Collaborative target. Here we are interested in finding “what is in demand for how many things”. The methods are collective come under Content — Collaborative Methods umbrella but the way we solve them is what makes the difference:

a. Relationship Based Methods

b. Latent Based Methods

c. Feedback Method

d. Exploration-Exploitation Method

Papers:

1) http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.88.8200&rep=rep1&type=pdf

2) https://www.researchgate.net/publication/221191312_An_Improved_Hybrid_Recommender_System_by_Combining_Predictions

3) https://arxiv.org/ftp/arxiv/papers/1607/1607.02754.pdf

4) http://www.ejournal.aessangli.in/ASEEJournals/CE116.pdf

4. Session Based methods:

This is special case of Hybrid Systems which is more real time and is far more personalized based on session the user is going through. This can be used in many scenarios like recommending route to a delivery guy, making relevant search for products, making playlists for music and many more and recommending news, etc. These are generally bound whether we have a feedback loop or not. Generally all above approaches can be applied in both cases with some minor modifications, But here the emphasis is more like sequential behaviour than group behaviour.:

a. With Feedback loops

b. Without Feedback loops

Papers:

1) https://arxiv.org/pdf/1803.09587.pdf

2) https://arxiv.org/pdf/1711.04725.pdf

3) https://web-ainf.aau.at/pub/jannach/slides/IIR2018.pdf

4) https://arxiv.org/pdf/1511.06939.pdf

A Critical Look :

All recommendation system have few major problems:

1. Low Plasticity

2. Very High Stability

3. Cold-start for new users

4. New-item problem

5. Sparsity

6. Transparency

Links:

1) https://medium.com/@cfpinela/content-based-recommender-systems-a68c2aee2235

2)

Evaluating Recommendation:

As per most general practice we have 10 major metrics which can be found at

(The 10 recommender system metrics you should know about

)[http://bickson.blogspot.cl/2012/10/the-10-recommender-system-metrics-you.html]. namely these are:

1) Error based: MAE, MSE, RMSE

2) Performance Based: Precision@n, Recall, nDCG, MAP, AUC

3) Similarity based: Intra-list Similairty, Lathia’s Diversity

4) Feedback based: MPR, User-centric Evaluation Frameworks

But the Business side of world is generally restricted by :

5) Click Based: CTOR, A/B testing based Anova,

6) Value based: CLTV values of recommendation served, ROI per Recommendation

So what are the Algorithms:

Now lets look at various algorithms which can be used in different scenarios. This can help one in finding which methods to try first for our use case in hand. This is not an exhaustive list but can give you a guideline. One can evaluate basically on these criteria:

Following table can be used as reference for the Algorithms for Collaborative Filtering:

Links for these papers are:

· Compact Prediction Tree:

o CPT+ : Decreasing the time/space complexity of the Compact Prediction Tree : https://pdfs.semanticscholar.org/564e/582305787510224e8aaf7f409ebcb07e3c70.pdf?_ga=2.81778071.1092338581.1529924670-1834963917.1524233782

o Compact Prediction Tree: A Lossless Model for Accurate Sequence Prediction: http://www.philippe-fournier-viger.com/spmf/ADMA2013_Compact_Prediction_tree

· Context Trees :

o Personalized News Recommendation with Context Trees: https://arxiv.org/pdf/1303.0665.pdf

o Context Tree for Adaptive Session-based Recommendation : https://arxiv.org/pdf/1806.03733.pdf

· Context Bandits:

o A Contextual-Bandit Approach to Personalized News Article Recommendation : https://arxiv.org/pdf/1003.0146.pdf

o Online Interactive Collaborative Filtering Using Multi-Armed Bandit with Dependent Arm : https://arxiv.org/pdf/1708.03058.pdf

· Follow the regularized leader:

o FTRL : http://www.eecs.tufts.edu/~dsculley/papers/ad-click-prediction.pdf

--

--