0% found this document useful (0 votes)
88 views22 pages

Recommender Systems Problem Formulation: Machine Learning

This document discusses recommender systems and different approaches to building them, including content-based filtering, collaborative filtering, and matrix factorization. It introduces the problem of predicting movie ratings based on a user-movie rating matrix. It then describes content-based filtering which learns profiles for users and items, and collaborative filtering which aims to complete missing ratings based on similar users or items. The document outlines optimization objectives and gradient descent algorithms for both approaches. Finally, it discusses mean normalization and low-rank matrix factorization for implementation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
0% found this document useful (0 votes)
88 views22 pages

Recommender Systems Problem Formulation: Machine Learning

This document discusses recommender systems and different approaches to building them, including content-based filtering, collaborative filtering, and matrix factorization. It introduces the problem of predicting movie ratings based on a user-movie rating matrix. It then describes content-based filtering which learns profiles for users and items, and collaborative filtering which aims to complete missing ratings based on similar users or items. The document outlines optimization objectives and gradient descent algorithms for both approaches. Finally, it discusses mean normalization and low-rank matrix factorization for implementation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
You are on page 1/ 22

Recommender

Systems
Problem
formulation
Machine Learning
Example: Predicting movie ratings
User rates movies using one to five stars
Movie Alice (1) Bob (2) Carol (3) Dave (4)
Love at last
Romance forever = no. users
Cute puppies of love = no. movies
= 1 if user has
Nonstop car chases
rated movie
Swords vs. karate
= rating given by
user to movie
(defined only if
)
Andrew Ng
Recommender
Systems
Content-based
recommendations

Machine Learning
Content-based recommender systems
Movie Alice (1) Bob (2) Carol (3) Dave (4)
(romance) (action)
Love at last 5 5 0 0 0.9 0
Romance forever 5 ? ? 0 1.0 0.01
Cute puppies of love ? 4 0 ? 0.99 0
Nonstop car chases 0 0 5 4 0.1 1.0
Swords vs. karate 0 0 5 ? 0 0.9

For each user , learn a parameter . Predict user as rating


movie with stars.

Andrew Ng
Problem formulation
if user has rated movie (0 otherwise)
rating by user on movie (if defined)
= parameter vector for user
= feature vector for movie
For user , movie , predicted rating:
= no. of movies rated by user
To learn :

Andrew Ng
Optimization objective:
To learn (parameter for user ):

To learn :

Andrew Ng
Optimization algorithm:

Gradient descent update:

Andrew Ng
Recommender
Systems
Collaborative
filtering
Machine Learning
Problem motivation
Movie Alice (1) Bob (2) Carol (3) Dave (4)
(romance) (action)
Love at last 5 5 0 0 0.9 0
Romance forever 5 ? ? 0 1.0 0.01
Cute puppies of ? 4 0 ? 0.99 0
love
Nonstop car 0 0 5 4 0.1 1.0
chases
Swords vs. karate 0 0 5 ? 0 0.9

Andrew Ng
Problem motivation
Movie Alice (1) Bob (2) Carol (3) Dave (4)
(romance) (action)
Love at last 5 5 0 0 ? ?
Romance forever 5 ? ? 0 ? ?
Cute puppies of ? 4 0 ? ? ?
love
Nonstop car 0 0 5 4 ? ?
chases
Swords vs. karate 0 0 5 ? ? ?

Andrew Ng
Optimization algorithm
Given , to learn :

Given , to learn :

Andrew Ng
Collaborative filtering
Given (and movie ratings),
can estimate

Given ,
can estimate

Andrew Ng
Recommender
Systems
Collaborative
filtering algorithm
Machine Learning
Collaborative filtering optimization objective
Given , estimate :

Given , estimate :

Minimizing and simultaneously:

Andrew Ng
Collaborative filtering algorithm
1. Initialize to small random values.
2. Minimize using gradient
descent (or an advanced optimization algorithm). E.g. for
every :

3. For a user with parameters and a movie with (learned)


features , predict a star rating of .

Andrew Ng
Recommender
Systems
Vectorization:
Low rank matrix
factorization
Machine Learning
Collaborative filtering
Movie Alice (1) Bob (2) Carol (3) Dave (4)
Love at last 5 5 0 0
Romance forever 5 ? ? 0
Cute puppies of ? 4 0 ?
love
Nonstop car 0 0 5 4
chases
Swords vs. karate 0 0 5 ?

Andrew Ng
Collaborative filtering
Predicted ratings:

Andrew Ng
Finding related movies
For each product , we learn a feature vector .

How to find movies related to movie ?

5 most similar movies to movie :


Find the 5 movies with the smallest .

Andrew Ng
Recommender
Systems
Implementational
detail: Mean
normalization
Machine Learning
Users who have not rated any movies
Movie Alice (1) Bob (2) Carol (3) Dave (4) Eve (5)
Love at last 5 5 0 0 ?
Romance forever 5 ? ? 0 ?
Cute puppies of love ? 4 0 ? ?
Nonstop car chases 0 0 5 4 ?
Swords vs. karate 0 0 5 ? ?

Andrew Ng
Mean Normalization:

For user , on movie predict:

User 5 (Eve):

Andrew Ng

You might also like