0% found this document useful (0 votes)
212 views248 pages

Recommender Systems

The document summarizes a presentation on recommender systems given by Xavier Amatriain. It discusses Amatriain's background working on recommender systems at Netflix and other companies. It then outlines the topics to be covered in the presentation, including traditional collaborative filtering and content-based recommendations approaches as well as newer techniques like learning to rank, context-aware, and social recommendations. A hybrid approach combining methods is also mentioned.

Uploaded by

gkout
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
212 views248 pages

Recommender Systems

The document summarizes a presentation on recommender systems given by Xavier Amatriain. It discusses Amatriain's background working on recommender systems at Netflix and other companies. It then outlines the topics to be covered in the presentation, including traditional collaborative filtering and content-based recommendations approaches as well as newer techniques like learning to rank, context-aware, and social recommendations. A hybrid approach combining methods is also mentioned.

Uploaded by

gkout
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 248

Recommender Systems

MLSS 14
Collaborative Filtering and other approaches

Xavier Amatriain
Research/Engineering Director @ Netflix

Xavier Amatriain July 2014 Recommender Systems


But first...

Xavier Amatriain July 2014 Recommender Systems


About me
Up until 2005

Xavier Amatriain July 2014 Recommender Systems


About me
2005 - 2007

Xavier Amatriain July 2014 Recommender Systems


About me
2007 - 2011

Xavier Amatriain July 2014 Recommender Systems


About me
Since 2011

Xavier Amatriain July 2014 Recommender Systems


Recent/Upcoming Publications
The Recommender Problem Revisited. KDD and Recsys 2014 Tutorial

KDD: Big & Personal: data and models behind Netflix recommendations. 2013

SIGKDD Explorations: Mining large streams of user data for personalized recommendations. 2012

Recsys: Building industrial-scale real-world recommender systems. 2012

Recys - Walk the Talk: Analyzing the relation between implicit and explicit feedback for preference elicitation. 2011

SIGIR Temporal behavior of CF. 2010

Web Intelligence Expert-based CF for music. 2010

Recsys Tensor Factorization. 2010

Mobile HCI Tourist Recommendation. 2010

Recsys Handbook (book) Data mining for recsys. 2010 & Recommender Systems in Industry. 2014

SIGIR Wisdom of the Few. 2009

Recsys Denoising by re-rating. 2009

CARS Implicit context-aware recommendations. 2009

UMAP I like it I like it not. 2009

Xavier Amatriain July 2014 Recommender Systems


Collaborators/Contributors

Bamhshad Mobasher
Justin Basilico Alexandros Karatzoglou
(De Paul U)
(Netflix) (Telefonica Research)

Francesco Ricci Erik Bernhardsson


(University of Bolzano) (Spotify)

Xavier Amatriain July 2014 Recommender Systems


Index
1. Introduction: What is a Recommender System
2. Traditional Methods
2.1. Collaborative Filtering
2.2. Content-based Recommendations
3. Novel Methods
3.1. Learning to Rank
3.2. Context-aware Recommendations
3.2.1. Tensor Factorization
3.2.2. Factorization Machines
3.3. Deep Learning
3.4. Similarity
3.5. Social Recommendations
4. Hybrid Approaches
5. A practical example: Netflix
6. Conclusions
7. References

Xavier Amatriain July 2014 Recommender Systems


1. Introduction: What is a
Recommender System?

Xavier Amatriain July 2014 Recommender Systems


The Age of Search has come to an end

... long live the Age of Recommendation!


Chris Anderson in The Long Tail
We are leaving the age of information and entering the age
of recommendation

CNN Money, The race to create a 'smart' Google:


The Web, they say, is leaving the era of search and
entering one of discovery. What's the difference? Search is
what you do when you're looking for something. Discovery
is when something wonderful that you didn't know existed,
or didn't know how to ask for, finds you.

Xavier Amatriain July 2014 Recommender Systems


Information overload

People read around 10 MB worth of material a day, hear 400 MB a


day, and see 1 MB of information every second - The Economist, November 2006

In 2015, consumption will raise to 74 GB a day - UCSD Study 2014

Xavier Amatriain July 2014 Recommender Systems


The value of recommendations
Netflix: 2/3 of the movies watched are
recommended
Google News: recommendations generate
38% more clickthrough
Amazon: 35% sales from recommendations
Choicestream: 28% of the people would buy
more music if they found what they liked.

Xavier Amatriain July 2014 Recommender Systems


The Recommender problem

Estimate a utility function that automatically


predicts how a user will like an item.
Based on:
Past behavior
Relations to other users
Item similarity
Context

Xavier Amatriain July 2014 Recommender Systems


The Recommender problem

Let C be set of all users and let S be set of all possible


recommendable items
Let u be a utility function measuring the usefulness of
item s to user c, i.e., u : C X SR, where R is a totally
ordered set.
For each user cC, we want to choose items sS that
maximize u.
Utility is usually represented by rating but can be any function

Xavier Amatriain July 2014 Recommender Systems


Two-step process

Xavier Amatriain July 2014 Recommender Systems


Approaches to Recommendation

Collaborative Filtering: Recommend items based only on the


users past behavior
User-based: Find similar users to me and recommend what
they liked
Item-based: Find similar items to those that I have
previously liked
Content-based: Recommend based on item features
Personalized Learning to Rank: Treat recommendation as a
ranking problem
Demographic: Recommend based on user features
Social recommendations (trust-based)
Hybrid: Combine any of the above

Xavier Amatriain July 2014 Recommender Systems


Recommendation as data mining

The core of the Recommendation Engine can be


assimilated to a general data mining problem:

Xavier Amatriain July 2014 Recommender Systems


Machine Learning + all those other
things

User Interface
System requirements (efficiency, scalability,
privacy....)
Serendipity
....

Xavier Amatriain July 2014 Recommender Systems


Serendipity
Unsought finding
Don't recommend items the user already knows
or would have found anyway.
Expand the user's taste into neighboring areas
by improving the obvious
Collaborative filtering can offer controllable
serendipity (e.g. controlling how many
neighbors to use in the recommendation)

Xavier Amatriain July 2014 Recommender Systems


What works
Depends on the domain and particular problem
However, in the general case it has been
demonstrated that the best isolated approach is CF.
Other approaches can be hybridized to improve
results in specific cases (cold-start problem...)
What matters:
Data preprocessing: outlier removal, denoising,
removal of global effects (e.g. individual user's
average)
Smart dimensionality reduction using MF/SVD
Combining methods

Xavier Amatriain July 2014 Recommender Systems


Index
1. Introduction: What is a Recommender System
2. Traditional Methods
2.1. Collaborative Filtering
2.2. Content-based Recommendations
3. Novel Methods
3.1. Learning to Rank
3.2. Context-aware Recommendations
3.2.1. Tensor Factorization
3.2.2. Factorization Machines
3.3. Deep Learning
3.4. Similarity
3.5. Social Recommendations
4. Hybrid Approaches
5. A practical example: Netflix
6. Conclusions
7. References

Xavier Amatriain July 2014 Recommender Systems


2. Traditional Approaches

Xavier Amatriain July 2014 Recommender Systems


2.1. Collaborative Filtering

Xavier Amatriain July 2014 Recommender Systems


