Non-negative matrix factorisation

Non-negative matrix factorisation


The recommendation problem

We have a collection of users and a collection of products. We want to recommend products to customers.

Once a customer “consumes” something, we get feedback. however for vast majority of items, not consumed. goal: predict feedback score beforehand to make good recommendations.

We have a matrix of how much each customer “likes” things. however this is v sparce.


Content filtering

We have metadata on customers and products. Eg stated preferences, genres, actors etc.

We use this to create recommendations.

Collaborative filtering

We look at the actions of customers. We then recommend things based on customers who are similar.

Doesn’t need stated preferences, or metadata on content.

Needs data on customers (behavours, etc)

2 steps:

  • Look for similar users

  • Use ratings from those users to make predictions for missing items

Cold start

When you start you have no data on views. This is the cold start problem.