To learn more about recommender systems and machine learning use the following references:
The Recommender Systems: An Introduction by Dietmar Jannach, Markus Zanker, Alexander Felfernig, and Gerhard Friedrich
Recommender Systems Handbook by Francesco Ricci, Lior Rokach, Bracha Shapira, and Paul B. Kantor
An Introduction to Statistical Learning with Applications in R by Gareth James, Daniela Witten, Trevor Hastie, and Robert Tibshirani
The online course, Machine Learning, by Andrew NG at https://www.coursera.org/