Overview of common recommendation system algorithms

Source: Internet
Author: User

I have been reading the papers related to the recommendation system since I prepared my graduation thesis for a while ago. A clearer and more rational understanding of the recommendation systemAlgorithmHave a deep understanding. I would like to take this opportunity to share with you a lot of ideas.

Appearance of Recommendation System

With the development of the Internet, people are in the age of information explosion. Compared with the past lack of information, in the face of the current massive amount of information data, information screening and filtering has become an important indicator to measure the quality of a system. A system with a good user experience filters and filters massive amounts of information, and displays the most interesting information to users. This greatly increases the efficiency of the system and saves the user time to filter information.

The emergence of search engines solves the problem of Information Filtering to some extent, but it is far from enough. Search engines require users to provide keywords to filter massive amounts of information. When a user cannot accurately describe his or her needs, the filtering effect of the search engine will be greatly reduced. However, it is not easy for the user to convert their needs and intentions into keywords.

In this context, the recommendation system has emerged. The task of the Recommendation System is to solve the above problems, contact users and information, and help users find valuable information for themselves, on the other hand, information can be displayed in people who are interested in it, so as to achieve a win-win situation between information providers and users.

 

Recommendation algorithm Introduction

1. Demographic-based recommendation

This is the simplest recommendation algorithm. It simply discovers the degree of user Relevance Based on the basic information of the System user, and then recommends other items that are liked by similar users to the current user.

The system first models user attributes, such as age, gender, and interest. Calculate the similarity between users based on these features. For example, the system finds that user a and user C are similar Through computing. It will recommend a's favorite items to C.

Advantages:

A does not need historical data and has no cold start problems.

B does not rely on the properties of items, so problems in other fields can be seamlessly connected.

Disadvantages:

The algorithm is rough, and the effect is difficult to satisfy. It is only suitable for simple recommendations.

2. Content-based recommendation

Similar to the method above, this time the center is switched to the item itself. Use item similarity instead of user similarity.

The system first models the attributes of an item (an example of a movie in the figure). The type is used as the attribute in the figure. In actual application, it is obvious that the type is too rough, and more information such as actors and directors needs to be considered. Through similarity calculation, it is found that movie A and movie C have a high similarity because they all belong to the love class. The system will also find that user a prefers movie A and conclude that user a is likely to be interested in movie C. Therefore, movie C is recommended to.

Advantages:

If you are interested in the product, you can build a good model and get better recommendation accuracy by adding the item attribute dimension.

Disadvantages:

The attributes of item A are limited, so it is difficult to obtain more data effectively.

The measurement of item similarity of item B only takes into account the item itself and has a certain degree of one-sidedness.

C. The user's item's historical data is required. There is a cold start problem.

 

3. Collaborative Filtering

Collaborative Filtering is the most classic and commonly used recommendation algorithm. I have mentioned the specific ideas in a previous article. You can take a look.

Here we only want to introduce the differences between the methods in collaborative filtering and the methods mentioned above.

We all know that collaborative filtering is divided into user-based collaborative filtering and item-based collaborative filtering. So what are their differences and relationships with recommendations based on demographic statistics and content-based recommendations? The following is a brief introduction.

User-based collaborative filtering-demographic-based recommendation

User-based collaborative filtering recommendation mechanism and demographic-based recommendation mechanism both calculate user similarity and calculate recommendations based on the "Neighbor" user group, however, what they differ from is how to calculate user similarity. Based on the demographic mechanism, only the characteristics of users are taken into account, however, the user-based collaborative filtering mechanism computes user similarity on the user's historical preference data. Its basic assumption is, users who like similar items may have the same or similar tastes and preferences.

Item-based collaborative filtering-Content-based recommendation

Project-based collaborative filtering recommendation and content-based recommendation are both item similarity-based prediction recommendations, but the similarity calculation method is different. The former is derived from the user's preference history, the latter is based on the attribute feature information of the item itself.

Advantages of collaborative filtering:

A. It does not need to strictly model items or users, and does not require item descriptions to be understandable by machines. Therefore, this method is also irrelevant to the field.

B. The recommendation calculated in this way is open and can share the experience of others. It is good for users to discover potential interests and preferences.

Disadvantages:

The core of method A is based on historical data, so there is a "Cold Start" problem for new items and new users.

The recommendation result of B depends on the quantity and accuracy of the user's historical preference data.

C. In most implementations, the user's historical preferences are stored using the sparse matrix, while the computing on the sparse matrix is obviously problematic, including the possibility that a small number of people may have a great impact on the accuracy of recommendations.

D. users with special tastes are not recommended.

E This method is not flexible enough because it is difficult to modify or evolve based on the user's Usage After capturing and modeling users' preferences based on historical data.

 

4. Hybrid recommendation algorithm

The methods described above are the most common methods in the recommendation field. But we can see that every method is not perfect. Therefore, in practical applications, systems such as Amazon use various recommendation algorithms in a hybrid manner. Therefore, when using this algorithm, we can also consider under what circumstances which algorithm is more suitable for use to improve the efficiency of our system.

 

Development Direction of Recommendation Systems

1. We need to consider increasing the diversity of recommendations while ensuring the accuracy of recommendations, so that users with special preferences can be recommended.

2. Users must consider real-time feedback to the system to better use the feedback data to strengthen the recommendation algorithm.

3. take into account factors such as time, space, and task to better complete the recommendation.

You are welcome to make a brick ~ For more information, see http://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy1/index.html

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.