Recommendation Systems Stony Brook University CSE545, Fall 2017 - - PowerPoint PPT Presentation

recommendation systems
SMART_READER_LITE
LIVE PREVIEW

Recommendation Systems Stony Brook University CSE545, Fall 2017 - - PowerPoint PPT Presentation

Recommendation Systems Stony Brook University CSE545, Fall 2017 Recommendation Systems What other item will this user like? (based on previously liked items) How much will user like item X? Recommendation Systems What other item


slide-1
SLIDE 1

Recommendation Systems

Stony Brook University CSE545, Fall 2017

slide-2
SLIDE 2
  • What other item will this user like?

(based on previously liked items)

  • How much will user like item X?

Recommendation Systems

slide-3
SLIDE 3

?

  • What other item will this user like?

(based on previously liked items)

  • How much will user like item X?

Recommendation Systems

slide-4
SLIDE 4
  • What other item will this user like?

(based on previously liked items)

  • How much will user like item X?

Recommendation Systems

slide-5
SLIDE 5

Recommendation Systems

slide-6
SLIDE 6

Past User Ratings

Recommendation Systems

slide-7
SLIDE 7

Recommendation Systems

Why Big Data?

  • Data with many potential features (and sometimes
  • bservations)
  • An application of techniques for finding similar items

○ locality sensitive hashing ○ dimensionality reduction

slide-8
SLIDE 8

Recommendation System: Example

slide-9
SLIDE 9
slide-10
SLIDE 10

Enabled by Web Shopping

  • Does Wal-Mart have everything you need?
slide-11
SLIDE 11

Enabled by Web Shopping

  • Does Wal-Mart have everything you need?

(thelongtail.com)

slide-12
SLIDE 12

Enabled by Web Shopping

  • Does Wal-Mart have everything you need?
  • A lot of products are only of interest to

a small population (i.e. “long-tail products”).

  • However, most people buy many products

that are from the long-tail.

  • Web shopping enables more choices

○ Harder to search ○ Recommendation engines to the rescue

(thelongtail.com)

slide-13
SLIDE 13

Enabled by Web Shopping

  • Does Wal-Mart have everything you need?
  • A lot of products are only of interest to

a small population (i.e. “long-tail products”).

  • However, most people buy many products

that are from the long-tail.

  • Web shopping enables more choices

○ Harder to search ○ Recommendation engines to the rescue

(thelongtail.com)

slide-14
SLIDE 14

A Model for Recommendation Systems

Given: users, items, utility matrix

slide-15
SLIDE 15

A Model for Recommendation Systems

Given: users, items, utility matrix

user Game of Thrones Fargo Ballers Silicon Valley Walking Dead A 4 5 3 3 B 5 4 2 C 5 2

slide-16
SLIDE 16

A Model for Recommendation Systems

Given: users, items, utility matrix

user Game of Thrones Fargo Ballers Silicon Valley Walking Dead A 4 5 3 3 B 5 4 2 C 5 2

? ? ?

slide-17
SLIDE 17

Recommendation Systems

Problems to tackle:

1. Gathering ratings 2. Extrapolate unknown ratings a. Explicit: based on user ratings and reviews (problem: only a few users engage in such tasks) b. Implicit: Learn from actions (e.g. purchases, clicks) (problem: hard to learn low ratings) 3. Evaluation

slide-18
SLIDE 18

Recommendation Systems

Problems to tackle:

1. Gathering ratings 2. Extrapolate unknown ratings a. Explicit: based on user ratings and reviews (problem: only a few users engage in such tasks) b. Implicit: Learn from actions (e.g. purchases, clicks) (problem: hard to learn low ratings) 3. Evaluation

Common Approaches

  • 1. Content-based
  • 2. Collaborative
  • 3. Latent Factor
slide-19
SLIDE 19

Recommendation Systems

Problems to tackle:

1. Gathering ratings 2. Extrapolate unknown ratings a. Explicit: based on user ratings and reviews (problem: only a few users engage in such tasks) b. Implicit: Learn from actions (e.g. purchases, clicks) (problem: hard to learn low ratings) 3. Evaluation

Common Approaches

  • 1. Content-based
  • 2. Collaborative
  • 3. Latent Factor
slide-20
SLIDE 20

Concept, In Matrix Form:

f1, f2, f3, f4, … fp

  • 1
  • 2
  • 3

  • N

columns: p features rows: N observations

slide-21
SLIDE 21

Concept, In Matrix Form:

f1, f2, f3, f4, … fp

  • 1
  • 2
  • 3

  • N
slide-22
SLIDE 22

Concept, In Matrix Form:

c1, c2, c3, c4, … cp’

  • 1
  • 2
  • 3

  • N

