SGD-based matrix factorization