Scaling Collaborative Filtering with PETSc
Alister Johnson
Committee: Allen Malony (chair), Hank Childs, Daniel Lowd
Directed Research Project(Mar 2019)
Keywords: recommender systems, PETSc, alternating least squares, collaborative filtering

Machine learning and recommendation systems have become extremely popular and widely used in recent years, with several major companies using recommenders to help their users sort through the vast array of products offered. Naturally, we want these recommender systems to give accurate predictions of products a user might like, but we also want these predictions quickly, based on the user's past preferences and newer preferences they may have just expressed. Many recommendation algorithms have been created, including neural networks, nearest neighbor algorithms, and various latent factor models. While neural networks have received the most attention lately, these other algorithms can produce results that are just as accurate, and in many cases better understood. This project explores how an optimized, highly scalable recommendation system can be written using scientific libraries and the scalability of such a system by implementing implicit alternating least squares with PETSc.