f1, f2, f3, f4, … fp

  • 1
  • 2
  • 3

  • N

Try to best represent but with on p’ columns.

Dimensionality reduction

slide-23
SLIDE 23

Dimensionality Reduction - PCA - Example

X[nxp] = U[nxr] D[rxr] V[pxr]

T

Users to movies matrix

slide-24
SLIDE 24

Dimensionality Reduction - PCA - Example

X[nxp] = U[nxr] D[rxr] V[pxr]

T

slide-25
SLIDE 25

Dimensionality Reduction - PCA

Linear approximates of data in r dimensions. Found via Singular Value Decomposition:

X[nxp] = U[nxr] D[rxr] V[pxr]

T

X: original matrix, U: “left singular vectors”, D: “singular values” (diagonal), V: “right singular vectors” Projection (dimensionality reduced space) in 3 dimensions: (U[nx3] D[3x3] V[px3]

T)

To reduce features in new dataset: Xnew V = Xnew_small

slide-26
SLIDE 26

Recommendation Systems

Problems to tackle:

1. Gathering ratings 2. Extrapolate unknown ratings a. Explicit: based on user ratings and reviews (problem: only a few users engage in such tasks) b. Implicit: Learn from actions (e.g. purchases, clicks) (problem: hard to learn low ratings) 3. Evaluation

Common Approaches

  • 1. Content-based
  • 2. Collaborative
  • 3. Latent Factor
slide-27
SLIDE 27

Content-based Rec Systems

Based on similarity of items to past items that they have rated.

slide-28
SLIDE 28

Content-based Rec Systems

Based on similarity of items to past items that they have rated.

slide-29
SLIDE 29

Content-based Rec Systems

Based on similarity of items to past items that they have rated. 1. Build profiles of items (set of features); examples: shows: producer, actors, theme, review people: friends, posts

pick words with tf-idf

slide-30
SLIDE 30

Content-based Rec Systems

Based on similarity of items to past items that they have rated. 1. Build profiles of items (set of features); examples: shows: producer, actors, theme, review people: friends, posts 2. Construct user profile from item profiles; approach: average all item profiles variation: weight by difference from their average

pick words with tf-idf

slide-31
SLIDE 31

Content-based Rec Systems

Based on similarity of items to past items that they have rated. 1. Build profiles of items (set of features); examples: shows: producer, actors, theme, review people: friends, posts 2. Construct user profile from item profiles; approach: average all item profiles of items they’ve purchased variation: weight by difference from their average ratings 3. Predict ratings for new items; approach:

pick words with tf-idf x i

slide-32
SLIDE 32

Why Content Based?

  • Only need users history
  • Captures unique tastes
  • Can recommend new items
  • Can provide explanations
slide-33
SLIDE 33

Why Content Based?

  • Only need users history
  • Captures unique tastes
  • Can recommend new items
  • Can provide explanations
  • Need good features
  • New users don’t have history
  • Doesn’t venture “outside the box”

(Overspecialized)

slide-34
SLIDE 34

Why Content Based?

  • Only need users history
  • Captures unique tastes
  • Can recommend new items
  • Can provide explanations
  • Need good features
  • New users don’t have history
  • Doesn’t venture “outside the box”

(Overspecialized) (not exploiting other users judgments)

slide-35
SLIDE 35

Collaborative Filtering Rec Systems

  • Need good features
  • New users don’t have history
  • Doesn’t venture “outside the box”

(Overspecialized) (not exploiting other users judgments)

slide-36
SLIDE 36

Collaborative Filtering Rec Systems

  • - neighborhood
slide-37
SLIDE 37

Collaborative Filtering Rec Systems

user Game of Thrones Fargo Ballers Silicon Valley Walking Dead A 4 5 2 3 B 5 4 2 C 5 2

slide-38
SLIDE 38

Collaborative Filtering Rec Systems

user Game of Thrones Fargo Ballers Silicon Valley Walking Dead A 4 5 2 3 B 5 4 2 C 5 2

General Idea: 1) Find similar users = “neighborhood” 2) Infer rating based on how similar users rated

slide-39
SLIDE 39

Collaborative Filtering Rec Systems

user Game of Thrones Fargo Ballers Silicon Valley Walking Dead A 4 5 2 3 B 5 4 2 C 5 2

Given user, x, item, i 1. Find neighborhood, N # set of k users most similar to x who have also rated i

slide-40
SLIDE 40

Collaborative Filtering Rec Systems

user Game of Thrones Fargo Ballers Silicon Valley Walking Dead A 4 => 0.5 5 => 1.5 2 => -1.5 => 0 3 => -0.5 B 5 4 2 C 5 2

Given: user, x; item, i; utility matrix, u 1. Find neighborhood, N # set of k users most similar to x who have also rated i Two Challenges: (1) user bias, (2) missing values