The CF Ingredients
List of m Users and a list of n Items
Each user has a list of items with associated opinion
Explicit opinion - a rating score
Sometime the rating is implicitly purchase records
or listen to tracks
Active user for whom the CF prediction task is
performed
Metric for measuring similarity between users
Method for selecting a subset of neighbors
Method for predicting a rating for items not currently
rated by the active user.

Xavier Amatriain July 2014 Recommender Systems


Collaborative Filtering
The basic steps:

1. Identify set of ratings for the target/active user


2. Identify set of users most similar to the target/active user
according to a similarity function (neighborhood
formation)
3. Identify the products these similar users liked
4. Generate a prediction - rating that would be given by the
target user to the product - for each one of these products
5. Based on this predicted rating recommend a set of top N
products

Xavier Amatriain July 2014 Recommender Systems


Collaborative Filtering
Pros:
Requires minimal knowledge engineering efforts
Users and products are symbols without any internal
structure or characteristics
Produces good-enough results in most cases
Cons:
Requires a large number of reliable user feedback data
points to bootstrap
Requires products to be standardized (users should
have bought exactly the same product)
Assumes that prior behavior determines current
behavior without taking into account contextual
knowledge (session-level)
Xavier Amatriain July 2014 Recommender Systems
Personalised vs Non-Personalised CF

CF recommendations are personalized since


the prediction is based on the ratings
expressed by similar users
Those neighbors are different for each
target user
A non-personalized collaborative-based
recommendation can be generated by averaging
the recommendations of ALL the users
How would the two approaches compare?

Xavier Amatriain July 2014 Recommender Systems


Personalised vs Non-Personalised CF
MAE MAE
total
Data Set users items density Non
ratings Pers
Pers

Jester 48483 100 3519449 0,725 0,220 0,152

MovieLens 6040 3952 1000209 0,041 0,233 0,179

EachMovie 74424 1649 2811718 0,022 0,223 0,151

Not much difference indeed!

vij is the rating of user i for product


j and vj is the average rating for
product j

Xavier Amatriain July 2014 Recommender Systems


Personalized vs. Not Personalized
Netflix Prize's first
conclusion: it is
really extremely
simple to produce
reasonable
recommendations
and extremely
difficult to improve
them.

Xavier Amatriain July 2014 Recommender Systems


User-based Collaborative Filtering

Xavier Amatriain July 2014 Recommender Systems


User-User Collaborative
Filtering
Target User

Weighted
Sum

Xavier Amatriain July 2014 Recommender Systems


UB Collaborative Filtering
A collection of user ui, i=1, n and a collection
of products pj, j=1, , m
An n m matrix of ratings vij , with vij = ? if user
i did not rate product j
Prediction for user i and product j is computed
as
or

Similarity can be computed by Pearson correlation

or

Xavier Amatriain July 2014 Recommender Systems


User-based CF
Example

Xavier Amatriain July 2014 Recommender Systems


User-based CF
Example

Xavier Amatriain July 2014 Recommender Systems


User-based CF
Example

Xavier Amatriain July 2014 Recommender Systems


User-based CF
Example

Xavier Amatriain July 2014 Recommender Systems


User-based CF
Example

Xavier Amatriain July 2014 Recommender Systems


Challenges Of User-based CF
Algorithms
Sparsity evaluation of large item sets, users purchases
are under 1%.
Difficult to make predictions based on nearest neighbor
algorithms =>Accuracy of recommendation may be poor.
Scalability - Nearest neighbor require computation that
grows with both the number of users and the number of
items.
Poor relationship among like minded but sparse-rating
users.
Solution : usage of latent models to capture similarity
between users & items in a reduced dimensional space.

Xavier Amatriain July 2014 Recommender Systems


Item-based Collaborative Filtering

Xavier Amatriain July 2014 Recommender Systems


Item-Item Collaborative
Filtering

Xavier Amatriain July 2014 Recommender Systems


Item Based CF Algorithm
Look into the items the target user has rated
Compute how similar they are to the target item
Similarity only using past ratings from other
users!
Select k most similar items.
Compute Prediction by taking weighted average
on the target users ratings on the most similar
items.

Xavier Amatriain July 2014 Recommender Systems


Item Similarity Computation
Similarity between items i & j computed by finding
users who have rated them and then applying a
similarity function to their ratings.
Cosine-based Similarity items are vectors in the m
dimensional user space (difference in rating scale
between users is not taken into account).

Xavier Amatriain July 2014 Recommender Systems


Item Similarity Computation
Correlation-based Similarity - using the Pearson-r
correlation (used only in cases where the users rated
both item I & item j).

Ru,i = rating of user u on item i.


Ri = average rating of the i-th item.

Xavier Amatriain July 2014 Recommender Systems


Item Similarity Computation
Adjusted Cosine Similarity each pair in the co-rated
set corresponds to a different user. (takes care of
difference in rating scale).

Ru,i = rating of user u on item i.


Ru = average of the u-th user.

Xavier Amatriain July 2014 Recommender Systems


Prediction Computation
Generating the prediction look into the target
users ratings and use techniques to obtain
predictions.
Weighted Sum how the active user rates the
similar items.

Xavier Amatriain July 2014 Recommender Systems


Item-based CF Example

Xavier Amatriain July 2014 Recommender Systems


Item-based CF Example

Xavier Amatriain July 2014 Recommender Systems


Item-based CF Example

Xavier Amatriain July 2014 Recommender Systems


Item-based CF Example

Xavier Amatriain July 2014 Recommender Systems


Item-based CF Example

Xavier Amatriain July 2014 Recommender Systems


Item-based CF Example

Xavier Amatriain July 2014 Recommender Systems


Performance Implications
Bottleneck - Similarity computation.
Time complexity, highly time consuming with
millions of users and items in the database.
Isolate the neighborhood generation and
predication steps.
off-line component / model similarity
computation, done earlier & stored in memory.
on-line component prediction generation
process.

Xavier Amatriain July 2014 Recommender Systems


Recap: challenges of Nearest-
neighbor Collaborative Filtering

Xavier Amatriain July 2014 Recommender Systems


The Sparsity Problem
Typically: large product sets, user ratings for a small
percentage of them
Example Amazon: millions of books and a user may
have bought hundreds of books
the probability that two users that have bought 100 books
have a common book (in a catalogue of 1 million books) is
0.01 (with 50 and 10 millions is 0.0002).
Standard CF must have a number of users
comparable to one tenth of the size of the product
catalogue

Xavier Amatriain July 2014 Recommender Systems


The Sparsity Problem
If you represent the Netflix Prize rating data in a
User/Movie matrix you get...
500,000 x 17,000 = 8,500 M positions
Out of which only 100M are not 0's!
Methods of dimensionality reduction
Matrix Factorization
Clustering
Projection (PCA ...)

Xavier Amatriain July 2014 Recommender Systems


The Scalability Problem
Nearest neighbor algorithms require computations that
grows with both the number of customers and
products
With millions of customers and products a web-based
recommender can suffer serious scalability problems
The worst case complexity is O(mn) (m customers and
n products)
But in practice the complexity is O(m + n) since for
each customer only a small number of products are
considered
Some clustering techniques like K-means can help

Xavier Amatriain July 2014 Recommender Systems


