Setup¶
- Items: movies, songs, products, etc. (often many thousands)
- Users: watchers, listeners, purchasers, etc. (often many millions)
- Feedback: 5-star ratings, not -clicking ‘next’, purchases, etc.
Key Assumptions¶
- Can represent ratings numerically as a user/item matrix
- Users only rate a small number of items (the matrix is sparse)
Two Types of Recommender Systems: 1. Content Filtering 2. Collaborative Filtering
Content Filtering¶
- Example: Pandora.com music recommendations (Music Genome Project)
- Con: Assumes access to side information about items (e.g. properties of a song)
- Pro: Got a new item to add? No problem, just be sure to include the side information
Collaborative Filtering¶
- Example: Netflix movie recommendations
- Pro: Does not assume access to side information about items (e.g. does not need to know about movie genres)
- Con: Does not work on new items that have no ratings
- Common insight: personal tastes are correlated
- If Alice and Bob both like X and Alice likes Y then Bob is more likely to like Y, especially (perhaps) if Bob knows Alice
Two Types of Collaborative Filtering 1. Neighborhood Methods 2. Latent Factor Methods
Neighborhood Methods¶
![[Screen Shot 2024-04-28 at 18.51.04.png]]
Latent Factor Methods¶
![[Screen Shot 2024-04-28 at 18.51.38.png]]
Matrix Factorization¶
- Many different ways of factorizing a matrix
- Unconstrained Matrix Factorization
- Singular Value Decomposition
- Non-negative Matrix Factorization
- MF is just another example of a common recipe: 1. define a model 2. define an objective function 3. optimize with SGD
Low-rank Matrix Factorization¶
![[Screen Shot 2024-04-28 at 18.53.13.png]]
Regression vs. Collaborative Filtering¶
![[Screen Shot 2024-04-28 at 18.58.16.png]]
Unconstrained Matrix Factorization¶
![[Screen Shot 2024-04-28 at 18.58.49.png]] ![[Screen Shot 2024-04-28 at 19.00.08.png]]
![[Screen Shot 2024-04-28 at 19.00.36.png]] ![[Screen Shot 2024-04-28 at 19.00.49.png]]