twolu - movie recommendations for two!

25
Allen Sussman Find movies for two

Upload: allen-sussman

Post on 26-Jun-2015

69 views

Category:

Entertainment & Humor


1 download

TRANSCRIPT

Page 1: Twolu - Movie Recommendations for Two!

Allen  Sussman

Find  movies  for  two

Page 2: Twolu - Movie Recommendations for Two!
Page 3: Twolu - Movie Recommendations for Two!
Page 4: Twolu - Movie Recommendations for Two!
Page 5: Twolu - Movie Recommendations for Two!
Page 6: Twolu - Movie Recommendations for Two!
Page 7: Twolu - Movie Recommendations for Two!
Page 8: Twolu - Movie Recommendations for Two!
Page 9: Twolu - Movie Recommendations for Two!

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

Page 10: Twolu - Movie Recommendations for Two!
Page 11: Twolu - Movie Recommendations for Two!

Each  person  enters  movies  they  like  and  twolu  finds  movies  they’ll  both  like

Page 12: Twolu - Movie Recommendations for Two!

Each  person  enters  movies  they  like  and  twolu  finds  movies  they’ll  both  like

Page 13: Twolu - 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 TableAlgorithm: Collaborative Filtering

Page 14: Twolu - 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 MatrixRatings TableAlgorithm: Collaborative Filtering

Page 15: Twolu - 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

Ratings TableAlgorithm: Collaborative Filtering

Page 16: Twolu - 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

Ratings TableAlgorithm: 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

Page 17: Twolu - 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( , )=

Ratings TableAlgorithm: 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

Page 18: Twolu - 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( , )=

Ratings TableAlgorithm: 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.2Jaw

s0.225

Babe

0.6Big 0.5

Page 19: Twolu - 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( , )=

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

Ratings TableAlgorithm: 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.2Jaw

s0.225

Babe

0.6Big 0.5

Clue 0.6Kids 0.2Jaw

s0.225

Babe

0.6Big 0.5

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

Page 20: Twolu - 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( , )=

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

Ratings TableAlgorithm: 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.2Jaw

s0.225

Babe

0.6Big 0.5

Clue 0.6Kids 0.2Jaw

s0.225

Babe

0.6Big 0.5

Cross-validation: 90% of recommendations were given a rating of 3 or above by both 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

Page 21: Twolu - Movie Recommendations for Two!
Page 22: Twolu - Movie Recommendations for Two!

Allen Sussman, Ph.D.

Page 23: Twolu - 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

P N

T Clue Big

F Jaws Babe

Ground TruthFeatures

to predict then compare predictions and truth

Page 24: Twolu - 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: Twolu - 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!

Ratings TableAlgorithm

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