Performance Implications
User-based CF similarity between users is
dynamic, precomupting user neighborhood can
lead to poor predictions.
Item-based CF similarity between items is
static.
enables precomputing of item-item similarity =>
prediction process involves only a table lookup for
the similarity values & computation of the
weighted sum.

Xavier Amatriain July 2014 Recommender Systems


Other approaches to CF

Xavier Amatriain July 2014 Recommender Systems


Model-based
Collaborative Filtering

Xavier Amatriain July 2014 Recommender Systems


Model Based CF Algorithms
Memory based
Use the entire user-item database to generate a
prediction.
Usage of statistical techniques to find the neighbors e.g.
nearest-neighbor.
Memory based
First develop a model of user
Type of model:
Probabilistic (e.g. Bayesian Network)
Clustering
Rule-based approaches (e.g. Association Rules)
Classification
Regression
LDA
...

Xavier Amatriain July 2014 Recommender Systems


Model-based CF:
What we learned from the
Netflix Prize

Xavier Amatriain July 2014 Recommender Systems


What we were interested in:
High quality recommendations
Proxy question:
Accuracy in predicted rating
Improve by 10% = $1million!

Xavier Amatriain July 2014 Recommender Systems


2007 Progress Prize
Top 2 algorithms
SVD - Prize RMSE: 0.8914
RBM - Prize RMSE: 0.8990

Linear blend Prize RMSE: 0.88


Currently in use as part of Netflix rating prediction
component
Limitations
Designed for 100M ratings, we have 5B ratings
Not adaptable as users add ratings
Performance issues

Xavier Amatriain July 2014 Recommender Systems


SVD/MF
T
X[n x m] = U[n x r] S [ r x r] (V[m x r])

X: m x n matrix (e.g., m users, n videos)


U: m x r matrix (m users, r factors)
S: r x r diagonal matrix (strength of each factor) (r: rank of the
matrix)
V: r x n matrix (n videos, r factor)

Xavier Amatriain July 2014 Recommender Systems


Simon Funks SVD

One of the most


interesting findings
during the Netflix
Prize came out of
a blog post
Incremental,
iterative, and
approximate way
to compute the
SVD using
gradient descent

Xavier Amatriain July 2014 Recommender Systems


SVD for Rating Prediction

User factor vectors and item-factors vector


Baseline (bias) (user & item deviation from average)
Predict rating as
SVD++ (Koren et. Al) asymmetric variation w. implicit feedback

Where
are three item factor vectors
Users are not parametrized, but rather represented by:
R(u): items rated by user u
N(u): items for which the user has given implicit preference (e.g. rated vs. not rated)

Xavier Amatriain July 2014 Recommender Systems


Artificial Neural Networks 4 generations

1st - Perceptrons (~60s)


Single layer of hand-coded features
Linear activation function
Fundamentally limited in what they can learn to do.
2nd - Back-propagation (~80s)
Back-propagate error signal to get derivatives for
learning
Non-linear activation function
3rd - Belief Networks (~90s)
Directed acyclic graph composed of (visible &
hidden) stochastic variables with weighted
connections.
Infer the states of the unobserved variables &
learn interactions between variables to make
network more likely to generate observed data.

Xavier Amatriain July 2014 Recommender Systems


Restricted Boltzmann Machines
Each unit is a state that can be active or not active
Each input to a unit is associated to a weight
The transfer function calculates a score for every unit
based on the weighted sum of inputs
Score is passed to the activation function that calculates
the probability of the unit to be active

Xavier Amatriain July 2014 Recommender Systems


Restricted Boltzmann Machines

Restrict the connectivity to make learning


easier.
Only one layer of hidden units.
Although multiple layers are possible
No connections between hidden units.
Hidden units are independent given the visible
states..
So we can quickly get an unbiased sample from the
posterior distribution over hidden causes when
given a data-vector
RBMs can be stacked to form Deep Belief
Networks (DBN) 4th generation of ANNs

Xavier Amatriain July 2014 Recommender Systems


RBM for the Netflix Prize

Xavier Amatriain July 2014 Recommender Systems


RBM for Recommendations

Xavier Amatriain July 2014 Recommender Systems


RBM for Recommendations

Each unit in the visible layer is an item


The number of hidden units is a parameter
In the training phase, for each user:
If the user rated the item, vi is activated
Activation states of all vi are the inputs to hj
Based on the activation, hj is computed
The activation state of hj becomes input to vi
The activation state of vi is recalculated
Difference between current and past activation state
for vi is used to update the weights wij and the
thresholds

Xavier Amatriain July 2014 Recommender Systems


RBM for Recommendations

In the prediction phase with a trained RBM:


For the items of the user the vi are activated
Based on this the state of the hj is computed
The activation of hj is used as input to recompute the
state of vi
Activation probabilities are used to recommend items

Xavier Amatriain July 2014 Recommender Systems


Putting all together

Remember that current production


model includes an ensemble of both
SVD++ and RBMs

Xavier Amatriain July 2014 Recommender Systems


Clustering

Xavier Amatriain July 2014 Recommender Systems


Clustering
Another way to make recommendations
based on past purchases is to cluster
customers
Each cluster will be assigned typical
preferences, based on preferences of
customers who belong to the cluster
Customers within each cluster will receive
recommendations computed at the cluster
level

Xavier Amatriain July 2014 Recommender Systems


Clustering

Customers B, C and D are clustered together.


Customers A and E are clustered into another separate
group
Typical preferences for CLUSTER are:
Book 2, very high
Book 3, high
Books 5 and 6, may be recommended
Books 1 and 4, not recommended at all

Xavier Amatriain July 2014 Recommender Systems


Clustering

How does it work?


Any customer that shall be classified as a member of
CLUSTER will receive recommendations based on
preferences of the group:
Book 2 will be highly recommended to Customer F
Book 6 will also be recommended to some extent

Xavier Amatriain July 2014 Recommender Systems


Clustering
Pros:
Clustering techniques can be used to work on aggregated
data
Can also be applied as a first step for shrinking the selection
of relevant neighbors in a collaborative filtering algorithm and
improve performance
Can be used to capture latent similarities between users or
items

Cons:
Recommendations (per cluster) may be less relevant than
collaborative filtering (per individual)

Xavier Amatriain July 2014 Recommender Systems


Locality-sensitive Hashing (LSH)
Method for grouping similar items in highly
dimensional spaces
Find a hashing function s.t. similar items are
grouped in the same buckets
Main application is Nearest-neighbors
Hashing function is found iteratively by
concatenating random hashing functions
Addresses one of NN main concerns:
performance

Xavier Amatriain July 2014 Recommender Systems


Association Rules

Xavier Amatriain July 2014 Recommender Systems


Association rules
Past purchases are transformed into
relationships of common purchases

Xavier Amatriain July 2014 Recommender Systems


Association rules

These association rules are then used to made


recommendations
If a visitor has some interest in Book 5, she will be
recommended to buy Book 3 as well
Recommendations are constrained to some minimum
levels of confidence

Xavier Amatriain July 2014 Recommender Systems


Association rules
Pros:
Fast to implement (A priori algorithm for frequent itemset
mining)
Fast to execute
Not much storage space required
Not individual specific
Very successful in broad applications for large
populations, such as shelf layout in retail stores
Cons:
Not suitable if knowledge of preferences change rapidly
It is tempting to not apply restrictive confidence rules
May lead to literally stupid recommendations

