9.1 Types of collaborative filtering

In this exercise, we will see many types of CF methods. I briefly describe this methods below.

  1. User-based collaborative filtering (UBCF): UBCF relies on the assumption that users with similar preferences in the past will have similar preferences in the future. Thus, if we know that two users have given very similar ratings to a set of movies, we can use the movie rating from one user to predict the rating from the second user on a yet unseen movie.

  2. Item-based collaborative filtering (IBCF): IBCF relies on the assumption that a user will prefer an item which is similar to the items they have previously liked. For instance, if you like comedies, IBCF will recommend you more comedies in future.

  3. Popularity based collaborative filtering: In this case CF simply recommends a list of popular items. These recommendations are not tailored to any specific user.

  4. Singular Value Decomposition based collaborative filtering (SVD): CF using SVD are not exactly using SVD but instead they are using a method that is quite similar to SVD. SVD is a matrix factorization method, which can be used for dimensionality reduction. SVD based CF identifies latent factors that group similar users and similar items. This reduces the burden on recommender dealing with really large amounts of data. Consider that Netflix has hundreds of millions of users and thousands if not millions of movie and show titles.

In 2006, Netflix ran a recommender contest with $1 million first prize. The contest led to a lot of enhancement in collaborative filtering methods. One such enhancement is Funk SVD due to Simon Funk.50 You can read a simplified explanation on this Medium blog. Luckily recommenderlab implements Funk SVD as well.