# Evolving Matrix-Factorization-Based Collaborative Filtering Using Genetic Programming
## 1 Introduction  
In the digital world in which we currently live, we are constantly flooded with large amounts of information that we are unable to assimilate. Faced with such a large amount of information, those systems capable of filtering and customizing it for each user have become increasingly important in recent years. It was in this context that the Recommender Systems (RSs) were born, which have become popular in the scientific community if we look at the wide range of publications related to them [1; 2; 3; 4]. A RS is a subcategory of the information filtering process that aims to estimate the judgment or opinion that a customer might offer to an item. Whether it is generating playlists for Spotify, recommending products to buy on Amazon, or suggesting the next series you will see on Netflix, RSs are a part of our daily lives. In other words, a RS should be defined as an intelligent system capable of providing each user with a personalized list of products or services that may be of interest [5; 6]. These systems base their functionality on the information they acquire from their users [7]. A RS might gather information from the user explicitly, i.e., collecting users' ratings, or implicitly, i.e., analyzing the users' behavior. Moreover, additional data such as demographic information and social network relationships might be included to improve the performance of the system. Out of all the dynamics that rule the functioning of a RS, such as the type of data it feeds on, the approach used--like probabilistic, Bayesian or bio-inspired--and whether the system is memoryor model-based. The process that has the highest impact on the performance is the filtering and, therefore, the algorithm used for it. One of the most widely used filtering techniques is Collaborative Filtering (CF) [8; 9; 10]. The basis of such algorithms is matching people based on similar interests. To do so, these techniques collect human ratings (also known as judgments) for items in a given domain and then match together those people who share the same preferences or inclinations. Users of a CF system distribute their opinions and ratings on each item they use in a way that other users of the system are able to make an informed decision on which items to buy, consume, or use. There are several implementations of CF, with Matrix Factorization (MF) being one of the most popular families [11; 12]. This family of implementations, which achieves both predictive accuracy and good scalability, models both users and items as vectors of factors inferred from item rating patterns. This way, high coincidence between item and user factors brings the system to a recommendation. In the last years, the scientific community has focused its efforts on investigating new ways of improving MF to achieve good performance of the RS. In this spirit, several new MF methods has been proposed recently. Each of these new proposals postulate hypotheses about how the users of the RS interact with the items. However, these hypotheses are formulated based on the previous knowledge that the researchers may have on the particular domain of applicability, such as consumption habits or dynamics of the interest of users. Hence, in order to tackle the linearity hypothesis presented in the MF methods, the researchers modified the underlying probabilistic assumptions to add nonlinear adjustments introduced ad hoc. Therefore, the newly built recommendation models, based on the expertise of their creator, are intrinsically biased. In order to overcome this problem, in this paper, we take the first steps towards the automatic generation of MF models through the use of Genetic Programming (GP), an optimization algorithm belonging to the family of evolutionary computing. Instead of introducing our previous knowledge to the MF model, we let GP extract the required knowledge from the data to build the MF model. In this way, the main contribution of this paper is to stress this idea by showing the feasibility of using GP to provide an efficient search method on the space of MFs.