If you are a beginner and have zero knowledge about recommendation systems and how they work then you my friend are at the right place. In this article, we are going to discuss what recommendation systems are, their types and how they work. I’ll try to make the article a bit easy to understand for both the audiences, who have basic knowledge, and those who don’t have any knowledge about recommendation systems.
Let’s start with a very basic introduction to these systems.
Recommendation systems are basically designed to recommend things to users based on features. These systems predict those products which most likely a user will buy or must have an interest in. In simple words, a recommendation system is an algorithm that suggests relevant items to the users.
If we take an example of Netflix, that’s how its recommendation system works. We often get a list of movies from Netflix to watch, this information is completely based on these systems.
Now you have a basic understanding of recommendation systems, let’s talk about their types of it. There are mainly two types of recommendation systems namely:
Types of recommendation systems
- Content-Based Filtering
- Collaborative Based Filtering
This type of recommendation system is specific to a single user and the recommendations in this system are made using the user’s past history, user’s profile features, or the user’s explicit feedback. Such systems work in a way that if a user was interested in an item in the past, he will once again be interested in it in the future.
Let’s take the example of amazon which uses content based filtering for recommending products to users by showing a list of similar products which are sorted by some similarity algorithm.
Now, we will discuss the pros and cons of it, to make it easier for the users to decide what type of recommendation systems to choose,
Pros of Content-Based Filtering:
- Recommendations are specific to a single user, the system doesn’t need data of other users.
- Recommendations are highly relevant to the user.
- Easy to implement for a large number of users.
Cons of Content-Based Filtering:
- The system can never recommend something out of the box to the user such as the user must be interested in but he hasn’t bought it before.
- The process of item/product feature representation is hand engineered to some extent that makes this approach not fully automated.
Now after knowing what is basically Content-Based Filtering and its pros and cons, Let’s dig into the second type of recommendation system…
Collaborative Based Filtering
This type of recommendation system works in such a way that it recommends new items to the users based on other similar user’s interests and preferences. Like in Collaborative Based Filtering, the system makes clusters of users and items and recommends people or items based on similarities.
Let’s consider the example of Amazon as it uses Collaborative Based Filtering to recommend products to the users in such a way that users who bought this also bought this.
It is divided into two subtypes which are:
Subtypes of Collaborative Based Filtering
- User-Based Collaborative Filtering
- Item-Based Collaborative Filtering
We will explain both of these types one by one along with describing when to use which one,
User-Based Collaborative Filtering:
In user-based collaborative filtering recommendations are made based on the similarity of users. And users’ similarity is calculated through the items the user preferred or not. Like people who like a lot of the same stuff would also like the other stuff which you like.
Let’s understand this with the help of an example shown in the image below, you
Based on the image above, let’s assume that User A purchased all 4 fruits, User B purchased only strawberries whereas User C purchased strawberries and watermelon. So here we will consider that User A & User C are similar users and based on this similarity the system will recommend Grapes and Orange to User C as shown with the dotted line.
Item-Based Collaborative Filtering:
In item-based collaborative filtering, recommendations are made based on the similarity of items. Item-to-item similarity is calculated using the ratings users gave to the items. Like items which have the most similar features and ratings are clustered together as similar items.
Let’s understand this with the help of an example shown in the image below,
Let’s compare the above image with an example as defined above about users and items. Here the only difference is that we see similar items, not similar users like if you see grapes and watermelon you will realize that watermelon is purchased by all the children but grapes are purchased by only Children A and B. Therefore grapes are being recommended to Children C.
Now you must be wondering when to use which type of Collaborative Filtering, So let’s make it simple,
- Use User-based collaborative filtering when the No. of items is greater than No. of users.
- Use Item-based collaborative filtering when the No. of users is greater than No. of items.
As above we had discuss the pros and cons of Content based filtering, Now we will also discuss it for Collaborative-Based Filtering,
Pros of Collaborative-Based Filtering:
- This system helps the users to discover a new interest by recommending new products liked by similar users.
- It performs pretty well even if the data is very small.
- Doesn’t require much domain knowledge.
Cons of Collaborative-Based Filtering:
- The system finds it difficult to handle new items because the model doesn’t get trained on the newly added items in the database. This problem is known as the Cold Start Problem.
- Problem with new users and new products.
- Needs lots of data to perform good recommendations.
Sum Up of All
In this article we have covered many topics related to recommendation systems like What are these, and how they work with the help of examples. We have also discussed different types of it which are content-based filtering and collaborative based filtering and also sub-types of collaborative filtering namely user-based and item-based along with examples, pros and cons, and when to use which type of these systems.
Hopefully, today you have learned the basics of an interesting and the most hyped topic in AI nowadays. Cheers!!