Matrix Factorization for Content Recommendations

with TensorFlow

First world Netflix problems...

Content Filtering

vs

Collaborative Filtering

Content Filtering

Content Filtering

vs

Collaborative Filtering

Collaborative Filtering

Use past user behavior to predict future preferences. "Collaborative" because users collaborate to fill in the gaps.

Neighborhood methods

vs

Latent factor models

Neighborhood methods

Recommend based on similarity of users.

E.g. if Bob has rated items x, y and z highly, find other users who have rated those items highly and see what else they like, then recommend to Bob those with the most agreement among the other users.

(Image source)

Neighborhood methods

vs

Latent factor models

Latent factor models

Learn hidden features in items and users that interact in such a way as to produce the ratings we've seen.

Ratings matrices are sparse

Matrix Factorization

Matrix Factorization

Matrix Factorization

Why use TensorFlow?

How?

Sparse representation

Create factors

Create factors

Extract result

Calculate cost

Regularization

Shrink the learned factor values by adding the sum of their squares times some lambda parameter to the base cost.

What about mean and bias?

Global mean

The mean rating can be added on to the multiplication result at the end (before calculating cost) - or the data can be centered by subtracting the mean before training (and evaluating against the centered ratings.)

Learning user bias

Learning item bias

with user bias held fixed

Putting it together

Tensors with different learnable components

Can haz code?

Next Steps

Random Stuff

Resources

Questions? :)

SpaceForward
Right, Down, Page DownNext slide
Left, Up, Page UpPrevious slide
POpen presenter console
HToggle this help