Humans need recommendation since childhood, he needs to know what is good for him, like where and how he spends his holidays, which food is good for him, what subjects are best for him, what are best colleges, etc..
In terms of implementation we can divide it into two categories:
Memory-based: Use Statistical tool like distancing measurement
Model-based: use predefined classification and regression model
In terms of Approaches, we divide the recommendation system into two categories:
- Collaborative filtering
Content-based technique tries to figure out what a user’s favorite aspects of an item are and then recommends items that present those aspects.
A content-based recommendation system tries to recommend items to the users based on their profiles. The model doesn’t need any data about other users since the recommendations are specific to this user. This makes it easier to scale to a large number of users.
The model can only make recommendations based on the existing interests of the user. In other words, the model has a limited ability to expand on the users’ existing interests. Eg, If user A watches two cute rabbit videos, then the system can recommend cute animal videos to that user.
Collaborative filtering has basically two approaches: user-based and item-based. User-based collaborative filtering is based on user similarity or neighborhood. Item-based collaborative filtering is based on similarity among items.
For example, movies that similar users have rated highly. Then it uses the ratings from these similar users to predict the possible ratings by the active user for a movie that she had not previously watched. For instance, if two users are similar or are neighbors in terms of their interested movies, we can recommend a movie to the active user that her neighbor has already seen.
If user A is similar to user B, and user B likes video 1, then the system can recommend video 1 to user A (even if user A hasn’t seen any videos similar to video 1).
Collaborative filtering is a very effective recommendation system. However, there are some challenges with it as well.
- Data Sparcity
- Cod Start
Work in progress……