twolu - movie recommendations for two!
DESCRIPTION
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
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• For each pair of users in test set, compare
recommendations to combined ratings
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