Skip to main content

SVD (Matrix Factorization)

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