Adaptive Matrix Factorization