Traditional Recommendation System
- Most recommendation systems nowadays are still using traditional methods. This repo introduces these old-fashioned methods and gives in-depth information about these systems. The slide is translated and based on the book Social Data Mining. Notebook is also provided for demonstration
⭐ Content-based Recommendation System
- Vectorize items using TF-IDF
- Compute cosine similarity between all items
- Recommend top most similar items with query item
⭐ Colaborative Filtering (CF)
- CF uses only User-Item matrix, require no other item's information.
- CF consist of two types:
- Memory-based
- Model-based
➡️ Memory-based: Item-based Recommendation
- To predict rating of user U for item I:
- Use vector V_ui from User-Item matrix
- Compute cosine similarity between all V_ui
- Use k-nearest neighbors V_uj, similar to V_ui
- Compute predicted score based on ratings of k neighbors
➡️ Model-based: Low-rank approximation using SVD decomposition
- To predict rating of user U for item I:
- Use SVD decomposition to factorize User-Item matrix into U, Sigma, V
- Apply Eckart–Young–Mirsky theorem (Frobenius norm) to get U_k, Sigma_k, V_k
- Get A_k = U_k · Sigma_k · V_k
- Use A_k for predicting ratings
Resources
-
Slide: link