Xavier Amatriain July 2014 Recommender Systems


Classifiers

Xavier Amatriain July 2014 Recommender Systems


Classifiers
Classifiers are general computational models trained
using positive and negative examples
They may take in inputs:
Vector of item features (action / adventure, Bruce
Willis)
Preferences of customers (like action / adventure)
Relations among item
E.g. Logistic Regression, Bayesian Networks,
Support Vector Machines, Decision Trees, etc...

Xavier Amatriain July 2014 Recommender Systems


Classifiers
Classifiers can be used in CF and CB
Recommenders
Pros:
Versatile
Can be combined with other methods to improve
accuracy of recommendations
Cons:
Need a relevant training set
May overfit (Regularization)

Xavier Amatriain July 2014 Recommender Systems


Limitations of
Collaborative Filtering

Xavier Amatriain July 2014 Recommender Systems


Limitations of Collaborative Filtering
Cold Start: There needs to be enough other users
already in the system to find a match. New items
need to get enough ratings.
Popularity Bias: Hard to recommend items to
someone with unique tastes.
Tends to recommend popular items (items from
the tail do not get so much data)

Xavier Amatriain July 2014 Recommender Systems


Cold-start
New User Problem: To make accurate
recommendations, the system must first learn the
users preferences from the ratings.
Several techniques proposed to address this. Most
use the hybrid recommendation approach, which
combines content-based and collaborative
techniques.
New Item Problem: New items are added regularly to
recommender systems. Until the new item is rated by
a substantial number of users, the recommender
system is not able to recommend it.

Xavier Amatriain July 2014 Recommender Systems


Index
1. Introduction: What is a Recommender System
2. Traditional Methods
2.1. Collaborative Filtering
2.2. Content-based Recommendations
3. Novel Methods
3.1. Learning to Rank
3.2. Context-aware Recommendations
3.2.1. Tensor Factorization
3.2.2. Factorization Machines
3.3. Deep Learning
3.4. Similarity
3.5. Social Recommendations
4. Hybrid Approaches
5. A practical example: Netflix
6. Conclusions
7. References

Xavier Amatriain July 2014 Recommender Systems


2.2 Content-based Recommenders

Xavier Amatriain July 2014 Recommender Systems


Content-Based Recommendations
Recommendations based on information on the content of
items rather than on other users opinions/interactions
Use a machine learning algorithm to induce a model of the
users preferences from examples based on a featural
description of content.
In content-based recommendations, the system tries to
recommend items similar to those a given user has liked in
the past
A pure content-based recommender system makes
recommendations for a user based solely on the profile built
up by analyzing the content of items which that user has
rated in the past.

Xavier Amatriain July 2014 Recommender Systems


What is content?
What is the content of an item?
It can be explicit attributes or characteristics of the
item. For example for a film:
Genre: Action / adventure
Feature: Bruce Willis
Year: 1995
It can also be textual content (title, description, table
of content, etc.)
Several techniques to compute the distance between two
textual documents
Can use NLP techniques to extract content features
Can be extracted from the signal itself (audio, image)

Xavier Amatriain July 2014 Recommender Systems


Content-Based Recommendation
Common for recommending text-based products (web
pages, usenet news messages, )
Items to recommend are described by their associated
features (e.g. keywords)
User Model structured in a similar way as the content:
features/keywords more likely to occur in the preferred
documents (lazy approach)
Text documents recommended based on a comparison between their
content (words appearing) and user model (a set of preferred words)
The user model can also be a classifier based on
whatever technique (Neural Networks, Nave Bayes...)

Xavier Amatriain July 2014 Recommender Systems


Advantages of CB Approach
No need for data on other users.
No cold-start or sparsity problems.
Able to recommend to users with unique tastes.
Able to recommend new and unpopular items
No first-rater problem.
Can provide explanations of recommended items by
listing content-features that caused an item to be
recommended.

Xavier Amatriain July 2014 Recommender Systems


Disadvantages of CB Approach
Requires content that can be encoded as meaningful
features.
Some kind of items are not amenable to easy feature
extraction methods (e.g. movies, music)
Even for texts, IR techniques cannot consider multimedia
information, aesthetic qualities, download time
If you rate positively a page it could be not related to the presence of certain
keywords
Users tastes must be represented as a learnable function of
these content features.
Hard to exploit quality judgements of other users.
Difficult to implement serendipity
Easy to overfit (e.g. for a user with few data points we may
pigeon hole her)
Xavier Amatriain July 2014 Recommender Systems
Content-based Methods
Let Content(s) be an item profile, i.e. a set of
attributes characterizing item s.
Content usually described with keywords.
Importance (or informativeness) of word kj in
document dj is determined with some weighting
measure wij
One of the best-known measures in IR is the term
frequency/inverse document frequency (TF-IDF).

Xavier Amatriain July 2014 Recommender Systems


Content-based User Profile
Let ContentBasedProfile(c) be the profile of user c
containing preferences of this user profiles are
obtained by:
analyzing the content of the previous items
using keyword analysis techniques
For example, ContentBasedProfile(c) can be defined
as a vector of weights (wc1, . . . , wck), where weight
wci denotes the importance of keyword ki to user c

Xavier Amatriain July 2014 Recommender Systems


Similarity Measures
In content-based systems, the utility function u(c,s) is
usually defined as:

Both ContentBasedProfile(c) of user c and Content(s)


of document s can be represented as TF-IDF vectors
of keyword weights.

Xavier Amatriain July 2014 Recommender Systems


Similarity Measurements

Utility function u(c,s) usually represented by some


scoring heuristic defined in terms of vectors , such as
the cosine similarity measure.

Xavier Amatriain July 2014 Recommender Systems


Statistical and Machine Learning
Approaches
Other techniques are feasible
Bayesian classifiers and various machine learning techniques,
including clustering, decision trees, and artificial neural
networks.
These methods use models learned from the underlying
data rather than heuristics.
For example, based on a set of Web pages that were rated as
relevant or irrelevant by the user, the naive bayesian
classifier can be used to classify unrated Web pages.

Xavier Amatriain July 2014 Recommender Systems


Content-based Recommendation. An
unrealistic example
An (unrealistic) example: how to compute
recommendations between 8 books based only on
their title?
A customer is interested in the following book:Building
data mining applications for CRM
Books selected:
Building data mining applications for CRM
Accelerating Customer Relationships: Using CRM and Relationship Technologies
Mastering Data Mining: The Art and Science of Customer Relationship Management
Data Mining Your Website
Introduction to marketing
Consumer behavior
marketing research, a handbook
Customer knowledge management

Xavier Amatriain July 2014 Recommender Systems


Xavier Amatriain July 2014 Recommender Systems
Xavier Amatriain July 2014 Recommender Systems
Content-based Recommendation
The system computes distances between this book and
the 7 others
The closest books are recommended:
#1: Data Mining Your Website
#2: Accelerating Customer Relationships: Using CRM and
Relationship Technologies
#3: Mastering Data Mining: The Art and Science of Customer
Relationship Management
Not recommended: Introduction to marketing
Not recommended: Consumer behavior
Not recommended: marketing research, a handbook
Not recommended: Customer knowledge management

Xavier Amatriain July 2014 Recommender Systems


A word of caution

Xavier Amatriain July 2014 Recommender Systems


