twolu - movie recommendations for two!

Post on 26-Jun-2015

69 Views

Category:

Entertainment & Humor

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Allen  Sussman

Find  movies  for  two

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

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

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

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

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

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

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

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

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

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

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

Allen Sussman, Ph.D.

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

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

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

top related