Recommendation System Types and Their Features
Depending on the architecture of a software product, data structure, and the analysis method, there are a few types of recommendation systems. The biggest ones are:
- non-personalized;
- collaborative filtering;
- mixed.
Non-Personalized Recommendation Systems
This is the simplest system of all the available algorithms. The systems working by it recommend the product by the following principle: if everyone likes it, you will like it as well.
Such an approach is not very precise and the results are quite questionable and not precise at all, as the system often shows completely irrelevant items. This algorithm is suitable for the systems that do not require user registration or that are used in addition to the other algorithm. Non-personalized recommendations are mostly used to provide recommendations for first-time users when the system knows nothing about their preferences yet.
Collaborative Filtering
This is the most popular system, which began developing in the 90ies. With collaborative filtering, recommendations are calculated on the basis of related users or items.
The results are achieved by a cooperative comparison of multiple users and turn out to be very precise and accurate.
Even though the use of this method delivers very good results, its practical realization is quite complex due to the big number of calculations that are needed to search for similar users. This is related to the high asymptotic complexity of the algorithm which is an indicator of the algorithm’s efficiency. This, in turn, leads to the rapid growth of memory consumption and computational power. Such an approach is not very stable in relation to the dynamic systems and can be used for static systems only, like looking for food matching.

Luckily, there is a quicker algorithm to implement ? mathematical model, which became really popular in recent years. This algorithm is matrix factorization. This approach is based on the theorem that any matrix can be displayed by the composition of two others. In the
ML recommendation systems would be the user matrix and the object matrix. Each of these matrices displays the special aspects of the users or the objects. Such an approach is considered incredibly efficient as it can precisely identify the “hidden” wishes of the users and delivers really precise results. For now, matrix factorization is one of the most efficient ways to implement recommendations.
Mixed Recommendations
In practice, the use of one algorithm for creating a deep learning recommendation system will not deliver the needed result so it’s better to use mixed recommendations to solve problems that are related to a certain algorithm type.
Any system that is based on Machine Learning principles demands initial data to teach the weighting factors. With the lack or absence of the data, the system will not be able to deliver results. In recommendation systems, this problem is known under the “cold start” name. Each algorithm requires a certain set of data, needed for proper work. The problem appears upon launching the service in production when the number of users is minimal and the used algorithms are not applicable. There are a few solutions to the problem. First, the items can be recommended by the date of adding to the cart or randomly choosing from the whole item set, hoping the user will like some of them. Second, the system can be started after the service works for a while and there will be enough data to analyze.
