MLconf NYC Justin Basilico

34
1 1 Learning a Personalized Homepage Justin Basilico Page Algorithms Engineering April 11, 2014 NYC 2014 @JustinBasilic

description

 

Transcript of MLconf NYC Justin Basilico

Page 1: MLconf NYC Justin Basilico

11

Learning a Personalized HomepageJustin BasilicoPage Algorithms Engineering April 11, 2014

NYC 2014

@JustinBasilico

Page 2: MLconf NYC Justin Basilico

2

Page 3: MLconf NYC Justin Basilico

3

Change of focus

2006 2014

Page 4: MLconf NYC Justin Basilico

4

Netflix Scale > 44M members

> 40 countries

> 1000 device types

> 5B hours in Q3 2013

Plays: > 30M/day

Log 100B events/day

31.62% of peak US downstream traffic

Page 5: MLconf NYC Justin Basilico

55

Approach to Recommendation“Emmy Winning”

Page 6: MLconf NYC Justin Basilico

6

Goal

Help members find content to watch and enjoy to maximize member satisfaction and retention

Page 7: MLconf NYC Justin Basilico

7

Everything is a Recommendation

Row

s

Ranking

Over 75% of what people watch comes from our recommendations

Recommendations are driven by Machine Learning

Page 8: MLconf NYC Justin Basilico

8

Top Picks

Personalization awareness

Diversity

Page 9: MLconf NYC Justin Basilico

9

Personalized genres Genres focused on user interest

Derived from tag combinations

Provide context and evidence

How are they generated?

Implicit: Based on recent plays, ratings & other interactions

Explicit: Taste preferences

Hybrid: combine the above

Page 10: MLconf NYC Justin Basilico

10

Similarity Find something similar to

something you’ve liked

Because you watched rows

Also Video display page In response to user actions

(search, list add, …)

Page 11: MLconf NYC Justin Basilico

11

Support for Recommendations

Social Support

Page 12: MLconf NYC Justin Basilico

1212

Learning to Recommend

Page 13: MLconf NYC Justin Basilico

13

Machine Learning Approach

Problem

Data

ModelAlgorithm

Metrics

Page 14: MLconf NYC Justin Basilico

14

Data Plays

Duration, bookmark, time, device, …

Ratings

Metadata Tags, synopsis, cast, …

Impressions

Interactions Search, list add, scroll, …

Social

Page 15: MLconf NYC Justin Basilico

15

Models & Algorithms Regression (Linear, logistic, elastic net)

SVD and other Matrix Factorizations

Factorization Machines

Restricted Boltzmann Machines

Deep Neural Networks

Markov Models and Graph Algorithms

Clustering

Latent Dirichlet Allocation

Gradient Boosted Decision Trees/Random Forests

Gaussian Processes

Page 16: MLconf NYC Justin Basilico

16

Offline/Online testing process

Rollout Feature to all users

Offline testing

Online A/Btesting[success] [success]

[fail]

days Weeks to months

Page 17: MLconf NYC Justin Basilico

17

Rating Prediction First progress prize

Top 2 algorithms

Matrix Factorization (SVD++)

Restricted Boltzmann Machines (RBM)

Ensemble: Linear blend

R

Videos

Use

rs U

V

(99% Sparse) d

Videos

Use

rs

Page 18: MLconf NYC Justin Basilico

18

Ranking by ratings

4.7 4.6 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5

Niche titlesHigh average ratings… by those who would watch it

Page 19: MLconf NYC Justin Basilico

19

RMSE

Page 20: MLconf NYC Justin Basilico

20

Learning to Rank Approaches:

Point-wise: Loss over items (Classification, ordinal regression, MF, …)

Pair-wise: Loss over preferences (RankSVM, RankNet, BPR, …)

List-wise: (Smoothed) loss over ranking (LambdaMART, DirectRank, GAPfm, …)

Ranking quality measures: NDCG, MRR, ERR, MAP, FCP,

Precision@N, Recall@N, …0 10 20 30 40 50 60 70 80 90 100

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

NDCG MRR FCP

Rank

Impo

rtan

ce

Page 21: MLconf NYC Justin Basilico

21

Example: Two features, linear model

Popularity

Pred

icte

d Ra

ting

1

23

4

5

Linear Model:frank(u,v) = w1 p(v) + w2 r(u,v)

Final Ranking

Page 22: MLconf NYC Justin Basilico

22

Ranking

Page 23: MLconf NYC Justin Basilico

2323

Putting it together“Learning to Row”

Page 24: MLconf NYC Justin Basilico

24

Page-level algorithmic challenge

10,000s of possible

rows …

10-40 rows

Variable number of possible videos per

row (up to thousands)

1 personalized page

per device

Page 25: MLconf NYC Justin Basilico

25

Balancing a Personalized Page

vs.Accurate Diverse

vs.Discovery Continuation

vs.Depth Coverage

vs.Freshness Stability

vs.Recommendations Tasks

Page 26: MLconf NYC Justin Basilico

26

2D Navigational Modeling

More likely to see

Less likely

Page 27: MLconf NYC Justin Basilico

27

Row Lifecycle

Select Candidates

Select Evidence

Rank

Filter

Format

Choose

Page 28: MLconf NYC Justin Basilico

28

Building a page algorithmically Approaches

Template: Non-personalized layout Row-independent: Greedy rank rows by f(r | u, c) Stage-wise: Pick next rows by f(r | u, c, p1:n)

Page-wise: Total page fitness f(p | u, c)

Obey constraints per device Certain rows may be required Examples: Continue watching and My List

Page 29: MLconf NYC Justin Basilico

29

Row Features Quality of items Features of items Quality of evidence User-row interactions Item/row metadata Recency Item-row affinity Row length Position on page Context Title Diversity Freshness …

Page 30: MLconf NYC Justin Basilico

30

Page-level Metrics How do you measure the quality of

the homepage? Ease of discovery Diversity Novelty …

Challenges: Position effects Row-video generalization

2D versions of ranking quality metrics Example: Recall @ row-by-column

0 5 10 15 20 25 30 35

RowRe

call

Page 31: MLconf NYC Justin Basilico

3131

Conclusions

Page 32: MLconf NYC Justin Basilico

32

Evolution of Recommendation Approach

Rating Ranking Page Generation

4.7

Page 33: MLconf NYC Justin Basilico

33

Research Directions

Context awareness

Full-page optimization

Presentation effects

Social recommendation

Personalized learning to rank Cold start

Page 34: MLconf NYC Justin Basilico

34Thank You Justin Basilico

[email protected]@JustinBasilico

We’re hiring