I have a sparse matrix. There is lots of missing data. Hence, I can't use SVD naively.
I read Koren's SVD++ paper. I'm confused as to how the $q_i$ and $p_u$ vectors are determined. $q_i^Tp_u$ is supposed to capture the interactions between user $u$ and item $i$ (plus some biases). I just don't see how to calculate what $q_i$ and $p_u$ are supposed to be. The most natural things would be to use SVD but you can't since it has missing data.