Index
1. Introduction: What is a Recommender System
2. Traditional Methods
2.1. Collaborative Filtering
2.2. Content-based Recommendations
3. Novel Methods
3.1. Learning to Rank
3.2. Context-aware Recommendations
3.2.1. Tensor Factorization
3.2.2. Factorization Machines
3.3. Deep Learning
3.4. Similarity
3.5. Social Recommendations
4. Hybrid Approaches
5. A practical example: Netflix
6. Conclusions
7. References

Xavier Amatriain July 2014 Recommender Systems


3. Novel approaches to
Recommendation:
Beyond traditional CF and CB

Xavier Amatriain July 2014 Recommender Systems


Ranking

Xavier Amatriain July 2014 Recommender Systems


Ranking
Most recommendations are presented in a sorted
list
Recommendation can be understood as a ranking
problem
Popularity is the obvious baseline
Ratings prediction is a clear secondary data input
that allows for personalization
Many other features can be added

Xavier Amatriain July 2014 Recommender Systems



Xavier Amatriain July 2014 Recommender Systems
Xavier Amatriain July 2014 Recommender Systems
Example: Two features, linear model
Example: Two features, linear model
Ranking

Xavier Amatriain July 2014 Recommender Systems


Learning to rank
Machine learning problem: goal is to construct
ranking model from training data
Training data can be a partial order or binary
judgments (relevant/not relevant).
Resulting order of the items typically induced
from a numerical score
Learning to rank is a key element for
personalization
You can treat the problem as a standard
supervised classification problem

Xavier Amatriain July 2014 Recommender Systems


Learning to rank - Metrics
Quality of ranking measured using metrics as
Normalized Discounted Cumulative Gain
Mean Reciprocal Rank (MRR)
Fraction of Concordant Pairs (FCP)
Others
But, it is hard to optimize machine-learned models
directly on these measures (they are not
differentiable)
Recent research on models that directly optimize
ranking measures

Xavier Amatriain July 2014 Recommender Systems


Learning to rank - Approaches
1. Pointwise
Ranking function minimizes loss function defined on
individual relevance judgment
Ranking score based on regression or classification
Ordinal regression, Logistic regression, SVM, GBDT,

2. Pairwise
Loss function is defined on pair-wise preferences
Goal: minimize number of inversions in ranking
Ranking problem is then transformed into the binary
classification problem
RankSVM, RankBoost, RankNet, FRank

Xavier Amatriain July 2014 Recommender Systems


Learning to rank - Approaches
3. Listwise
Indirect Loss Function
RankCosine: similarity between ranking list
and ground truth as loss function
ListNet: KL-divergence as loss function by
defining a probability distribution
Problem: optimization of listwise loss function
may not optimize IR metrics
Directly optimizing IR measures (difficult since they
are not differentiable)

Xavier Amatriain July 2014 Recommender Systems


Learning to rank - Approaches
3. Listwise
Directly optimize IR measures through Genetic
Programming
Directly optimize measures with Simulated Annealing
Gradient descent on smoothed version of objective
function (e.g. CLiMF presented at Recsys 2012 or
TFMAP at SIGIR 2012)
SVM-MAP relaxes the MAP metric by adding it to the
SVM constraints
AdaRank uses boosting to optimize NDCG

Xavier Amatriain July 2014 Recommender Systems


Index
1. Introduction: What is a Recommender System
2. Traditional Methods
2.1. Collaborative Filtering
2.2. Content-based Recommendations
3. Novel Methods
3.1. Learning to Rank
3.2. Context-aware Recommendations
3.2.1. Tensor Factorization
3.2.2. Factorization Machines
3.3. Deep Learning
3.4. Similarity
3.5. Social Recommendations
4. Hybrid Approaches
5. A practical example: Netflix
6. Conclusions
7. References

Xavier Amatriain July 2014 Recommender Systems


Context-aware
Recommendation

Xavier Amatriain July 2014 Recommender Systems


Context-aware Recommendations

Xavier Amatriain July 2014 Recommender Systems


Context-aware Recommendations

Xavier Amatriain July 2014 Recommender Systems


Context-aware Recommendations

Xavier Amatriain July 2014 Recommender Systems


Context-aware Recommendations

Xavier Amatriain July 2014 Recommender Systems


Context-aware Recommendations

Xavier Amatriain July 2014 Recommender Systems


Context-aware Recommendations

Xavier Amatriain July 2014 Recommender Systems


Context-aware Recommendations

Xavier Amatriain July 2014 Recommender Systems


Context-aware Recommendations

Xavier Amatriain July 2014 Recommender Systems


Context-aware Recommendations

Xavier Amatriain July 2014 Recommender Systems


Context-aware Recommendations

Xavier Amatriain July 2014 Recommender Systems


Two dimensional model

Xavier Amatriain July 2014 Recommender Systems


N-dimensional model

Xavier Amatriain July 2014 Recommender Systems


Index
1. Introduction: What is a Recommender System
2. Traditional Methods
2.1. Collaborative Filtering
2.2. Content-based Recommendations
3. Novel Methods
3.1. Learning to Rank
3.2. Context-aware Recommendations
3.2.1. Tensor Factorization
3.2.2. Factorization Machines
3.3. Deep Learning
3.4. Similarity
3.5. Social Recommendations
4. Hybrid Approaches
5. A practical example: Netflix
6. Conclusions
7. References

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Tensor Factorization

Xavier Amatriain July 2014 Recommender Systems


Index
1. Introduction: What is a Recommender System
2. Traditional Methods
2.1. Collaborative Filtering
2.2. Content-based Recommendations
3. Novel Methods
3.1. Learning to Rank
3.2. Context-aware Recommendations
3.2.1. Tensor Factorization
3.2.2. Factorization Machines
3.3. Deep Learning
3.4. Similarity
3.5. Social Recommendations
4. Hybrid Approaches
5. A practical example: Netflix
6. Conclusions
7. References

Xavier Amatriain July 2014 Recommender Systems


Factorization Machines

Xavier Amatriain July 2014 Recommender Systems


Xavier Amatriain July 2014 Recommender Systems
Xavier Amatriain July 2014 Recommender Systems

Xavier Amatriain July 2014 Recommender Systems


Xavier Amatriain July 2014 Recommender Systems


Xavier Amatriain July 2014 Recommender Systems


Xavier Amatriain July 2014 Recommender Systems






Xavier Amatriain July 2014 Recommender Systems


Index
1. Introduction: What is a Recommender System
2. Traditional Methods
2.1. Collaborative Filtering
2.2. Content-based Recommendations
3. Novel Methods
3.1. Learning to Rank
3.2. Context-aware Recommendations
3.2.1. Tensor Factorization
3.2.2. Factorization Machines
3.3. Deep Learning
3.4. Similarity
3.5. Social Recommendations
4. Hybrid Approaches
5. A practical example: Netflix
6. Conclusions
7. References

Xavier Amatriain July 2014 Recommender Systems


3.3 Deep Learning for
Recommendation

Xavier Amatriain July 2014 Recommender Systems


