Recommending
Products
Emily Fox & Carlos Guestrin
Machine Learning Specialization
University of Washington
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Where we see
recommender systems
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Personalization is transforming
our experience of the world
Information overload
100 Hours a Minute Browsing is history
What do I care about? -Need new ways
to discover content
Personalization: Connects users & items
viewers videos
3
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Movie recommendations
Connect users with movies
they may want to watch
4
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Product recommendations
Recommendations combine
global & session interests
5
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Music recommendations
Recommendations form
coherent & diverse sequence
6
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Friend recommendations
Users and items
are of the same type
7
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Drug-target interactions
Cobanoglu et al. 13
What drug should we
repurpose for some disease?
8
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Building a recommender system
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Solution 0: Popularity
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Simplest approach: Popularity
What are people
viewing now?
-Rank by global
popularity
Limitation:
-No personalization
11
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Solution 1: Classification model
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Whats the probability Ill buy this product?
User info
Yes!
Purchase history
Product info
Classifier
No
Other info
Pros:
- Personalized:
Considers user info & purchase history
- Features can capture context:
Time of the day, what I just saw,
- Even handles limited user history: Age of user,
13
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Limitations of classification approach
User info
Yes!
Purchase history
Product info
Classifier
No
Other info
Features may not be available
Often doesnt perform as well as
collaborative filtering methods (next)
14
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Solution 2: People who bought this
also bought
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Co-occurrence matrix
People who bought diapers also
bought baby wipes
Matrix C:
store # users who bought both items i & j
- (# items x # items) matrix
- Symmetric: # purchasing i & j same as # for j & i (Cij = Cji)
16
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Making recommendations using
co-occurences
User purchased diapers
1. Look at diapers row of matrix
2. Recommend other items with largest counts
- baby wipes, milk, baby food,
17
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Co-occurrence matrix must be
normalized
What if there are very popular items?
-Popular baby item:
Pampers Swaddlers diapers
-For any baby item (e.g., i=Sophie girae )
large count Cij for j=Pampers Swaddlers
Result:
-Drowns out other eects
-Recommend based on popularity
18
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Normalize co-occurrences:
Similarity matrix
Jaccard similarity: normalizes by popularity
- Who purchased i and j divided by
who purchased i or j
Many other similarity metrics possible, e.g., cosine similarity
19
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Limitations
Only current page matters, no history
- Recommend similar items to the one you bought
What if you purchased many items?
- Want recommendations based on purchase history
20
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
(Weighted) Average of purchased items
User bought items {diapers, milk}
- Compute user-specific score for each item j
in inventory by combining similarities:
Score( , baby wipes) =
(Sbaby wipes, diapers + Sbaby wipes, milk)
- Could also weight recent purchases more
Sort Score( , j ) and find item j with highest similarity
21
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Limitations
Does not utilize:
-context (e.g., time of day)
-user features (e.g., age)
-product features (e.g., baby vs. electronics)
Cold start problem
-What if a new user or product arrives?
22
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Solution 3: Discovering hidden structure
by matrix factorization
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Movie recommendation
Users watch movies and rate them
User Movie Rating
Each user only watches a few of the available movies
24
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Matrix completion problem
Xij known for black cells
Xij unknown for white cells
Users
Rating
X= Rows index movies
Columns index users
Movies
Data: Users score some movies
Rating(u,v)
known for black cells
Rating(u,v)
unknown for white cells
Goal: Filling missing data?
25
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Suppose we had d topics for
each user and movie
Describe movie v with topics Rv
- How much is it action, romance, drama,
Describe user u with topics Lu
- How much she likes action, romance, drama,
Rating(u,v) is the product of the two vectors
Recommendations: sort movies user hasnt watched by Rating(u,v)
26
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Predictions in matrix form
Xij known for black cells
Xij unknown for white cells
Rating
X= Rows index movies
Columns index users
R
X
L
=
But we dont
know topics of
users and movies
27
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Matrix factorization model:
Discovering topics from data
Xij known for black cells
Xij unknown for white cells
Rating
X= Rows index movies
Columns index users
Parameters Many ecient algorithms
of model for factorization
Only use observed values to estimate topic vectors Lu and Rv
Use estimated Lu and Rv for recommendations
28
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Limitations of matrix factorization
Cold-start problem
- This model still cannot handle a new user or movie
Xij known for black cells
Xij unknown for white cells
Rating
X= Rows index movies
Columns index users
29
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Bringing it all together:
Featurized matrix factorization
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Combining features and discovered topics
Features capture context
- Time of day, what I just saw, user info, past purchases,
Discovered topics from matrix factorization capture
groups of users who behave similarly
- Women from Seattle who teach and have a baby
Combine to mitigate cold-start problem
- Ratings for a new user from features only
- As more information about user is discovered,
matrix factorization topics become more relevant
31
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Blending models
Squeezing last bit of accuracy by
blending models
Netflix Prize 2006-2009
-100M ratings
-17,770 movies
-480,189 users
- Predict 3 million
ratings to
highest accuracy
-Winning team blended over 100 models
32
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
A performance metric for
recommender systems
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
The world of all baby products
34
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
User likes subset of items
35
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Why not use classification accuracy?
Classification accuracy =
fraction of items correctly classified
(liked vs. not liked)
Here, not interested in what a person
does not like
Rather, how quickly can we discover the
relatively few liked items?
- (Partially) an imbalanced class problem
36
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
How many liked items were
recommended?
Recall
# liked & shown
# liked
37
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
How many recommended items
were liked?
Precision
# liked & shown
# shown
38
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Maximize recall:
Recommend everything
Recall
# liked & shown
# liked
39
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Resulting precision?
Precision
# liked & shown
# shown
40
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Optimal recommender
Recall =1
Precision = 1
41
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Precision-recall curve
Input: A specific recommender system
Output: Algorithm-specific precision-recall curve
To draw curve, vary threshold on # items recommended
- For each setting, calculate the precision and recall
precision
recall
42
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Which Algorithm is Best?
For a given precision, want recall as large as possible
(or vice versa)
One metric: largest area under the curve (AUC)
Another: set desired recall and maximize precision
(precision at k)
precision
recall
43
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
Summary of
recommender systems
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization
What you can do now
Describe the goal of a recommender system
Provide examples of applications where recommender systems are useful
Implement a co-occurrence based recommender system
Describe the input (observations, number of topics) and output (topic
vectors, predicted values) of a matrix factorization model
Exploit estimated topic vectors (algorithms to come) to make
recommendations
Describe the cold-start problem and ways to handle it (e.g., incorporating
features)
Analyze performance of various recommender systems in terms of precision
and recall
Use AUC or precision-at-k to select amongst candidate algorithms
45
2015 Emily Fox & Carlos Guestrin Machine Learning Specialization