In this chapter, we studied a new type of machine learning algorithm called collaborative filtering. This algorithm is used in recommendation systems. We looked at memory-based approaches that use similarity measures to find users similar to a given user and discover recommendations based on the collective interests of the top-ranked similar users. We also studied a model-based approach called matrix factorization, which maps users and interests to latent factors and generates recommendations based on these factors. We also studied the implementations of various collaborative filtering approaches in Apache Spark and SageMaker.
In the next chapter, we will focus on a very popular topic: deep learning. We will cover the theory behind this advanced field as well as a few modern applications.