2lu: movie recommendations for two!

25
Allen Sussman Find movies for two

Upload: allen-sussman

Post on 30-Nov-2014

286 views

Category:

Entertainment & Humor


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 2lu: Movie Recommendations for two!

Allen  Sussman

Find  movies  for  two

Page 2: 2lu: Movie Recommendations for two!
Page 3: 2lu: Movie Recommendations for two!
Page 4: 2lu: Movie Recommendations for two!
Page 5: 2lu: Movie Recommendations for two!
Page 6: 2lu: Movie Recommendations for two!
Page 7: 2lu: Movie Recommendations for two!
Page 8: 2lu: Movie Recommendations for two!
Page 9: 2lu: Movie Recommendations for two!

Can we find a movie we’ll both actually like?

Page 10: 2lu: Movie Recommendations for two!
Page 11: 2lu: Movie Recommendations for two!

Each person enters movies they like and 2lu finds movies they’ll both like

Page 12: 2lu: Movie Recommendations for two!

Each person enters movies they like and 2lu finds movies they’ll both like

Page 13: 2lu: Movie Recommendations for two!

Movies->Clue Kids Jaws Babe Big

1 5 3 4 5 None2 None 5 1 5 None3 3 None 1 4 34 1 5 1 4 35 2 4 1 4 5

Users->

Ratings Table from Algorithm: Collaborative Filtering

Page 14: 2lu: Movie Recommendations for two!

Movies->Clue Kids Jaws Babe Big

1 5 3 4 5 None2 None 5 1 5 None3 3 None 1 4 34 1 5 1 4 35 2 4 1 4 5

Users->

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Movies Similarity MatrixAlgorithm: Collaborative Filtering

Ratings Table from

Page 15: 2lu: Movie Recommendations for two!

Movies->Clue Kids Jaws Babe Big

1 5 3 4 5 None2 None 5 1 5 None3 3 None 1 4 34 1 5 1 4 35 2 4 1 4 5

Users->

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Movies Similarity Matrix

Say User 1 likes Clue User 2 likes Babe

Algorithm: Collaborative FilteringRatings Table from

Page 16: 2lu: Movie Recommendations for two!

Movies->Clue Kids Jaws Babe Big

1 5 3 4 5 None2 None 5 1 5 None3 3 None 1 4 34 1 5 1 4 35 2 4 1 4 5

Users->

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Movies Similarity Matrix

Say User 1 likes Clue User 2 likes Babe

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Algorithm: Collaborative Filtering

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Ratings Table from

Page 17: 2lu: Movie Recommendations for two!

Movies->Clue Kids Jaws Babe Big

1 5 3 4 5 None2 None 5 1 5 None3 3 None 1 4 34 1 5 1 4 35 2 4 1 4 5

Users->

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Movies Similarity Matrix

Say User 1 likes Clue User 2 likes Babe

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Clue1

0.20.30.40.5

Babe0.40.20.21

0.5

f( , )=

Algorithm: Collaborative Filtering

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Ratings Table from

Page 18: 2lu: Movie Recommendations for two!

Movies->Clue Kids Jaws Babe Big

1 5 3 4 5 None2 None 5 1 5 None3 3 None 1 4 34 1 5 1 4 35 2 4 1 4 5

Users->

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Movies Similarity Matrix

Say User 1 likes Clue User 2 likes Babe

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Clue1

0.20.30.40.5

Babe0.40.20.21

0.5

f( , )=

Algorithm: Collaborative Filtering

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Clue 0.6Kids 0.2Jaws 0.225Babe 0.6Big 0.5

Ratings Table from

Page 19: 2lu: Movie Recommendations for two!

Movies->Clue Kids Jaws Babe Big

1 5 3 4 5 None2 None 5 1 5 None3 3 None 1 4 34 1 5 1 4 35 2 4 1 4 5

Users->

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Movies Similarity Matrix

Say User 1 likes Clue User 2 likes Babe

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Clue1

0.20.30.40.5

Babe0.40.20.21

0.5

f( , )=

Algorithm: Collaborative Filtering

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Clue 0.6Kids 0.2Jaws 0.225Babe 0.6Big 0.5

Largest number is for the movie Big. Users should watch it!

Ratings Table from

Page 20: 2lu: Movie Recommendations for two!

Movies->Clue Kids Jaws Babe Big

1 5 3 4 5 None2 None 5 1 5 None3 3 None 1 4 34 1 5 1 4 35 2 4 1 4 5

Users->

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Movies Similarity Matrix

Say User 1 likes Clue User 2 likes Babe

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Clue1

0.20.30.40.5

Babe0.40.20.21

0.5

f( , )=

Algorithm: Collaborative Filtering

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Clue 0.6Kids 0.2Jaws 0.225Babe 0.6Big 0.5

Largest number is for the movie Big. Users should watch it!

Cross-validation: 90% of recommendations were given a rating of 3 or above by both users

Ratings Table from

Page 21: 2lu: Movie Recommendations for two!
Page 22: 2lu: Movie Recommendations for two!

Allen Sussman, Ph.D.

Page 23: 2lu: Movie Recommendations for two!

GoR(movie)=mean(s1,s2) - 0.25diff(s1,s2)

Similarity of movie to user 1

movie

Similarity of movie to user 2

movie

Goodness-of-recommendation (GoR) function

If average similarity to the input movies is high, that’s good!

If movie is very similar to user 1 movie but not

user 2 movie (or vice versa), that’s

bad!

Page 24: 2lu: Movie Recommendations for two!

0.60.2

0.2250.60.5

Movies->Clue Kids Jaws Babe Big

1 5 3 4 5 None2 None 5 1 5 None3 3 None 1 4 34 1 5 1 4 35 2 4 1 4 5

Users->

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Movies Similarity Matrix

Say User 1 likes Clue User 2 likes Babe

Clue Kids Jaws Babe BigClue 1 0.2 0.3 0.4 0.5Kids 0.2 1 0.3 0.2 0.3Jaws 0.3 0.3 1 0.2 0.3Babe 0.4 0.2 0.2 1 0.5Big 0.5 0.3 0.3 0.5 1

Clue1

0.20.30.40.5

Babe0.40.20.21

0.5

f( , )= 0.60.2

0.2250.60.5

Largest number is for the movie Big. Users should watch it!f(s1,s2)=mean(s1,s2)-α*diff(s1,s2)

f(s1,1,s1,2,…,s2,1,s2,2,…) = mean(s1,1,s1,2,…,s2,1,s2,2,…)- α*std(s1,1,s1,2,…,s2,1,s2,2,…)-β*diff(mean(s1,1,s1,2,…),mean(s2,1,s2,2,…))

For multiple input movies,

Ratings TableAlgorithm

Page 25: 2lu: Movie Recommendations for two!

Training Set

Test Set

Users->

Movies->Ratings Table

Cross-ValidationMovies Similarity Matrix

Test Set Features Ground Truth

Consider two users in test set

User 1 User 2

Use algorithm and similarity matrix on

Clue Kids Jaws Babe Big1 4 3 1 5 22 4 5 1 5 2

Ground Truth

Clue Kids Jaws Babe Big

Y Y Y

My Recommendations

Ground TruthFeatures

to predict then compare predictions and truth