Knowledge-Based Systems 24(2011)1310-1316 Contents lists available at Science Direct Knowledge-Based Systems ELSEVIER journalhomepagewww.elsevier.com/locate/knosys Improving collaborative filtering recommender system results and performance using genetic algorithms Jesus Bobadilla* Fernando Ortega, Antonio Hernando, Javier alcala Universidad politecnica de Madrid, Computer Science, Crta. De valencia, Km 7, 28031 Madrid, Spain ARTICLE INFO ABSTRACT This paper presents a metric to measure similarity between users, which is applicable in collaborative fil- Received 18 October 2010 tering processes carried out in recommender systems. The proposed metric is formulated via a simple li eceived in revised form 30 March 2011 ear combination of values and weights. values are calculated for each pair of users between which tl Available online 15 June 2011 similarity is obtained, whilst weights are only calculated once, making use of a prior stage in which a genetic algorithm extracts weightings from the recommender system which depend on the specific nat- ure of the data from each recommender system. The results obtained present significant improvements in collaborative filtering prediction quality. recommendation quality and performance. ecommender systems e 2011 Elsevier B V. All rights reserved. Genetic algorithms 1 Introduction Currently, the fast increase of Web 2.0[18, 23 has led to the proliferation of collaborative websites in which the number of ele- The basic principle of recommender systems(RS)is the expe ments that can be recommended (e.g. blogs)can increase signifi tation that the group of users similar to one given user, (i.e. those cantly when introduced (and not only voted)by the users, which that have rated an important number of elements in a similar way generates new challenges for researchers in the field of rs, at the to the user) can be used to adequately predict that individuals rat- same time as it increases the possibilities and importance of these ings on products the user has no knowledge of This way, a trip to information retrieval technique Senegal could be recommended to an individual who has rated dif- The core of a RS is its filtering algorithms: demographic filtering ferent destinations in the Caribbean very highly, based on the [20 and content-based filtering [21] are the most basic tech- positive ratings about the holiday destination of"Senegal"of an niques: the first is established on the assumption that individuals mportant number of individuals who also rated destinations in with certain common personal attributes(sex, age, country, etc.) the Caribbean very highly. This suggestion(recommendation) will will also have common preferences, whilst content-based filtering often provide the user of the service with inspiring information recommends items similar to the ones the user preferred in the from the collective knowledge of all other users of the service. t. Currently, collaborative filtering(CF)is the most commonly In recent years, RS have played an important role in reducing used and studied technique [ 12, 24. it is based on the principle the negative impact of information overload on those websites set out in the first paragraph of this section, in which in order to where users have the possibility of voting for their preferences make a recommendation to a given user, it first searches for the on a series of articles or services. Movie recommendation websites users of the system who have voted in the most similar way to this are probably the most well-known cases to users and are without a user, to later make the recommendations by taking the items(holi doubt the most well studied by researchers [19, 4, 22], although day destinations in our running example)most highly valued by there are many other fields in which RS have great and increasing the majority of their similar users. mportance, such as e-commerce[15]. e-learning [9, 5] and digital The most significant part of CF algorithms refers to the group of libraries [26, 27. metrics used to determine the similitude between each pair of users [14, 1.7], among which the Pearson correlation metric stands out as a reference Corresponding author. Tel. +34 913365133: fax: +34 913367522. Genetic algorithms (GA) ainly been used in two aspects E-mail addresses: jesus. bobadillaeupmes OL Bobadilla). fortegarequenaegmail of RS: clustering (16, 17, 28) and hybrid user models [10, 13, 2J. A com(F Ortega). ahernadoeeui upmes(A Hernando). jalcalaceui upmes(. Alcala). common technique to improve the features of Rs consists of oi: 10.1016(. knosys. 2011.06006 2011 Elsevier B.V.All rights reserved. 0950-7051s
Improving collaborative filtering recommender system results and performance using genetic algorithms Jesus Bobadilla ⇑,1 , Fernando Ortega, Antonio Hernando, Javier Alcalá Universidad Politécnica de Madrid, Computer Science, Crta. De Valencia, Km 7, 28031 Madrid, Spain article info Article history: Received 18 October 2010 Received in revised form 30 March 2011 Accepted 7 June 2011 Available online 15 June 2011 Keywords: Collaborative filtering Recommender systems Similarity measures Metrics Genetic algorithms Performance abstract This paper presents a metric to measure similarity between users, which is applicable in collaborative filtering processes carried out in recommender systems. The proposed metric is formulated via a simple linear combination of values and weights. Values are calculated for each pair of users between which the similarity is obtained, whilst weights are only calculated once, making use of a prior stage in which a genetic algorithm extracts weightings from the recommender system which depend on the specific nature of the data from each recommender system. The results obtained present significant improvements in prediction quality, recommendation quality and performance. 2011 Elsevier B.V. All rights reserved. 1. Introduction The basic principle of recommender systems (RS) is the expectation that the group of users similar to one given user, (i.e. those that have rated an important number of elements in a similar way to the user) can be used to adequately predict that individual’s ratings on products the user has no knowledge of. This way, a trip to Senegal could be recommended to an individual who has rated different destinations in the Caribbean very highly, based on the positive ratings about the holiday destination of ‘‘Senegal’’ of an important number of individuals who also rated destinations in the Caribbean very highly. This suggestion (recommendation) will often provide the user of the service with inspiring information from the collective knowledge of all other users of the service. In recent years, RS have played an important role in reducing the negative impact of information overload on those websites where users have the possibility of voting for their preferences on a series of articles or services. Movie recommendation websites are probably the most well-known cases to users and are without a doubt the most well studied by researchers [19,4,22], although there are many other fields in which RS have great and increasing importance, such as e-commerce [15], e-learning [9,5] and digital libraries [26,27]. Currently, the fast increase of Web 2.0 [18,23] has led to the proliferation of collaborative websites in which the number of elements that can be recommended (e.g. blogs) can increase signifi- cantly when introduced (and not only voted) by the users, which generates new challenges for researchers in the field of RS, at the same time as it increases the possibilities and importance of these information retrieval techniques. The core of a RS is its filtering algorithms: demographic filtering [20] and content-based filtering [21] are the most basic techniques; the first is established on the assumption that individuals with certain common personal attributes (sex, age, country, etc.) will also have common preferences, whilst content-based filtering recommends items similar to the ones the user preferred in the past. Currently, collaborative filtering (CF) is the most commonly used and studied technique [12,24], it is based on the principle set out in the first paragraph of this section, in which in order to make a recommendation to a given user, it first searches for the users of the system who have voted in the most similar way to this user, to later make the recommendations by taking the items (holiday destinations in our running example) most highly valued by the majority of their similar users. The most significant part of CF algorithms refers to the group of metrics used to determine the similitude between each pair of users [14,1,7], among which the Pearson correlation metric stands out as a reference. Genetic algorithms (GA) have mainly been used in two aspects of RS: clustering [16,17,28] and hybrid user models [10,13,2]. A common technique to improve the features of RS consists of 0950-7051/$ - see front matter 2011 Elsevier B.V. All rights reserved. doi:10.1016/j.knosys.2011.06.005 ⇑ Corresponding author. Tel.: +34 913365133; fax: +34 913367522. E-mail addresses: jesus.bobadilla@upm.es (J. Bobadilla), fortegarequena@gmail. com (F. Ortega), ahernado@eui.upm.es (A. Hernando), jalcala@eui.upm.es (J. Alcalá). 1 Universidad Politécnica de Madrid & FilmAffinity.com research team. Knowledge-Based Systems 24 (2011) 1310–1316 Contents lists available at ScienceDirect Knowledge-Based Systems journal homepage: www.elsevier.com/locate/knosys
J. Bobadilla et al/ Knowledge-Based Systems 24(2011)1310-1316 131 initially carrying out a clustering on all of the users, in such a way absolute difference between the ratings of both users hat a group of classes of similar users is obtained, after this, the (- 1. to the number of items rated by both users That esired Cf techniques can be applied to each of the clusters, obtain- ing similar results but in much shorter calculation times; these is to say, viy=a /b where b is the number of items rated by both cases use common genetic clustering algorithms such as GA-based users, and a is the number of items rated by both users over which K-means [17. the absolute difference in the ratings of both users is i. he Rs hybrid user models commonly use a combination of CF In this way, the vector vi.2 for the previous example is the fol- with demographic filtering or CF with content based filtering, to wing gust observe that there are only 5 items rated by both users exploit merits of each one of these techniques. In these cases, the 1 and 2) chromosome structure can easily contain the demographic charac- teristics and or those related to content-based filtering. 12=(1/5.1/52/5,1/5.0) he method proposed in the article uses GA, but with the advantage that it does not require the additional information pre All components of the vector v1.2 are divided into 5 since there are 5 vided by the hybrid user models, and therefore, it can be used in items rated by both users. The component vk.y represents the ratio of the current RS, simply based on CF techniques. This is due to the of items which both users rated identically to the number of items fact that our method only uses the rating of users(which is the ted by both users. In the previous example, vl2=1/5. since there least possible information in any RS). is only one item( the item 1) which both users have rated identically he following section defines the proposed method( GA-meth- (that is to say. i)-r2l=O). In the same way. vAy-m)represents ssing required using GA, after this, we pres- the ratio of items rated in opposite way by both users, to the num- nt the sections which specify the design of experiments carried ber of items rated by both users. In the previous exampl out and the results obtained, finally we list the most relevant con- v M-m)=v i=0/5=0, since there are no items rated with values clusions from this study 5 and 1 (the highest difference in ratings) by the users 1 and 2. In the example above, vRy=2/5. since there are exactly two items, item 2 and item 9. such that The fundamental objective is to improve the results of CF by obtaining a metric that improves the accuracy [12,7, 11, 8 of CF based RS. For this purpose, after a series of experiments carried 2.2. Similarity out on different metrics, different levels of sparsity [25,6] and dif- ferent databases, we have obtained an original, simple and efficient We will consider a family of similarity functions. For each ve approach which improves the usual results obtained in RS tor w=(wo),., M-m)whose components lie in the range [-1. 1](that is to say, wE[-1, 11), we will consider the following 21. Values We will consider a RS with a set of U users, (1,., U), and a set simw(x,y)=I w(vi of I items ( 1,..., I). Users rate those items they know with a dis crete range of possible values sents that the user keeps completely unsatisfied about an item, whose component, w), represents the importance of the compo- fied with an item. RS normally use m with value 1 and M with value to this similarity function). In this way, the similarity function asso- 5 or 10. In this way, the range of possible ratings is usually ciated to the vector w=(1.0.5.0. -0.5, -1)represents a similarity 1,5}or{1, function such that The ratings made by a particular user x can be represented by a vector,r=(", r 2).1) with dimension I( the number of Since w(o)=1. this similarity function evaluates highly posi- items in the RS )in such way that rf represents the rating that tively the number of items rated identically the user x has made over the item i Obviously, a user may not rate Since m(4)-1, this similarity function evaluates highly nega- lI the items in the RS. We will use the symbol to represent that a tively the number of items which have been rated in opposite user has not rated an item. Consequently, we use the expression rf=. to state that the user x has not rated the item i yet. Since w2)=0. this similarity function takes no consideration of Next, we will consider an example. We will consider that m= 1 those items over which the difference between the ratings and M=5 (that is to say the possible set of ratings is (1,...,5 ) made by both users is 2 there are nine items, I=9, and there are two users whose ratings Since w1)=0.5. this similarity function evaluates with a posi- re represented by the following rI and rz vectors: tive intermediate value those items over which the difference between the ratings made by both users is 1 r1=(4,5.·,3,2,·1,1,4) Since w3)=-05. this similarity function evaluates with a neg- ative intermediate value those items over which the difference between the ratings made by both users is 3. As may be seen, while the user 1 has rated the item 5, r=2, the user 2 has not rated the item 5 yet: r,=. The question related to obtain the most suitable similarity func- In order to compare both vectors, rx, ry, we can consider another tion represented by a vector w for a recommender system depends vector Day=(vA., AMym)whose dimension is the number of on the nature of the data in this recommender system. we will try the possible ratings that a user can make over an item. Each com- larity function which provides a minimal Mean Absolute Error ponent viy of the vector vy, represents the ratio of items, j, rated (MAE) in the recommender system. In order to obtain this similar- by both users( that is to say, rf. and rl+)and over which the ity function, we will use a genetic algorithm
initially carrying out a clustering on all of the users, in such a way that a group of classes of similar users is obtained, after this, the desired CF techniques can be applied to each of the clusters, obtaining similar results but in much shorter calculation times; these cases use common genetic clustering algorithms such as GA-based K-means [17]. The RS hybrid user models commonly use a combination of CF with demographic filtering or CF with content based filtering, to exploit merits of each one of these techniques. In these cases, the chromosome structure can easily contain the demographic characteristics and/or those related to content-based filtering. The method proposed in the article uses GA, but with the advantage that it does not require the additional information provided by the hybrid user models, and therefore, it can be used in all of the current RS, simply based on CF techniques. This is due to the fact that our method only uses the rating of users (which is the least possible information in any RS). The following section defines the proposed method (GA-method) and the prior processing required using GA, after this, we present the sections which specify the design of experiments carried out and the results obtained, finally we list the most relevant conclusions from this study. 2. Design of the new similarity method The fundamental objective is to improve the results of CF by obtaining a metric that improves the accuracy [12,7,11,8] of CF based RS. For this purpose, after a series of experiments carried out on different metrics, different levels of sparsity [25,6] and different databases, we have obtained an original, simple and efficient approach which improves the usual results obtained in RS. 2.1. Values We will consider a RS with a set of U users, {1, ... , U}, and a set of I items {1, ... , I}. Users rate those items they know with a discrete range of possible values {m, ... , M} where m usually represents that the user keeps completely unsatisfied about an item, and a value M usually represents that the user is completely satis- fied with an item. RS normally use m with value 1 and M with value 5 or 10. In this way, the range of possible ratings is usually {1, ... , 5} or {1, ... , 10}. The ratings made by a particular user x can be represented by a vector, rx ¼ r ð1Þ x ;r ð2Þ x ... ;r ðIÞ x with dimension I (the number of items in the RS) in such way that ri x represents the rating that the user x has made over the item i. Obviously, a user may not rate all the items in the RS. We will use the symbol to represent that a user has not rated an item. Consequently, we use the expression r ðiÞ x ¼ to state that the user x has not rated the item i yet. Next, we will consider an example. We will consider that m = 1 and M = 5 (that is to say the possible set of ratings is {1, ... , 5}), there are nine items, I = 9, and there are two users whose ratings are represented by the following r1 and r2 vectors: r1 ¼ ð4; 5; ; 3; 2; ; 1; 1; 4Þ r2 ¼ ð4; 3; 1; 2; ; 3; 4; ; 2Þ As may be seen, while the user 1 has rated the item 5, r5 1 ¼ 2, the user 2 has not rated the item 5 yet: r5 2 ¼ . In order to compare both vectors, rx, ry, we can consider another vector v x;y ¼ vð0Þ x;y ; ... ; vðMmÞ x;y whose dimension is the number of the possible ratings that a user can make over an item. Each component vðiÞ x;y of the vector vx,y, represents the ratio of items, j, rated by both users (that is to say, r ðjÞ x – and r ðjÞ y –) and over which the absolute difference between the ratings of both users is i rj x r j y ¼ i , to the number of items rated by both users. That is to say, vðiÞ x;y ¼ a=b where b is the number of items rated by both users, and a is the number of items rated by both users over which the absolute difference in the ratings of both users is i. In this way, the vector v1,2 for the previous example is the following (just observe that there are only 5 items rated by both users 1 and 2): v1;2 ¼ ð1=5; 1=5; 2=5; 1=5; 0Þ All components of the vector v1,2 are divided into 5 since there are 5 items rated by both users. The component vð0Þ x;y represents the ratio of items which both users rated identically to the number of items rated by both users. In the previous example, vð0Þ 1;2 ¼ 1=5, since there is only one item (the item 1) which both users have rated identically (that is to say, r ð1Þ 1 r ð1Þ 2 ¼ 0). In the same way, vðMmÞ x;y represents the ratio of items rated in opposite way by both users, to the number of items rated by both users. In the previous example, vðMmÞ 1;2 ¼ v4 1;2 ¼ 0=5 ¼ 0, since there are no items rated with values 5 and 1 (the highest difference in ratings) by the users 1 and 2. In the example above, vð2Þ x;y ¼ 2=5, since there are exactly two items, item 2 and item 9, such that r ð2Þ 1 r ð2Þ 2 ¼ r ð9Þ 1 r ð9Þ 2 ¼ 2. 2.2. Similarity We will consider a family of similarity functions. For each vector w = (w(0), ... ,w(Mm) ) whose components lie in the range [1, 1] (that is to say, wðiÞ 2 ½1; 1Þ, we will consider the following similarity function: simwðx; yÞ ¼ 1 M m þ 1 M Xm i¼0 wðiÞ vðiÞ x;y ð1Þ Consequently, for each vector, w, there is a similarity function whose component, w(i) , represents the importance of the component vðiÞ x;y for calculating the similarity between two users (according to this similarity function). In this way, the similarity function associated to the vector w = (1, 0.5, 0, 0.5, 1) represents a similarity function such that: Since w(0) = 1, this similarity function evaluates highly positively the number of items rated identically. Since w(4) = 1, this similarity function evaluates highly negatively the number of items which have been rated in opposite way (wð0Þ x ¼ 1). Since w(2) = 0, this similarity function takes no consideration of those items over which the difference between the ratings made by both users is 2. Since w(1) = 0.5, this similarity function evaluates with a positive intermediate value those items over which the difference between the ratings made by both users is 1. Since w(3) = 0.5, this similarity function evaluates with a negative intermediate value those items over which the difference between the ratings made by both users is 3. The question related to obtain the most suitable similarity function represented by a vector w for a recommender system depends on the nature of the data in this recommender system. We will try to find, among all the possible vectors w, one representing a similarity function which provides a minimal Mean Absolute Error (MAE) in the recommender system. In order to obtain this similarity function, we will use a genetic algorithm. J. Bobadilla et al. / Knowledge-Based Systems 24 (2011) 1310–1316 1311
3. Genetic algorithm The 50% of the initial population is seeded in areas where opti In order to find an optimal similarity function, Vo measures I genetic algorithm to find the vector w associated to the optimal weights the number of items rated identically by two users. similarity function simw. Consequently we can reasonably expect that an optimal simi- e use a supervised learning task( Goldberg. 1989)whose fit- larity function will have a high positive value of wo). In this ness function is the Mean Absolute Error MAE of the RS. In this way, the value wo)of individuals will be chosen randomly to ay the population of our genetic algorithm is the set of different lie within a high positive range of values. In the same way. vectors of weights, w. Each individual, that is to say each vector of he value wM-m)w4) for Movielens and w9)for FilmAffinity ty measure(see(1)),for measures how the similarity function weights the number of which we will evaluate the mae of the RS using this similarity items rated in a totally opposite way by two users. Cons neasure. while running our genetic algorithm, the successive pop quently we can reasonably expect that an optimal similarity ulation generations tend to improve the mae in the rs. Our genetic function will have a high negative value of wfM-m) In this algorithm stops generating populations when MaE in the rs for a way, the value wfM-m) of individuals will be chosen randomly vector of weight is lower than a threshold, ,(which has been pre- to lie within a high negative range of values. viously established). Next, we will show the ranges used to seed the 50% of the initial usual, we use only a part of the whole recommender system (training users and training items)in order to obtain an With the Movielens and Netflix Recommender System(m=1 similarity function. Once obtained this similarity function. nd M=5) ry out our experiments to evaluate the similarity function by using only the test users and the test items(that is to say, those wo E[1,0.6]. W1 E[0.6, 0. 2), W2 E(0. 2, -0.21 users and items which have not been used in the GA algorithm). w3 E1-0.2, -0.6]. W4 E [-0.6, -1 3. 1. Genetic representation With the FilmAffinity Recommender System (m=1 and As usual, individuals of populations are represented in binary wo E[1,0.8). W1 E(0.8,0.6]w2 E(0.6.0.4) form as strings of Os and 1s. As we have previously stated, in our ge- w3 E(0.4,0.2), WA E(0.2, 0 ). ws E[0, -0.21 vector is a possible individual of the population. Each component W6 E[-0.2, -0.4. W7E1-0.4, -0.6] wo in the vector of w will be represented by 10 bits. Consequently, Ws E1-0.6, -0.8, Wg E[-08, -1 the vector w=(wo)., wM-m))will be represented by the follow- ing string of Os and 1s (with a length of 210(M-m*1)bits) b-m…b-mbmb3m1…b-m19-m=1,…bb 3.3. Fitness function The fitness function of a genetic algorithm is used to prescribe he optimality of a similarity function simw(for the individual where each component of the vector W E[-1. 1] can be obtained w ). In our genetic algorithm, the fitness function will be the mean through the following expression Absolute Error (MAE) of the Rs (indeed we only use the training users and the training items since we are trying to find an optimal similarity function) for a particular similarity function simw(de- scribed in Eq (1)). The MaE is obtained by comparing the real ratings with the pre 3. 2. Initial population dicted ratings made according to the similarity function. In order to calculate the Mae of the Rs for a particular similarity function, er to choose the population size we ha simw, we need to follow the next steps for each user x: criterion of using a number of individuals in the population which is the double of the number of bits used to represent each individ- 1. obtaining the set of K neighbors ofx, Kx(the K most similar users ual 3]. Consequently, when using Movielens and Netflix the initial population will be of 100 individuals, in view that in both recom- in Eq (1). mender systems M=5 and m=1, but when using FilmAffinity 2. Calculating the prediction of the user x and an item i, p. This is (where M= 10 and m= 1) the initial population would be of 200 obtained through the Deviation From Mean(DFM)as aggrega- individuals. Table 1 shows the precise information used in our tion approach experiments In order to generate the initial population we have considered l(x.,n)×(rn-Fn) the following criteria: The 50% of the initial population is obtained using random where Fx is the average of ratings made by the user x Once every possible prediction according to the similarity func Table 1 tion sim, is calculated, we obtain the mae of the rs as follows Descriptive information of the databases used in the experiments. fitness=MAE 21.128 When 1000209 100480.507 gef trai aingo users and the humber ef reinig Min and max values
3. Genetic algorithm In order to find an optimal similarity function, simw, we use a genetic algorithm to find the vector w associated to the optimal similarity function simw. We use a supervised learning task (Goldberg, 1989) whose fitness function is the Mean Absolute Error MAE of the RS. In this way, the population of our genetic algorithm is the set of different vectors of weights, w. Each individual, that is to say each vector of weights, represents a possible similarity measure (see (1)), for which we will evaluate the MAE of the RS using this similarity measure. While running our genetic algorithm, the successive population generations tend to improve the MAE in the RS. Our genetic algorithm stops generating populations when MAE in the RS for a vector of weight is lower than a threshold, c (which has been previously established). As usual, we use only a part of the whole recommender system (training users and training items) in order to obtain an optimal similarity function. Once obtained this similarity function, we carry out our experiments to evaluate the similarity function obtained by using only the test users and the test items (that is to say, those users and items which have not been used in the GA algorithm). 3.1. Genetic representation As usual, individuals of populations are represented in binary form as strings of 0s and 1s. As we have previously stated, in our genetic algorithm, each vector of weights, w, representing a similarity vector is a possible individual of the population. Each component w(i) in the vector of w will be represented by 10 bits. Consequently, the vector w = (w(0), ... , w(Mm) ) will be represented by the following string of 0s and 1s (with a length of 210(Mm+1) bits): b9 Mm ... b1 Mmb0 Mm b9 Mm1 ... b1 Mm1b0 Mm1 ... b9 1 ... b1 1b0 1 b9 0 ... b1 0b1b0 1 where each component of the vector wi e [1, 1] can be obtained through the following expression: wi ¼ 2 P9 j¼102j bj i 210 1 1 ð2Þ 3.2. Initial population In order to choose the population size, we have considered the criterion of using a number of individuals in the population which is the double of the number of bits used to represent each individual [3]. Consequently, when using Movielens and Netflix the initial population will be of 100 individuals, in view that in both recommender systems M = 5 and m = 1, but when using FilmAffinity (where M = 10 and m = 1) the initial population would be of 200 individuals. Table 1 shows the precise information used in our experiments. In order to generate the initial population we have considered the following criteria: The 50% of the initial population is obtained using random values. The 50% of the initial population is seeded in areas where optimal vectors w may lie. In this way, the value w0 measures how the similarity function weights the number of items rated identically by two users. Consequently we can reasonably expect that an optimal similarity function will have a high positive value of w(0). In this way, the value w(0) of individuals will be chosen randomly to lie within a high positive range of values. In the same way, the value w(Mm) (w(4) for Movielens and w(9) for FilmAffinity) measures how the similarity function weights the number of items rated in a totally opposite way by two users. Consequently we can reasonably expect that an optimal similarity function will have a high negative value of w(Mm) . In this way, the value w(Mm) of individuals will be chosen randomly to lie within a high negative range of values. Next, we will show the ranges used to seed the 50% of the initial population. With the Movielens and Netflix Recommender System (m = 1 and M = 5): w0 2 ½1; 0:6; w1 2 ½0:6; 0:2; w2 2 ½0:2; 0:2; w3 2 ½0:2; 0:6; w4 2 ½0:6; 1 With the FilmAffinity Recommender System (m = 1 and M = 10): w0 2 ½1; 0:8; w1 2 ½0:8; 0:6 w2 2 ½0:6; 0:4; w3 2 ½0:4; 0:2; w4 2 ½0:2; 0; w5 2 ½0; 0:2; w6 2 ½0:2; 0:4; w7 2 ½0:4; 0:6; w8 2 ½0:6; 0:8; w9 2 ½0:8; 1 3.3. Fitness function The fitness function of a genetic algorithm is used to prescribe the optimality of a similarity function simw (for the individual w). In our genetic algorithm, the fitness function will be the Mean Absolute Error (MAE) of the RS (indeed we only use the training users and the training items since we are trying to find an optimal similarity function) for a particular similarity function simw (described in Eq. (1)). The MAE is obtained by comparing the real ratings with the predicted ratings made according to the similarity function. In order to calculate the MAE of the RS for a particular similarity function, simw, we need to follow the next steps for each user x: 1. Obtaining the set of K neighbors of x, Kx (the K most similar users to a given user x), through the similarity function simw defined in Eq. (1). 2. Calculating the prediction of the user x and an item i, pi x. This is obtained through the Deviation From Mean (DFM) as aggregation approach: Pi x ¼ rx þ P n2Kx ½simwðx; nÞðri n rnÞ P n2Kx simwðx; nÞ ð3Þ where rx is the average of ratings made by the user x. Once every possible prediction according to the similarity function simw is calculated, we obtain the MAE of the RS as follows: fitness ¼ MAE ¼ 1 #U X u2U P i2Iu pi u ri u #Iu ð4Þ When running the genetic algorithm, #U and #Iu represent respectively the number of training users and the number of training items rated by the user u. Table 1 Descriptive information of the databases used in the experiments. Movielens Film affinity Netflix #Users 6040 26,447 480,189 #Movies 3706 21,128 17,770 #Ratings 1,000,209 19,126,278 100,480,507 Min and max values 1–5 1–10 1–5 1312 J. Bobadilla et al. / Knowledge-Based Systems 24 (2011) 1310–1316
J. Bobadilla et al/ Knowledge-Based Systems 24(2011)1310-1316 1313 3.4. Genetic operators proposed metric may only work for a specific RS As usual, we will use the typical quality measures: Mean Absolute Error(MAE).cov- As usual, our genetic algorithm uses the common operators in erage, precision and recall. genetic algorithms: selection, crossover (recombination) and The results of our proposed genetic algorithm are compare utation. Since we have obtained quick satisfactory results using with the ones obtained using traditional metrics on RS collabora hese three classical operators, we have not used other possible tive filtering: Pearson correlation, cosine and Mean Squared Differ perators like migration, regrouping or colonization-extinction. ences. these baseline metrics are used to compare our results The features of our genetic operators are: obtained from the genetic algorithm with the ones obtained from these metrics tion. That is to say, the selection probability of an individual G The genetic algorithm described previously is run 20 times Selection. The chosen method is the fitness proportional selec- ch time the genetic algorithm runs, it provides a similarity func depends on its fitness level. tion simw associated to the vector w (see Equation(1). Associat Crossover. We use the one-point crossover technique. The to this similarity function, simw, we calculate the typical quality crossover probability is 0.8 measures: MAE, coverage precision and recall. For each quality Mutation We use a single point mutation technique in order to measure we show graphics depicting the best(labeled'BestGA') introduce diversity. the mutation probability is 0.02 and worse value (labeled'WorstGA)obtained through the 20 run nings. The area between them is displayed in grey color. Each gra- 3.5. Reproduction and termination phic is described with the results obtained with the metrics Pearson correlation(COR), cosine(COS)and Mean Squared Differ- When using the reproduction operator, 1000 individuals are ences(MSD). generated in each generation using random crossover between As we have stated above, we only use a part of the whole rS the best-fit parent individuals (training users and training items)in order to obtain an optimal The number of individuals keeps constant through every gener- similarity function. Once obtained this similarity function, we car ation As we have stated above, the population is 100 when using ry out our experiments using only the test users(the users which Movielens and Netflix as recommender systems and 200 whe are not used in the Ga algorithm) and the test items (the items using FilmAffinity as RS. We only keep the 5% of the best individ- which are not used in the GA algorithm) uals from each generation to obtain the next one(elitist selection). When using Movielens and FilmAffinity, we use 20% of users The genetic algorithm stops when there is an individual in the (randomly chosen)as test users and 20% of items(randomly cho- population with a fitness value lower than a constant We use sen)as test items. We use the rest 80% of users and items as train- 7=0.78 for the Movielens and Netflix RS(in these databases, we ing users and training items. When using Netflix, we also use 20% have that m=l and M=5)and we use ?=1.15 for the RS FilmAf- of items as test items but we only use 5% of the users as test users nity(in this database, we have that m=1 and M=10). We have due to the huge number of users in the database. used these values according to the optimal values found in [7- The constant K related to the number of neighbors for each user. varies between 50 and 800. These values enable us to view the trends on the graphics. The precision and recall recommendation quality results have been calculated using different values of N 4.1. Prediction and recommendation quality measures number of recommendations made) from 2 to 20. When using Movielens and Netflix the relevant threshold value =5. and =9 when using FilmAffinity (as stated above while the possible value In this section, we show different experiments made in order to in the ranking of item is(1,.,5)in Netflix and Movielens, it is prove that the method proposed works for any different RS. In this vay, we have used in the experiments the following three different (1,.,10)in FilmAffinity ). Table 2 shows the numerical parame ters used in the experiments Movielens: This database is a reference in research or RS over 4.2. Performance experiment he last years. In this database, we can compare the results obtained using our method with the results previously obtained In this section, we describe an experiment which proves that using other methods. predictions and recommendations can be made much faster when FilmAffinity: This database contains a large amount of data. This using the similarity function obtained with our GA-method (see e database provides an experiment to prove that our gA method (1)than when using the traditional metrics(Pearson Correlation, is useful for databases with a large amount of data. cosine, Mean Squared Differences). Indeed, since the similarity Netflix: This database offers us a very large database on which functions in our GA method (see Eq (1)) are much simpler than metrics,algorithms, programming and systems are put to thethe formulae involved in the traditionalmetrics, we can obtain test the k-neighbors for a user much faster (in this way, prediction and recommendations can be obtained much faster). Since our method provides high values in the quality measures he experiment designed compares the performance of differ pplied on the three databases, we reduce the danger that the ent similarity measures by calculating the similarity between users Table 2 Main parameters used in the experiments K(MAE, coverage Precision/recall Test users (%) Test items(‰) Genetic Movielens 1 M Film affi Netflix 000 000
3.4. Genetic operators As usual, our genetic algorithm uses the common operators in genetic algorithms: selection, crossover (recombination) and mutation. Since we have obtained quick satisfactory results using these three classical operators, we have not used other possible operators like migration, regrouping or colonization-extinction. The features of our genetic operators are: Selection. The chosen method is the fitness proportional selection. That is to say, the selection probability of an individual depends on its fitness level. Crossover. We use the one-point crossover technique. The crossover probability is 0.8. Mutation. We use a single point mutation technique in order to introduce diversity. The mutation probability is 0.02. 3.5. Reproduction and termination When using the reproduction operator, 1000 individuals are generated in each generation using random crossover between the best-fit parent individuals. The number of individuals keeps constant through every generation. As we have stated above, the population is 100 when using Movielens and Netflix as recommender systems and 200 when using FilmAffinity as RS. We only keep the 5% of the best individuals from each generation to obtain the next one (elitist selection). The genetic algorithm stops when there is an individual in the population with a fitness value lower than a constant c. We use c = 0.78 for the Movielens and Netflix RS (in these databases, we have that m = 1 and M = 5) and we use c = 1.15 for the RS FilmAf- finity (in this database, we have that m = 1 and M = 10). We have used these values according to the optimal values found in [7]. 4. Experiments 4.1. Prediction and recommendation quality measures In this section, we show different experiments made in order to prove that the method proposed works for any different RS. In this way, we have used in the experiments the following three different databases (Table 1) of real RS: Movielens: This database is a reference in research or RS over the last years. In this database, we can compare the results obtained using our method with the results previously obtained using other methods. FilmAffinity: This database contains a large amount of data. This database provides an experiment to prove that our GA method is useful for databases with a large amount of data. Netflix: This database offers us a very large database on which metrics, algorithms, programming and systems are put to the test. Since our method provides high values in the quality measures applied on the three databases, we reduce the danger that the proposed metric may only work for a specific RS. As usual, we will use the typical quality measures: Mean Absolute Error (MAE), coverage, precision and recall. The results of our proposed genetic algorithm are compared with the ones obtained using traditional metrics on RS collaborative filtering: Pearson correlation, cosine and Mean Squared Differences. These baseline metrics are used to compare our results obtained from the genetic algorithm with the ones obtained from these metrics. The genetic algorithm described previously is run 20 times. Each time the genetic algorithm runs, it provides a similarity function simw associated to the vector w (see Equation (1)). Associated to this similarity function, simw, we calculate the typical quality measures: MAE, coverage, precision and recall. For each quality measure we show graphics depicting the best (labeled ‘BestGA’) and worse value (labeled ‘WorstGA’) obtained through the 20 runnings. The area between them is displayed in grey color. Each graphic is described with the results obtained with the metrics: Pearson correlation (COR), cosine (COS) and Mean Squared Differences (MSD). As we have stated above, we only use a part of the whole RS (training users and training items) in order to obtain an optimal similarity function. Once obtained this similarity function, we carry out our experiments using only the test users (the users which are not used in the GA algorithm) and the test items (the items which are not used in the GA algorithm). When using Movielens and FilmAffinity, we use 20% of users (randomly chosen) as test users and 20% of items (randomly chosen) as test items. We use the rest 80% of users and items as training users and training items. When using Netflix, we also use 20% of items as test items but we only use 5% of the users as test users due to the huge number of users in the database. The constant K related to the number of neighbors for each user, varies between 50 and 800. These values enable us to view the trends on the graphics. The precision and recall recommendation quality results have been calculated using different values of N (number of recommendations made) from 2 to 20. When using Movielens and Netflix the relevant threshold value = 5, and = 9 when using FilmAffinity (as stated above, while the possible value in the ranking of item is {1, ... , 5} in Netflix and Movielens, it is {1, ... , 10} in FilmAffinity). Table 2 shows the numerical parameters used in the experiments. 4.2. Performance experiment In this section, we describe an experiment which proves that predictions and recommendations can be made much faster when using the similarity function obtained with our GA-method (see Eq. (1)) than when using the traditional metrics (Pearson Correlation, cosine, Mean Squared Differences). Indeed, since the similarity functions in our GA method (see Eq. (1)) are much simpler than the formulae involved in the traditionalmetrics, we can obtain the k-neighbors for a user much faster (in this way, predictions and recommendations can be obtained much faster). The experiment designed compares the performance of different similarity measures by calculating the similarity between users Table 2 Main parameters used in the experiments. K (MAE, coverage) Precision/recall Test users (%) Test items (%) Genetic runs Range Step K N h Movielens 1 M {50, ... , 800} 50 100 {2, ... , 20} 5 20 20 20 Film affinity {50, ... , 800} 50 150 {2, ... , 20} 5 20 20 20 Netflix {50, ... , 800} 50 200 {2, ... , 20} 9 5 20 20 J. Bobadilla et al. / Knowledge-Based Systems 24 (2011) 1310–1316 1313
in Movielens. We compare the following similarity measures: any traditional metric used. This fact must be emphasized since Pearson correlation(COR), cosine(COS), Mean Squared Differences the new latter similarity metrics which are usually proposed (MSD)and the similarity measure obtained with our GA-method improve the Mae while resulting in a worse coverage[ 7. while In this experiment, we have first divided the users in Movielens Graphic la shows that the best results in MAE with the GA- into two subsets: a subset of 1204 (20% of users which are re- method are obtained when using a small value in K, graphic garded as test users in Section 4. 1); and the subset of the rest of 1b shows that the best results with the ga-method are obtained users(80% users, 4832 users). Once divided the database, we have n coverage using medium values in K In this way, we shoul calculated the similarity measure between each user in the first use intermediate values in K(KE(150,., 200)) for obtaining subset of 20% users and each user in the second subset of 80% he most satisfactory results both in MAE and in coverage. Graphics 1c and 1d inform respectively about the precision and recall. These quality me e improved for any value used 5. Results in the number of recommendations, N. Consequently, the GA- method improves not only the accuracy and the coverage, but 5.1. Prediction and recommendation results also provides better recommendations. FilmAffinity: The results obtained with this database provide In this section we show the results obtained using the databases similar results to the one obtained for the database movielens specified in Table 1. Figs. 1-3 show respectively the results ob- As illustrated in Graphic 2a, we can see that our GA-method tained with Movielens, FilmAffinity and Netflix. As may be seen does not provide so good results in MAE with low K for this in these figures, the results obtained for all the quality measures database as for MovieLens. However, it provides better results (MAE, coverage, precision and recall) with our genetic algorithm when using high values in K. The reader must observe that are better that the ones obtained with the traditional metrics the ranking values used in FilmAffinity are larger((1,., 10)) Next, we will analyze the results according to the three than the ones used in movielens As may be seen in Graphic 2b, our GA-method provides best lev- els in coverage. In the same way, the results obtained for preci- Movielens: Graphic 1a informs about the mae error obtained sion and recall (see Graphics 2c and 2d)in this database are for Movielens when applying Pearson correlation(COR), cosine similar to the ones obtained for the movielens database (COS), Mean Squared Differences(MSD )and the 20 runs of the Netilix: The results obtained with this database may be used to GA-method. The GA-metric leads to fewer errors, particularly state that our method can be used for a rS with a large amount the most used values of K. the black dashed and continuous of data(see Table 1). Our method provides similar results for lines represent respectively the worst and the best result this database to the ones obtained for previous databases in obtained in the 20 times the GA method is run. The grey area both quality prediction measures(MAE and coverage)and qual ontains the area between these lines ity recommendation measures(precision and recall). Neverthe- Graphic 1b informs about the coverage obtained. As may b less, we must emphasize that regarding both MaE (graphic 3a) seen, our GA-method can improve the coverage for any value and precision(graphic 3c)our GA method shows improvements of k(the number of neighbors for each user) in relation when used in connection to this database a BestGA . WorstGA-COR--COS- MSD b 一 BestGA -.worstGA-COR·cos-MsD 呙导导昌器 8导导昌器員員昌 K-Neighbors BestGA --WorstGA-COR--COS-MSD d BestGA -.WorstGA-COR--COS-MSD 038 036 Traditional metrics and proposed genetic similarity method comparative results using Movielens: (a)accuracy(Mean Absolute Error). (b) coverage, (c)precision, (d)
in Movielens. We compare the following similarity measures: Pearson correlation (COR), cosine (COS), Mean Squared Differences (MSD) and the similarity measure obtained with our GA-method. In this experiment, we have first divided the users in Movielens into two subsets: a subset of 1204 (20% of users which are regarded as test users in Section 4.1); and the subset of the rest of users (80% users, 4832 users). Once divided the database, we have calculated the similarity measure between each user in the first subset of 20% users and each user in the second subset of 80% users. 5. Results 5.1. Prediction and recommendation results In this section we show the results obtained using the databases specified in Table 1. Figs. 1–3 show respectively the results obtained with Movielens, FilmAffinity and Netflix. As may be seen in these figures, the results obtained for all the quality measures (MAE, coverage, precision and recall) with our genetic algorithm are better that the ones obtained with the traditional metrics. Next, we will analyze the results according to the three databases: Movielens: Graphic 1a informs about the MAE error obtained for Movielens when applying Pearson correlation (COR), cosine (COS), Mean Squared Differences (MSD) and the 20 runs of the GA-method. The GA-metric leads to fewer errors, particularly in the most used values of K. The black dashed and continuous lines represent respectively the worst and the best result obtained in the 20 times the GA method is run. The grey area contains the area between these lines. Graphic 1b informs about the coverage obtained. As may be seen, our GA-method can improve the coverage for any value of K (the number of neighbors for each user) in relation to any traditional metric used. This fact must be emphasized since the new latter similarity metrics which are usually proposed improve the MAE while resulting in a worse coverage [7]. While Graphic 1a shows that the best results in MAE with the GAmethod are obtained when using a small value in K, Graphic 1b shows that the best results with the GA-method are obtained in coverage using medium values in K. In this way, we should use intermediate values in K (K 2 {150, ... , 200}) for obtaining the most satisfactory results both in MAE and in coverage. Graphics 1c and 1d inform respectively about the precision and recall. These quality measures are improved for any value used in the number of recommendations, N. Consequently, the GAmethod improves not only the accuracy and the coverage, but also provides better recommendations. FilmAffinity: The results obtained with this database provide similar results to the one obtained for the database Movielens. As illustrated in Graphic 2a, we can see that our GA-method does not provide so good results in MAE with low K for this database as for MovieLens. However, it provides better results when using high values in K. The reader must observe that the ranking values used in FilmAffinity are larger ({1, ... , 10}) than the ones used in Movielens. As may be seen in Graphic 2b, our GA-method provides best levels in coverage. In the same way, the results obtained for precision and recall (see Graphics 2c and 2d) in this database are similar to the ones obtained for the MovieLens database. Netflix: The results obtained with this database may be used to state that our method can be used for a RS with a large amount of data (see Table 1). Our method provides similar results for this database to the ones obtained for previous databases in both quality prediction measures (MAE and coverage) and quality recommendation measures (precision and recall). Nevertheless, we must emphasize that regarding both MAE (graphic 3a) and precision (graphic 3c) our GA method shows improvements when used in connection to this database. Fig. 1. Traditional metrics and proposed genetic similarity method comparative results using Movielens: (a) accuracy (Mean Absolute Error), (b) coverage, (c) precision, (d) recall. 1314 J. Bobadilla et al. / Knowledge-Based Systems 24 (2011) 1310–1316
J. Bobadilla et al/ Knowledge-Based Systems 24(2011)1310-1316 1315 一 BestA· WorstGA -COR·cos-Ms b BestGA--WorstGA-COR--COS-MSD 125 e9o ♀虽§月导导爵忌昌員員 8員8月爵导导昌昌昌員員昌 c BestGA - WorstGA -COR--COS-MSD d 一 BestA· WorstGA=coR aawm Number of Recommendations Number of Recommendations Fig. 2. Traditional metrics and proposed genetic similarity method comparative results using FilmAffinity: (a) accuracy (Mean Absolute Error). (b)coverage. (c)precision, (d) -BestGA --WorstGA -COR--COS- MSD 一 BestA· WorstGA - COR·cos·MsD 2500 20.00 500 1000 員月呙导导呙昌昌員員曷 月員8呙导导昌国昌員員昌 BestGA .-WorstGA=coR·cos·MsD BestGA --- COR--COS-MSD 5 30 Number of recommendations Number of recommendations Fig 3. Traditional metrics and proposed genetic similarity method comparative results using Netflix: (a)accuracy(Mean Absolute Error). (b)coverage, (c)precision, (d)recall. 3 5.2. Performan Performance results obtained using: correlation, cosine, MSD and the proponed method Table 3 shows the results obtained in the experiments de- MSD GA-method scribed in Section 4.2. As may the time needed to make Time(s) predictions when using our GA is 42. 44% lower than the time needed when using Pearson correlation
5.2. Performance results Table 3 shows the results obtained in the experiments described in Section 4.2. As may be seen, the time needed to make predictions when using our GA method is 42.44% lower than the time needed when using Pearson correlation. Fig. 2. Traditional metrics and proposed genetic similarity method comparative results using FilmAffinity: (a) accuracy (Mean Absolute Error), (b) coverage, (c) precision, (d) recall. Fig. 3. Traditional metrics and proposed genetic similarity method comparative results using Netflix: (a) accuracy (Mean Absolute Error), (b) coverage, (c) precision, (d) recall. Table 3 Performance results obtained using: correlation, cosine, MSD and the proponed GAmethod. Metric Correlation Cosine MSD GA-method Time (s) 28, 56 29, 19 25, 56 16, 47 J. Bobadilla et al. / Knowledge-Based Systems 24 (2011) 1310–1316 1315
Since obtaining the k-neighbors for a user takes nearly the [51 J. Bobadilla, E. Serac Collaborative filtering whole time for finding the recommending items, the simplicity of the formula used for calculating the similarity function(used (61). Bobadilla, F. Serradilla, The incidence of sparsity on collaborative filtering for obtaining k-neighbors)is crucial so as to accelerate the process of finding recommendations. Since the formula used in the similar- [71J. Bobadilla, F. Serradilla. J. Bemal, A new collaborative filtering metric that ity function in our GA method(see Eq (1))is much simpler than the formulae involved in the classical metrics, our similarity [81J Bobadilla, F. Ortega, A Hernando, A collaborative filtering similarity measure functions based on the ga method let us make recommendations ased on singularities, Inf. Proc. Manage. (2011). faster than the one used for traditional metrics. 6. Conclusions In this paper we have presented a genetic algorithm method for [11]G M. Giaglis, Lekakos, Improving the prediction accuracy of recomm obtaining optimal similarity functions. The similarity functions ob- 410- 43 roches anchored on numan accors, Interac tained provide better quality and quicker results than the ones pro-(12 j.L Herlocker, J.A. Konstan, J.T. Riedl, L.G. Terveen, Evaluatin vided by the traditional metrics. Improvements can be seen in the ng recommender systems, ACM Trans. Inf. Syst. 22(1)( systems accuracy(MAE), in the coverage and in the precision [13 Y Ho, S Fong. Z Yan, A hybrid ga-based collaborative filtering model for online call recommendation quality measures. The proposed use of GAs applied to the rs is a novel approach ased on SoM cluster-indexing CBR, Exp. Syst. Appl. 25(2003)413-423. and has the main advantage that it can be used in all CF-based 5 systens, Int con service Syst. service Mange. (comms.d arce recommender be applied, as in many cases no reliable demographic information segmentation for personalized recommender systems, Artif Intell. Simulat. or content-based filtering information is available The GA-metric runs 42% as fast as the correlation, which is a on line shopping m arker. exepert s st with Ap reat advantage in RS, which are highly dependent on equipment [18]M Knights. Web 2.0. IET Comm Eng( 2007)30-35 overloads when many different recommendation requests are [191 J.A Konstan, B.N. Mille s: toward a personal recommende made simultaneously(user to user)or on costly off-line running (20)BKrul )(2004)437-476 processes (item to item). filing using large-scale demographic data. Artif Intell. Magaz. 18(2)(1997)3 aning to filter netnews, 12th Int. Conf Machine [22 P Li, S Yamada, A movie recommender system based on inductive learning. Our acknowledgement to the Movielens group and the FilmAf- [23] K]. Lin Building Web 2.0. Computer,(2007)101-102. finity. com and Netflix companies opulus, A N. Papadopoulus, P. Symeonidis, orative recommender systems: combining effectivenes Reference [25 M. Papagelis, D. Plexousakis, utsuras, Alleviating trust inference ger on of recommender 5)224-239 stems: a survey of the state-of-the-art and possible extensions, IEEE Trans. [26]C Porcel, E. Herrera-Viedma, Dealing with incomplete information in a fuzzy KnowL Data Eng17(6)(2005)734-749 Fuzzy-genetic approach to recommender 23(1)(2010)32-39 systems based on a novel hybrid user model, Exp. Syst. AppL.(2008)1386- [271 C. Porcel, J.M. Moreno, E. Herrera-Viedma, A multi-disciplinar recommender ources in university digital libraries, Exp. Syst. [3I J.T. Alander, On optimal population size of genetic algorithms, Comput. Syst ppL.36(2009)12520-12528 [28 F. Zhang, H.Y. Chang. A collaborative filtering algorithm enetic 4] N. Antonopoulus, J. Salter, Cinema screen recommender agent: combining ering to ameliorate the scalability issue, IEEE Int. Con Eng collaborative and content-based filtering. IEEE Intell. Syst. (2006)35-41 (2006)331-338
Since obtaining the k-neighbors for a user takes nearly the whole time for finding the recommending items, the simplicity of the formula used for calculating the similarity function (used for obtaining k-neighbors) is crucial so as to accelerate the process of finding recommendations. Since the formula used in the similarity function in our GA method (see Eq. (1)) is much simpler than the formulae involved in the classical metrics, our similarity functions based on the GA method let us make recommendations faster than the one used for traditional metrics. 6. Conclusions In this paper we have presented a genetic algorithm method for obtaining optimal similarity functions. The similarity functions obtained provide better quality and quicker results than the ones provided by the traditional metrics. Improvements can be seen in the system’s accuracy (MAE), in the coverage and in the precision & recall recommendation quality measures. The proposed use of GAs applied to the RS is a novel approach and has the main advantage that it can be used in all CF-based RS, without the need to use hybrid models which often cannot be applied, as in many cases no reliable demographic information or content-based filtering information is available. The GA-metric runs 42% as fast as the correlation, which is a great advantage in RS, which are highly dependent on equipment overloads when many different recommendation requests are made simultaneously (user to user) or on costly off-line running processes (item to item). Acknowledgements Our acknowledgement to the MovieLens Group and the FilmAf- finity.com and Netflix companies. References [1] G. Adomavicius, A. Tuzhilin, Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions, IEEE Trans. Knowl. Data Eng. 17 (6) (2005) 734–749. [2] M.Y. Al-Shamri, K.K. Bharadwaj, Fuzzy-genetic approach to recommender systems based on a novel hybrid user model, Exp. Syst. Appl. (2008) 1386– 1399. [3] J.T. Alander, On optimal population size of genetic algorithms, Comput. Syst. SoftwareEng. (1992) 65–70. [4] N. Antonopoulus, J. Salter, Cinema screen recommender agent: combining collaborative and content-based filtering, IEEE Intell. Syst. (2006) 35–41. [5] J. Bobadilla, F. Serradilla, A. Hernando, Collaborative filtering adapted to recommender systems of e-learning, Knowl. Based Syst. 22 (2009) 261–265. [6] J. Bobadilla, F. Serradilla, The incidence of sparsity on collaborative filtering metrics, Australian Database Conf. ADC 92 (2009) 9–18. [7] J. Bobadilla, F. Serradilla, J. Bernal, A new collaborative filtering metric that improves the behavior of recommender systems, Knowl. Based Syst. 23 (6) (2010) 520–528. [8] J. Bobadilla, F. Ortega, A. Hernando, A collaborative filtering similarity measure based on singularities, Inf. Proc. Manage. (2011), doi:10.1016/ j.ipm.2011.03.007. [9] H. Denis. Managing collaborative learning processes, e-learning applications. 29th Int. Conf. Inf. Tech. Interfaces, (2007) 345–350. [10] L.Q. Gao, C. Li, Hybrid personalizad recommended model based on genetic algorithm, Int. Conf. Wireless Comm. Netw. Mobile Comput. (2008) 9215– 9218. [11] G.M. Giaglis, Lekakos, Improving the prediction accuracy of recommendation algorithms: approaches anchored on human factors, Interact. Comp. 18 (3) (2006) 410–431. [12] J.L. Herlocker, J.A. Konstan, J.T. Riedl, L.G. Terveen, Evaluating collaborative filtering recommender systems, ACM Trans. Inf. Syst. 22 (1) (2004) 5–53. [13] Y. Ho, S. Fong, Z. Yan, A hybrid ga-based collaborative filtering model for online recommenders, Int. Conf. e-Business (2007) 200–203. [14] H. Ingoo, J.O. Kyong, H.R. Tae, The collaborative filtering recommendation based on SOM cluster-indexing CBR, Exp. Syst. Appl. 25 (2003) 413–423. [15] H. Jinghua, W. Kangning, F. Shaohong, A survey of e-commerce recommender systems, Int. Conf. Service Syst. Service Manage. (2007) 1–5. [16] K. Kim, H. Ahn, Using a clustering genetic algorithm to support customer segmentation for personalizad recommender systems, Artif. Intell. Simulat. 3397 (2004) 409–415. [17] K. Kim, H. Ahn, A recommender system using GA K-means clustering in an online Shopping market, Expert Syst. with Appl. 34 (2) (2008) 1200–1209. [18] M. Knights. Web 2.0. IET Comm. Eng. (2007) 30–35. [19] J.A. Konstan, B.N. Miller, J. Riedl, PocketLens: toward a personal recommender system, ACM Trans. Inf. Syst. 22 (3) (2004) 437–476. [20] B. Krulwich, Lifestyle finder: intelligent user profiling using large-scale demographic data, Artif. Intell. Magaz. 18 (2) (1997) 37–45. [21] K. Lang. NewsWeeder: Learning to filter netnews, 12th Int. Conf. Machine Learning, (1995) 331–339. [22] P. Li, S. Yamada, A movie recommender system based on inductive learning, IEEE Conf. Cyber. Intell. Syst. 1 (2004) 318–323. [23] K.J. Lin. Building Web 2.0. Computer, (2007) 101–102. [24] Y. Manolopoulus, A. Nanopoulus, A.N. Papadopoulus, P. Symeonidis, Collaborative recommender systems: combining effectiveness and efficiency, Exp. Syst. Appl. 34 (4) (2008) 2995–3013. [25] M. Papagelis, D. Plexousakis, T. Kutsuras, Alleviating the sparsity problem of collaborative filtering using trust inferences, LNCS 3477 (2005) 224–239. [26] C. Porcel, E. Herrera-Viedma, Dealing with incomplete information in a fuzzy linguistic recommender system to diseminate information in university digital libraries, Knowl. Based Syst. 23 (1) (2010) 32–39. [27] C. Porcel, J.M. Moreno, E. Herrera-Viedma, A multi-disciplinar recommender system to advice research resources in university digital libraries, Exp. Syst. Appl. 36 (2009) 12520–12528. [28] F. Zhang, H.Y. Chang, A collaborative filtering algorithm employing genetic clustering to ameliorate the scalability issue, IEEE Int. Conf. e-Business Eng. (2006) 331–338. 1316 J. Bobadilla et al. / Knowledge-Based Systems 24 (2011) 1310–1316