Skip to main content

ALS (Matrix Factorization)

Description

The ALS (Alternating Least Squares) policy implements matrix factorization for collaborative filtering, particularly well-suited for implicit feedback datasets. It decomposes the user-item interaction matrix into user and item latent factor matrices (P and Q) by iteratively solving regularized least squares problems, alternating between fixing P and solving for Q, then fixing Q and solving for P. It commonly incorporates confidence weighting (like BM25 or a linear weighting scheme) to handle implicit feedback where observed interactions have higher confidence than unobserved ones.

Policy Type: als Supports: embedding_policy, scoring_policy

Configuration Example

embedding_policy_als.yaml
policy_configs:
embedding_policy: # Can also be used under scoring_policy
policy_type: als
factors: 64 # Number of latent factors (embedding dimension)
regularization: 0.1 # Regularization parameter (lambda)
iterations: 15 # Number of ALS iterations
# Implicit Feedback Handling
bm25: true # Whether to use BM25 weighting (alternative: simple alpha weighting)
bm25_k1: 1.2 # BM25 k1 parameter (if bm25=true)
bm25_b: 0.75 # BM25 b parameter (if bm25=true)

Reference

  • Hu, Y., Koren, Y., & Volinsky, C. (2008). Collaborative Filtering for Implicit Feedback Datasets. ICDM.
  • Takács, G., et al. (2011). Applications of the Stochastic Gradient Descent Method for Matrix Factorization in Recommendation Systems. RecSys. (Though ALS is distinct, SGD is another common MF solver).