I'm reading the SVD++ Netflix Recommender Systems paper because I want to be able to properly assess this approach to building a recommender system.

How should I choose the initial values of $q_i$ and $p_u$ in the SGD equation below (and why is the proposed initialization technique expected to yield a faster convergence rate)?

  • $e_{ui}$ is the associated prediction error
  • $q_i^T\cdot p_u$ yields a rating prediction from user $u$ to item $i$
  • $r_{ui}$ is a known user to item ranking from user $u$ to item $i$
  • $p_u$ is user $u$'s latent factors vector
  • $q_i$ is item $i$'s latent factors vector
  • $\gamma$ is the learning rate constant
  • $\lambda$ is also a constant value

$$ e_{ui} := r_{ui} - q^T_i\cdot p_u $$ $$ q_i \leftarrow q_i + \gamma\cdot(e_{ui}\cdot p_u - \lambda\cdot q_i) $$ $$ p_u \leftarrow p_u + \gamma\cdot(e_{ui}\cdot q_i - \lambda\cdot p_u) $$

The above calculations are run iteratively until convergence upon a minimized $e_{ui}$ value.


1 Answer 1


Initial values of $q_i$ and $p_u$ are just random values. Since they represent unknown latent factors, it is not possible to choose them in some predefined meaningful way to accelerate convergence.

By the way, the paper you are citing is not SVD++ paper, but a general review. The correct reference for SVD++ is Factorization Meets The Neighborhood paper


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.