Algorithm.
Collaborative filtering is one of the most popular techniques used in recommender systems. It is based on the idea that users who agreed in the past will agree in the future, and that they will like similar kinds of items as they liked in the past.
Collaborative filtering is a method of making automatic predictions (filtering) about the interests of a user by collecting preferences from many users (collaborating). The underlying assumption of the collaborative filtering approach is that if a person A has the same opinion as a person B on an issue, A is more likely to have B's opinion on a different issue.
User-User Collaborative Filtering is one of the most common techniques used in collaborative filtering. In this method, we find look-alike customers (based on similarity) and offer products based on what the look-alike customers have liked. This method follows the step of finding every pair of users who have bought the same product, measure the similarity of their buying history, and recommend products based on that similarity calculation.
Item-Item Collaborative Filtering, on the other hand, is a form of collaborative filtering for recommender systems based on the similarity between items calculated using people's ratings of those items. This method is more reliable than user-user collaborative filtering, as the average rating received by an item doesn't change as quickly as the average rating given by a user to different items.
Matrix factorization is a class of collaborative filtering algorithms used in recommender systems. Matrix factorization algorithms work by decomposing the user-item interaction matrix into the product of two lower dimensionality rectangular matrices. This method is usually more effective because it allows users to discover the latent (hidden) features underlying the interactions between users and items.
Collaborative filtering has several advantages. It doesn't need any information about the items, making it easy to implement across multiple domains. It can also recommend items to users based on the preferences of similar users, which can often lead to effective recommendations.
However, collaborative filtering also has some disadvantages. It suffers from the cold start problem, which means it can't recommend items to new users or recommend new items. It also has scalability issues as the number of users and items grow. Lastly, it can only make recommendations based on existing interests of users and has difficulty recommending items outside of those interests.
In conclusion, collaborative filtering is a powerful technique in recommender systems, but it also has its limitations. Understanding these strengths and weaknesses can help in designing more effective recommender systems.