slide-41
SLIDE 41

Collaborative Filtering Rec Systems

user Game of Thrones Fargo Ballers Silicon Valley Walking Dead A 4 => 0.5 5 => 1.5 2 => -1.5 => 0 3 => -0.5 B 5 4 2 C 5 2

Given: user, x; item, i; utility matrix, u 1. Find neighborhood, N # set of k users most similar to x who have also rated i Two Challenges: (1) user bias, (2) missing values Solution: subtract user’s mean, add zeros for missing

slide-42
SLIDE 42

Collaborative Filtering Rec Systems

user Game of Thrones Fargo Ballers Silicon Valley Walking Dead A 4 => 0.5 5 => 1.5 2 => -1.5 => 0 3 => -0.5 B 5 4 2 C 5 2

Given: user, x; item, i; utility matrix, u

  • 0. Update u: mean center, missing to 0

1. Find neighborhood, N # set of k users most similar to x who have also rated i

  • - sim(x, other) = cosine_sim(u[x], u[other])
  • - threshold to top k (e.g. k = 30)
slide-43
SLIDE 43

Collaborative Filtering Rec Systems

user Game of Thrones Fargo Ballers Silicon Valley Walking Dead A 4 => 0.5 5 => 1.5 2 => -1.5 => 0 3 => -0.5 B 5 4 2 C 5 2

Given: user, x; item, i; utility matrix, u

  • 0. Update u: mean center, missing to 0

1. Find neighborhood, N # set of k users most similar to x who have also rated i

  • - sim(x, other) = cosine_sim(u[x], u[other])
  • - threshold to top k (e.g. k = 30)
  • 2. Predict utility (rating) of i based on N
slide-44
SLIDE 44

Collaborative Filtering Rec Systems

user Game of Thrones Fargo Ballers Silicon Valley Walking Dead A 4 => 0.5 5 => 1.5 2 => -1.5 => 0 3 => -0.5 B 5 4 2 C 5 2

Given: user, x; item, i; utility matrix, u

  • 0. Update u: mean center, missing to 0

1. Find neighborhood, N # set of k users most similar to x who have also rated i

  • - sim(x, other) = cosine_sim(u[x], u[other])
  • - threshold to top k (e.g. k = 30)
  • 2. Predict utility (rating) of i based on N
  • - average, weighted by sim
slide-45
SLIDE 45

Collaborative Filtering Rec Systems

Given: user, x; item, i; utility matrix, u

  • 0. Update u: mean center, missing to 0

1. Find neighborhood, N # set of k users most similar to x who have also rated i

  • - sim(x, other) = cosine_sim(u[x], u[other])
  • - threshold to top k (e.g. k = 30)
  • 2. Predict utility (rating) of i based on N
  • - average, weighted by sim

“User-User collaborative filtering”

slide-46
SLIDE 46

Collaborative Filtering Rec Systems

Given: user, x; item, i; utility matrix, u

  • 0. Update u: mean center, missing to 0

1. Find neighborhood, N # set of k users most similar to x who have also rated i

  • - sim(x, other) = cosine_sim(u[x], u[other])
  • - threshold to top k (e.g. k = 30)
  • 2. Predict utility (rating) of i based on N
  • - average, weighted by sim

“User-User collaborative filtering”

Item-Item: Flip rows/columns of utility matrix and use same methods. (i.e. estimate rating of item i, by finding similar items, j)

slide-47
SLIDE 47

Collaborative Filtering Rec Systems

Given: user, x; item, i; utility matrix, u

  • 0. Update u: mean center, missing to 0

1. Find neighborhood, N # set of k items most similar to i also rated by x

  • - sim(i, other) = cosine_sim(u[i], u[other])
  • - threshold to top k (e.g. k = 30)
  • 2. Predict utility (rating) by x based on N
  • - average, weighted by sim

“User-User collaborative filtering”

Item-Item: Flip rows/columns of utility matrix and use same methods. (i.e. estimate rating of item i, by finding similar items, j)

slide-48
SLIDE 48

Item-Item: Example

slide-49
SLIDE 49

Item-Item: Example

slide-50
SLIDE 50

Item-Item: Example

Same as cosine sim when substracting the mean

slide-51
SLIDE 51

Item-Item: Example

slide-52
SLIDE 52

Item-Item: Example

utility(1, 5) = (0.41*2 + 0.59*3) / (0.41+0.59)

slide-53
SLIDE 53

Item-Item v User-User

Item-item often works better than user-user. Why? Users tend to be more different from each other than items are from

  • ther items.

(e.g. user A likes jazz + rock, user B likes classical + rock, but user-A may still have same rock preferences as B; Users span genres but items usually do not)