T H E U V D E C O M P O S I T I O N A L G O R I T H M
Motivation
It is now common to get “personal recommendations” when we visit a website.
News articles
Product recommendations
Advertisements
Why ?
Unlike paper newspapers or brick and mortar stores, there is no limit [in terms of space/inventory] what can be shown or sold on a web-site..
Long-Tail effect
Large part of the income comes from the tail [example in search revenue]
The Netflix challenge
Netflix is a (online) US company from where people can rent movies
Netflix would like to recommend movies to users.
Netflix challenge (2006) – one million dollars prize who could beat their movie recommendation by 10%
After three years the prize was awarded..
We will discuss one of the “main ideas” behind the winning entry
[We will follow the discussion from the “Mining of
Massive Data Sets”]
The Data
Data can be arranged in the form…
M1 M2 M3 M4 M5 M6 M7
U1
U2 2
3
2
2
4
5
U3
U4
2
3
1 3
2
4
4
4
Users have given rating (between 1 and 5) from a database of 7 movie
..
What should be recommended to U2 ?
First ideas
Do missing entries mean a rating of “0” ?
How about simple dot product.
Other ideas…?
Clustering
Association Rules ?
Another basic idea
Let the user “u” rate movie “m” as follow:
Take the average of the following two numbers.
Average of user’s “u” ratings.
Average of all ratings given to movie “m” by all users’ who rated “m”
This was only 3% worse than than the Netflix algorithm (called CineMatch)
Latent Modeling
A big breakthrough is the idea of “latent variable modeling”
The data we observe is a result of another variable or set of variables which are “latent” (not observable)…
The latent variables generate the observed data…
In our case…the latent variables control the generation of the ratings..
So the challenge is to “infer” the latent variables from the observed data…
clustering
Bayes Theorem
Cognitive Science/AI
Scientists working in AI/Cognitive Science have drawn the following analogy..
Mind Computer
Mental Representation Programs/Theories
Thinking Computational Process/Algorithms
Practical Outcome: Infer Latent Structures
The Key Idea
Decompose the User x Rating matrix into:
User x Rating = ( User x Genre ) x (Genre x Movies)
Number of Genres is typically small
Or
R =~ UV
Find U and V such that ||R – UV|| is minimized…
Almost like k-means clustering…why ?
Example of UV Decomposition
The criterion used to select U and V is the Root Mean Square Error (RMSE)
RMSE Example
1 2
3
1 3
2 4
1
3
(1
-
1)
2 +
(2
-
3)
2 +
(3
-
4)
2 =
1
3
0
+
1
+
1
=
1
3
2
Example..Continued
Results in an RMSE of 1.8
UV Computation
UV Computation..continued
Same calculation as before…..
UV Computation….
UV Decomposition
The above process can be generalized to any entry…
Continue the process until RMSE settles into a local optimal…
So in spirit very similar to k-means..
References
Mining of Massive Data Sets
Rajaraman, Leskovic, Ullman