Deep Learning for Collaborative
Filtering
Lets look at how Spotify uses Recurrent Networks
for Playlist Prediction (http://erikbern.com/?p=589)

Xavier Amatriain July 2014 Recommender Systems


Deep Learning for Collaborative
Filtering
We assume is a normal distribution, log-likelihood of the
loss is just the (negative) L2 loss:

We can specify that and that


Model is now completely specified and we have unknown
parameters

Find U, V, and W to maximize log likelihood over all


examples using backpropagation

Xavier Amatriain July 2014 Recommender Systems


Deep Learning for Collaborative
Filtering
In order to predict the next track or movie a user is going to
watch, we need to define a distribution
If we choose Softmax as it is common practice, we get:

Problem: denominator (over all examples is very


expensive to compute)
Solution: build a tree that implements a hierarchical
softmax

More details on the blogpost

Xavier Amatriain July 2014 Recommender Systems


ANN Training over GPUS and AWS

How did we implement our ANN solution at Netflix?

http://techblog.netflix.com/2014/02/distributed-neural-networks-with-gpus.html

Xavier Amatriain July 2014 Recommender Systems


ANN Training over GPUS and AWS

Level 1 distribution: machines over different AWS regions


Level 2 distribution: machines in AWS and same AWS region
Use coordination tools
Spearmint or similar for parameter optimization
Condor, StarCluster, Mesos for distributed cluster
coordination
Level 3 parallelization: highly optimized parallel CUDA code
on GPUs

Xavier Amatriain July 2014 Recommender Systems


Index
1. Introduction: What is a Recommender System
2. Traditional Methods
2.1. Collaborative Filtering
2.2. Content-based Recommendations
3. Novel Methods
3.1. Learning to Rank
3.2. Context-aware Recommendations
3.2.1. Tensor Factorization
3.2.2. Factorization Machines
3.3. Deep Learning
3.4. Similarity
3.5. Social Recommendations
4. Hybrid Approaches
5. A practical example: Netflix
6. Conclusions
7. References

Xavier Amatriain July 2014 Recommender Systems


3.4 Similarity as Recommendation

Xavier Amatriain July 2014 Recommender Systems


What is similarity?
Similarity can refer to different dimensions
Similar in metadata/tags
Similar in user play behavior
Similar in user rating behavior

You can learn a model for each of them and finally learn an
ensemble

Xavier Amatriain July 2014 Recommender Systems


Graph-based similarities

0.8

0.3

0.3

0. 0.
4 3

0.2 0.7

Xavier Amatriain July 2014 Recommender Systems


Example of graph-based similarity: SimRank

SimRank (Jeh & Widom, 02): two objects are


similar if they are referenced by similar
objects.

Xavier Amatriain July 2014 Recommender Systems


Similarity ensembles
Come up with a score of play similarity, rating similarity, tag-
based similarity
Combine them using an ensemble
Weights are learned using regression over existing
response
Or some MAB explore/exploit approach
The final concept of similarity responds to what users vote
as similar

Xavier Amatriain July 2014 Recommender Systems


Index
1. Introduction: What is a Recommender System
2. Traditional Methods
2.1. Collaborative Filtering
2.2. Content-based Recommendations
3. Novel Methods
3.1. Learning to Rank
3.2. Context-aware Recommendations
3.2.1. Tensor Factorization
3.2.2. Factorization Machines
3.3. Deep Learning
3.4. Similarity
3.5. Social Recommendations
4. Hybrid Approaches
5. A practical example: Netflix
6. Conclusions
7. References

Xavier Amatriain July 2014 Recommender Systems


3.5 Social Recommendations

Xavier Amatriain July 2014 Recommender Systems


Social and Trust-based
recommenders
A social recommender system recommends items that
are popular in the social proximity of the user.
A person being close in our social network does not
mean we trust their judgement
This idea of trust is central in social-based systems
It can be a general per-user value that takes into
account social proximity but can also be topic-specific

Xavier Amatriain July 2014 Recommender Systems


Defining Trust
Trust is very complex
Involves personal background, history of interaction,
context, similarity, reputation, etc.
Sociological definitions
Trust requires a belief and a commitment
E.g. Bob believes Frank will provide reliable information
thus Bob is willing to act on that information
Similar to a bet
In the context of recommender systems, trust is
generally used to describe similarity in opinion
Ignores authority, correctness on facts

Xavier Amatriain July 2014 Recommender Systems


Trust Inference

The Goal: Select two individuals - the source (node


A) and sink (node C) - and recommend to the
source how much to trust the sink.

Xavier Amatriain July 2014 Recommender Systems


Major Algorithms - Networks
Advogato (Levien)
Appleseed (Ziegler and Lausen)
MoleTrust (Massa and Avesani)
TidalTrust (Golbeck)

Xavier Amatriain July 2014 Recommender Systems


Building Recommender Systems
Using Trust
Use trust as a way to give more weight to
some users
Trust for collaborative filtering
Use trust in place of (or combined with) similarity
Trust for sorting and filtering
Prioritize information from trusted sources

Xavier Amatriain July 2014 Recommender Systems


Other ways to use Social
Social connections can be used in
combination with other approaches
In particular, friendships can be fed into
collaborative filtering methods in different
ways
e.g. replace or modify user-user similarity by
using social network information

Xavier Amatriain July 2014 Recommender Systems


Demographic Methods
Aim to categorize the user based on personal
attributes and make recommendation based
on demographic classes
Demographic groups can come from
marketing research hence experts decided
how to model the users
Demographic techniques form people-to-
people correlations

Xavier Amatriain July 2014 Recommender Systems


Demographic Methods

Demographic features in general are asked


But can also induced by classifying a user using other
user descriptions (e.g. the home page) you need
some user for which you know the class (e.g.
male/female)
Prediction can use whatever learning mechanism we
like (nearest neighbor, nave classifier, etc.)

Xavier Amatriain July 2014 Recommender Systems


Index
1. Introduction: What is a Recommender System
2. Traditional Methods
2.1. Collaborative Filtering
2.2. Content-based Recommendations
3. Novel Methods
3.1. Learning to Rank
3.2. Context-aware Recommendations
3.2.1. Tensor Factorization
3.2.2. Factorization Machines
3.3. Deep Learning
3.4. Similarity
3.5. Social Recommendations
4. Hybrid Approaches
5. A practical example: Netflix
6. Conclusions
7. References

Xavier Amatriain July 2014 Recommender Systems


4 Hybrid Approaches

Xavier Amatriain July 2014 Recommender Systems


Comparison of methods (FAB
system)
Contentbased
recommendation with
Bayesian classifier
Collaborative is
standard using
Pearson correlation
Collaboration via
content uses the
content-based user
profiles
Averaged on 44 users

Precision computed in top 3 recommendations

Xavier Amatriain July 2014 Recommender Systems


Hybridization Methods
Hybridization Method Description
Weighted Outputs from several techniques (in the form of
scores or votes) are combined with different
degrees of importance to offer final
recommendations
Switching Depending on situation, the system changes from
one technique to another
Mixed Recommendations from several techniques are
presented at the same time
Feature combination Features from different recommendation sources
are combined as input to a single technique
Cascade The output from one technique is used as input of
another that refines the result
Feature augmentation The output from one technique is used as input
features to another
Meta-level The model learned by one recommender is used
as input to another

Xavier Amatriain July 2014 Recommender Systems


Weighted
Combine the results of different recommendation
techniques into a single recommendation list
Example 1: a linear combination of recommendation scores
Example 2: treats the output of each recommender
(collaborative, content-based and demographic) as a set of
votes, which are then combined in a consensus scheme
Assumption: relative value of the different techniques is
more or less uniform across the space of possible items
Not true in general: e.g. a collaborative recommender will be
weaker for those items with a small number of raters.

Xavier Amatriain July 2014 Recommender Systems


Switching
The system uses criterion to switch between techniques
Example: The DailyLearner system uses a content-
collaborative hybrid in which a content-based recommendation
method is employed first
If the content-based system cannot make a
recommendation with sufficient confidence, then a
collaborative recommendation is attempted
Note that switching does not completely avoid the cold-
start problem, since both the collaborative and the content-
based systems have the new user problem
The main problem of this technique is to identify a GOOD
switching condition.

Xavier Amatriain July 2014 Recommender Systems


Mixed
Recommendations from more than one technique are
presented together
The mixed hybrid avoids the new item start-up problem
It does not get around the new user start-up problem,
since both the content and collaborative methods need
some data about user preferences to start up.

Xavier Amatriain July 2014 Recommender Systems


Feature Combination
Features can be combined in several directions. E.g.
(1) Treat collaborative information (ratings of users) as
additional feature data associated with each example
and use content-based techniques over this
augmented data set
(2) Treat content features as different dimensions for
the collaborative setting (i.e. as other ratings from
virtual specialized users)

Xavier Amatriain July 2014 Recommender Systems


Cascade
One recommendation technique is employed first to
produce a coarse ranking of candidates and a second
technique refines the recommendation
Example: EntreeC uses its knowledge of restaurants to make
recommendations based on the users stated interests. The
recommendations are placed in buckets of equal preference,
and the collaborative technique is employed to break ties
Cascading allows the system to avoid employing the
second, lower-priority, technique on items that are
already well-differentiated by the first
But requires a meaningful and constant ordering of the
techniques.

Xavier Amatriain July 2014 Recommender Systems


Feature Augmentation
Produce a rating or classification of an item and that
information is then incorporated into the processing of
the next recommendation technique
Example: Libra system makes content-based
recommendations of books based on data found in Amazon.
com, using a naive Bayes text classifier
In the text data used by the system is included related
authors and related titles information that Amazon generates
using its internal collaborative systems
Very similar to the feature combination method:
Here the output is used for a second RS
In feature combination the representations used by two
systems are combined.

Xavier Amatriain July 2014 Recommender Systems


Index
1. Introduction: What is a Recommender System
2. Traditional Methods
2.1. Collaborative Filtering
2.2. Content-based Recommendations
3. Novel Methods
3.1. Learning to Rank
3.2. Context-aware Recommendations
3.2.1. Tensor Factorization
3.2.2. Factorization Machines
3.3. Deep Learning
3.4. Similarity
3.5. Social Recommendations
4. Hybrid Approaches
5. A practical example: Netflix
6. Conclusions
7. References

Xavier Amatriain July 2014 Recommender Systems


5. Netflix as a practical example

Xavier Amatriain July 2014 Recommender Systems


What we were interested in:
High quality recommendations
Proxy question:
Accuracy in predicted rating Results
Improve by 10% = $1million! Top 2 algorithms still in
production

RBM

SVD

Xavier Amatriain July 2014 Recommender Systems


What about the final prize
ensembles?
Our offline studies showed they were too
computationally intensive to scale
Expected improvement not worth the engineering
effort
Plus. Focus had already shifted to other issues
that had more impact than rating prediction.

Xavier Amatriain July 2014 Recommender Systems


From the Netflix Prize
to today

2006 2014

Xavier Amatriain July 2014 Recommender Systems


Anatomy of
Netflix
Personalization

Everything is a Recommendation

Xavier Amatriain July 2014 Recommender Systems


Xavier Amatriain July 2014 Recommender Systems
Xavier Amatriain July 2014 Recommender Systems
Everything is personalized

Ranking

Xavier Amatriain July 2014 Recommender Systems


Ranking Key algorithm, sorts titles in most contexts

Ranking

Xavier Amatriain July 2014 Recommender Systems


Support for Recommendations

Social Support
Xavier Amatriain July 2014 Recommender Systems
Social Recommendations

Xavier Amatriain July 2014 Recommender Systems


Watch again & Continue Watching

Xavier Amatriain July 2014 Recommender Systems


Genres

Xavier Amatriain July 2014 Recommender Systems


Genre rows

Personalized genre rows focus on user interest


Also provide context and evidence
Important for member satisfaction moving personalized
rows to top on devices increased retention
How are they generated?
Implicit: based on users recent plays, ratings, & other
interactions
Explicit taste preferences
Hybrid:combine the above
Also take into account:
Freshness - has this been shown before?
Diversity avoid repeating tags and genres, limit number of
TV genres, etc.

Xavier Amatriain July 2014 Recommender Systems


Genres - personalization

Xavier Amatriain July 2014 Recommender Systems


Genres - personalization

Xavier Amatriain July 2014 Recommender Systems


Similars

Displayed in many
different contexts
In response to user
actions/context
(search, queue
add)
More like rows

Xavier Amatriain July 2014 Recommender Systems


Page Composition

Xavier Amatriain July 2014 Recommender Systems


Page Composition

Xavier Amatriain July 2014 Recommender Systems


Page Composition

Xavier Amatriain July 2014 Recommender Systems


Page Composition

Xavier Amatriain July 2014 Recommender Systems


Page Composition

Xavier Amatriain July 2014 Recommender Systems


Xavier Amatriain July 2014 Recommender Systems


Search Recommendations

Xavier Amatriain July 2014 Recommender Systems


Unavailable Title Recommendations

Xavier Amatriain July 2014 Recommender Systems


Search Recommendations

Xavier Amatriain July 2014 Recommender Systems


Postplay

Xavier Amatriain July 2014 Recommender Systems


Billboard

Xavier Amatriain July 2014 Recommender Systems


Gamification

Xavier Amatriain July 2014 Recommender Systems


Diversity & Awareness

Personalization awareness

All Dad Dad&Mom Daughter All All? Daughter Son Mom Mom

Diversity

Xavier Amatriain July 2014 Recommender Systems


Data
&
Models
Xavier Amatriain July 2014 Recommender Systems
Netflix Scale









Metadata
Tag space is made of
thousands of different
concepts
Items are manually annotated
Metadata is useful
Especially for coldstart
Social
Can your friends interests help us better predict
yours?
The answer is similar to the Metadata case:
If we know enough about you, social information
becomes less useful
But, it is very interesting for coldstarting
And social support for recommendations has
been shown to matter
Impressions

We track what users get shown and their


interactions
Impression tracking is costly from an infrastructure
perspective
But, it can have very important applications
Correcting for presentation bias
Different forms of positive and negative feedback
...
Smart Models Regression models (Logistic,
Linear, Elastic nets)
GBDT/RF
SVD & other MF models
Factorization Machines
Restricted Boltzmann
Machines
Markov Chains & other
graphical models
Clustering (from k-means to
HDP)
Deep ANN
LDA
Association Rules

Index
1. Introduction: What is a Recommender System
2. Traditional Methods
2.1. Collaborative Filtering
2.2. Content-based Recommendations
3. Novel Methods
3.1. Learning to Rank
3.2. Context-aware Recommendations
3.2.1. Tensor Factorization
3.2.2. Factorization Machines
3.3. Deep Learning
3.4. Similarity
3.5. Social Recommendations
4. Hybrid Approaches
5. A practical example: Netflix
6. Conclusions
7. References

Xavier Amatriain July 2014 Recommender Systems


6. Conclusions

Xavier Amatriain July 2014 Recommender Systems


Conclusions
For many applications such as Recommender
Systems (but also Search, Advertising, and even
Networks) understanding data and users is vital
Algorithms can only be as good as the data they
use as input
But the inverse is also true: you need a good
algorithm to leverage your data
Importance of User/Data Mining is going to be a
growing trend in many areas in the coming years

Xavier Amatriain July 2014 Recommender Systems


Conclusions
Recommender Systems (RS) is an important
application of User Mining
RS have the potential to become as important
as Search is now
However, RS are more than User Mining
HCI
Economical models

Xavier Amatriain July 2014 Recommender Systems


Conclusions
RS are fairly new but already grounded on well-
proven technology
Collaborative Filtering
Machine Learning
Content Analysis
Social Network Analysis

However, there are still many open questions
and a lot of interesting research to do!

Xavier Amatriain July 2014 Recommender Systems


Index
1. Introduction: What is a Recommender System
2. Traditional Methods
2.1. Collaborative Filtering
2.2. Content-based Recommendations
3. Novel Methods
3.1. Learning to Rank
3.2. Context-aware Recommendations
3.2.1. Tensor Factorization
3.2.2. Factorization Machines
3.3. Deep Learning
3.4. Similarity
3.5. Social Recommendations
4. Hybrid Approaches
5. A practical example: Netflix
6. Conclusions
7. References

Xavier Amatriain July 2014 Recommender Systems


7. References

Xavier Amatriain July 2014 Recommender Systems


References
"Recommender Systems Handbook." Ricci, Francesco, Lior Rokach,
Bracha Shapira, and Paul B. Kantor. (2010).
Recommender systems: an introduction. Jannach, Dietmar, et al.
Cambridge University Press, 2010.
Toward the Next Generation of Recommender Systems: A Survey of the
State-of-the-Art and Possible Extensions. G. Adomavicious and A.
Tuzhilin. 2005. IEEE Transactions on Knowledge and Data Engineering,
17 (6)
Item-based Collaborative Filtering Recommendation Algorithms, B.
Sarwar et al. 2001. Proceedings of World Wide Web Conference.
Lessons from the Netflix Prize Challenge.. R. M. Bell and Y. Koren.
SIGKDD Explor. Newsl., 9(2):7579, December 2007.
Beyond algorithms: An HCI perspective on recommender systems. K.
Swearingen and R. Sinha. In ACM SIGIR 2001 Workshop on
Recommender Systems
Recommender Systems in E-Commerce. J. Ben Schafer et al. ACM
Conference on Electronic Commerce. 1999-
Introduction to Data Mining, P. Tan et al. Addison Wesley. 2005

Xavier Amatriain July 2014 Recommender Systems


References
Evaluating collaborative filtering recommender systems. J. L. Herlocker,
J. A. Konstan, L. G. Terveen, and J. T. Riedl. ACM Trans. Inf. Syst., 22(1):
553, 2004.
Trust in recommender systems. J. ODonovan and B. Smyth. In Proc. of
IUI 05, 2005.
Content-based recommendation systems. M. Pazzani and D. Billsus. In
The Adaptive Web, volume 4321. 2007.
Fast context-aware recommendations with factorization machines. S.
Rendle, Z. Gantner, C. Freudenthaler, and L. Schmidt-Thieme. In Proc. of
the 34th ACM SIGIR, 2011.
Restricted Boltzmann machines for collaborative filtering. R.
Salakhutdinov, A. Mnih, and G. E. Hinton.In Proc of ICML 07, 2007
Learning to rank: From pairwise approach to listwise approach. Z. Cao
and T. Liu. In In Proceedings of the 24th ICML, 2007.
Introduction to Data Mining, P. Tan et al. Addison Wesley. 2005

Xavier Amatriain July 2014 Recommender Systems


References
D. H. Stern, R. Herbrich, and T. Graepel. Matchbox: large scale online
bayesian recommendations. In Proc.of the 18th WWW, 2009.
Koren Y and J. Sill. OrdRec: an ordinal model for predicting personalized
item rating distributions. In Rec-Sys 11, pages 117124, 2011.
Y. Koren. Factorization meets the neighborhood: a multifaceted
collaborative filtering model. In Proceedings of the 14th ACM SIGKDD,
2008.
Yifan Hu, Y. Koren, and C. Volinsky. Collaborative Filtering for Implicit
Feedback Datasets. In Proc. Of the 2008 Eighth ICDM, pages 263272,
2008.
Y. Shi, A. Karatzoglou, L. Baltrunas, M. Larson, N. Oliver, and A. Hanjalic.
CLiMF: learning to maximize reciprocal rank with collaborative less-is-more
filtering. In Proc. of the sixth Recsys, 2012.
Y. Shi, A. Karatzoglou, L. Baltrunas, M. Larson,A. Hanjalic, and N. Oliver.
TFMAP: optimizing MAP for top-n context-aware recommendation. In Proc.
Of the 35th SIGIR, 2012.

Xavier Amatriain July 2014 Recommender Systems


References
A. Karatzoglou, X. Amatriain, L. Baltrunas, and N. Oliver. Multiverse
recommendation: n-dimensional tensor factorization for context-aware
collaborative filtering. In Proc. of the fourth ACM Recsys, 2010.
S. Rendle, Z. Gantner, C. Freudenthaler, and L. Schmidt-Thieme. Fast
context-aware recommendations with factorization machines. In Proc. of
the 34th ACM SIGIR, 2011.
S.H. Yang, B. Long, A.J. Smola, H. Zha, and Z. Zheng. Collaborative
competitive filtering: learning recommender using context of user choice. In
Proc. of the 34th ACM SIGIR, 2011.
N. N. Liu, X. Meng, C. Liu, and Q. Yang. Wisdom of the better few: cold
start recommendation via representative based rating elicitation. In Proc. of
RecSys11, 2011.
M. Jamali and M. Ester. Trustwalker: a random walk model for combining
trust-based and item-based recommendation. In Proc. of KDD 09, 2009.

Xavier Amatriain July 2014 Recommender Systems


References
J. Noel, S. Sanner, K. Tran, P. Christen, L. Xie, E. V. Bonilla, E.
Abbasnejad, and N. Della Penna. New objective functions for social
collaborative filtering. In Proc. of WWW 12, pages 859868, 2012.
X. Yang, H. Steck, Y. Guo, and Y. Liu. On top-k recommendation using
social networks. In Proc. of RecSys12, 2012.

Xavier Amatriain July 2014 Recommender Systems


Online resources
Recsys Wiki: http://recsyswiki.com/
Recsys conference Webpage: http://recsys.acm.org/
Recommender Systems Books Webpage: http://www.
recommenderbook.net/
Mahout Project: http://mahout.apache.org/
MyMediaLite Project: http://www.mymedialite.net/

Xavier Amatriain July 2014 Recommender Systems


Thanks!

Questions?

Xavier Amatriain

[email protected]
@xamat

Xavier Amatriain July 2014 Recommender Systems

You might also like