SVD (Matrix Factorization)
info
This is a preview of the new Shaped docs. Found an issue or have feedback? Let us know!
Description
The SVD (Singular Value Decomposition) policy implements matrix factorization, often referring to iterative algorithms inspired by SVD used for collaborative filtering (like Funk SVD or SVD++). It decomposes the user-item interaction matrix into latent factors and potentially incorporates user/item biases (mean-centering tendencies) to improve prediction accuracy. It's typically trained using optimization techniques like Stochastic Gradient Descent (SGD).
Policy Type: svd
Supports: embedding_policy, scoring_policy
Configuration Example
embedding_policy_svd.yaml
policy_configs:
embedding_policy: # Can also be used under scoring
policy_type: svd
n_factors: 100 # Number of latent factors
n_epochs: 20 # Number of training iterations (epochs) for SGD
biased: true # Whether to include user/item bias terms
lr_all: 0.005 # Learning rate for SGD
reg_all: 0.02 # Regularization strength for SG
References
- Koren, Y. (2008). Factorization Meets the Neighborhood: A Multifaceted Collaborative Filtering Model. KDD. (Introduced SVD++ which includes biases and implicit influence).
- Funk, S. (2006). Netflix Update: Try This at Home. Blog post. (Popularized iterative matrix factorization with SGD for the Netflix Prize).