1. Introduction
Nowadays, the problem of information overload is becoming more and more serious [1]. Recommendation systems [2] are effective ways to solve the problem of information overload. Many websites have applied recommendation systems to provide personalized products or services to online users, such as YouTube, Netflix, Amazon and Facebook, etc. Recommendation systems are usually divided into three categories [3]: content-based recommendations, collaborative recommendations and hybrid approaches. Collaborative filtering does not need to consider the content of the items being recommended and is easy to implement, which makes it a successful recommendation technique [4], [5]. Collaborative filtering finds neighbors with similar interests and preferences to the active user, and then recommends items (e.g., web pages, music, movies, books, products, etc.) which neighbors like to the active user [6]. Memory-based and model-based methods are two common methods in collaborative filtering. Memory-based method first calculates similarities between users, and generates recommendations based on the similarities and ratings of users. Model-based method adopts machine learning technique to construct a model from users’ rating data, and uses the model to generate recommendations to the active user [7]. However, the number of users and items on websites is constantly increasing, and the sparsity and scalability problems become more and more serious, which directly affect the accuracy and real-time performance of collaborative filtering [1], [8].
In this paper, a novel collaborative filtering algorithm based on affinity propagation clustering and mean deviation is proposed. By affinity propagation clustering algorithm, users with similar interests are grouped into the same cluster. Similarities between the active user and cluster centers are calculated, and the cluster with the highest similarity is selected to search nearest neighbors for the active user, which can reduce the neighbor search scope and improve real-time performance of the collaborative filtering algorithm. Nearest neighbors are selected, and a dense rating matrix after offline filling is used to calculate the predictions of unrated items for the active user, thus the sparsity of the nearest neighbor ratings is reduced and the recommendation quality is improved. Experiments are conducted on the MovieLens100K and Jester datasets, the MAE, F1 and run-time of the collaborative filtering algorithms are compared. The experimental results show that the proposed algorithm is superior to existing ones. This study has the following contributions:
(1) Affinity propagation algorithm is adopted to cluster users. The nearest neighbors are searched in the active user’s cluster, which reduces the neighbor search scope and improves the speed of the recommendation algorithm.
(2) The mean deviation method is proposed to alleviate the sparsity of user ratings, and the accuracy of the recommendation is improved.
Our article is organized as follows: In Section 2, related work is introduced. Section 3 describes the proposed collaborative filtering algorithm based on affinity propagation clustering and mean deviation. Section 4 gives the experimental evaluation, and the study is summarized in Section 5.
2. Related work
(1) Studies on the scalability problem. Mu et al. [1] used the preferences of virtual core users to make recommendations for target users, which can reduce the set of candidate neighbors and alleviate the scalability problem. Chang et al. [9] used the convolutional autoencoder to reduce the computations when the amount of data is huge, thus the real-time performance of their recommendation method is excellent. Wu et al. [10] developed a recommendation system based on bi-clustering and moth flame optimization. Their recommendation system is highly scalable. Chen et al. [11] proposed a matrix factorization model with explicit feedback and implicit feedback. Two feedback matrices are decomposed into a shared subspace simultaneously, which addresses the scalability problem of the recommendation algorithm. (2) Studies on the sparsity problem. Feng et al. [12] proposed a multi-factor similarity measure, which can capture nonlinear and linear correlations between users, thus alleviating the sparsity problem in collaborative filtering. Belkhadir et al. [13] proposed an intelligent recommendation method based on social regularization and trust information, which has high recommendation quality. Moon et al. [14] proposed a collaborative filtering method for implicit datasets. The method can address the popularity bias and data sparsity problems. Duan et al. [15] proposed a method which combines matrix factorization and review-based collaborative filtering, thus the sparsity problem is addressed. (3) Affinity propagation algorithm. Leng et al. [16] applied affinity propagation algorithm to cluster black-start schemes, and designed a novel black-start evaluation method to restore the power system after a large-area blackout. In the study of Wang et al. [17], according to the climate characteristics of photovoltaic power stations, the photovoltaic output data are marked, and distributed photovoltaic power stations are clustered by affinity propagation algorithm, so that the meteorological data are consistent across all clusters. Wei et al. [18] proposed a novel intelligent fault diagnosis method for roller bearings based on affinity propagation algorithm and adaptive feature selection technique to better equip with a non-expert to carry out diagnosis operations. Geng et al. [19] used affinity propagation algorithm to improve data envelopment analysis model in the division of the efficiency value of decision making units. Through the affinity propagation algorithm, high influence input data of the energy efficiency can be obtained.
Most of the previous studies on collaborative filtering only solved one of the problems of sparsity and scalability. Our study focuses on both of the above problems. The use of clustering for user partitioning narrows down the search space and enhances efficiency. Additionally, incorporating the mean deviation method to impute missing ratings contributes to reducing sparsity and maintaining recommendation quality.
3. The proposed collaborative filtering algorithm
3.1 Clustering users by affinity propagation algorithm
Let U={u1, u2, …, um} be the user space, I={i1, i2, …, in} be the item space. The user-item rating matrix A can be expressed as Equation (1), where aij in A denotes the rating user ui gives to item ij. Because the rating matrix is very sparse, many ratings in A are absent, i.e. aij =•.
\(\begin{align}A=\left[\begin{array}{cccc}a_{11} & a_{12} & \cdots & a_{1 n} \\ a_{21} & a_{22} & \cdots & a_{2 n} \\ \vdots & \vdots & \vdots & \vdots \\ a_{m 1} & a_{m 2} & \cdots & a_{m n}\end{array}\right]\end{align}\) (1)
Affinity propagation clustering (APC) [20] is used to cluster users in A. For any two users p and q, the similarity between them is computed by Euclidean distance: s(p, q)=-||p-q||2. Then the similarity matrix S=[sij]m×m is constructed, where sij is the similarity between the ith user and the jth user. APC propagates responsibility r(p, q) and availability a(p, q) between users p and q. According to Equations (2) to (4) [20],[21], r(p, q) and a(p, q) are updated.
\(\begin{align}r^{(c)}(p, q)=(1-\lambda) \times\left(s(p, q)-\max _{q^{\prime} . t . q^{\prime} \neq q}\left\{a^{(c-1)}\left(p, q^{\prime}\right)+s\left(p, q^{\prime}\right)\right\}\right)+\lambda \times r^{(c-1)}(p, q)\end{align}\) (2)
\(\begin{align}p \neq q, a^{(c)}(p, q)=(1-\lambda) \times\left(\min \left\{0, r^{(c)}(q, q)+\sum_{p^{\prime} \text { s.t. } p^{\prime} \notin\{p, q\}} \max \left\{0, r^{(c)}\left(p^{\prime}, q\right)\right\}\right\}\right)+\lambda \times a^{(c-1)}(p, q)\end{align}\) (3)
\(\begin{align}a^{(c)}(q, q)=(1-\lambda) \times\left(\sum_{p^{\prime} . t . p \neq q} \max \left\{0, r^{(c)}\left(p^{\prime}, q\right)\right\}\right)+\lambda \times a^{(c-1)}(q, q)\end{align}\) (4)
where c is the current number of iterations, and λ is the adjustment coefficient, which can eliminate numerical oscillations.
When APC terminates, the exemplar (user q) can be found for user p. User q satisfies the formula \(\begin{align}q=\arg \max _{h}\{a(p, h)+r(p, h)\}\end{align}\), where h is any user in user space U. The exemplars of all users are found by APC, and users in matrix A are clustered into t clusters, and the set of user clusters C={c1, c2, …, ct} is obtained, where c1∪c2∪⋯∪ct= U, ci∩cj=∅ (1≤i≤t, 1≤j≤t). And the set of cluster centers R={r1, r2,…, rt} is determined.
3.2 Imputing ratings by mean deviation method
Since too sparse data will affect the accuracy of recommendation [22],[23], a new data imputation method called mean deviation method is proposed in this study. When the nearest neighbors are used to generate recommendations to the active user, the mean deviation method is used to impute the absent ratings of the nearest neighbors, thus the sparsity issue can be alleviated.
Definition 1. Rating frequency weight. Let Iu={i∈I|au,i ≠ •} be the set of items that user u has rated. Take any item i in item set I, Ui = {u∈U|au,i ≠ •} denotes the set of users who have rated i, then the rating frequency weight of any user uj (uj ∈ Ui) on item i is \(\begin{align}w_{u_{j}}^{i}=\left|I_{u_{j}}\right| / \sum_{u \in U_{i}}\left|I_{u}\right|\end{align}\).
Rating frequency weight reflects a member’s role in the group with the number of his/her ratings. The larger the proportion of the number of a member’s ratings to the total number of ratings, the more representative his/her ratings of items are. That’s because the more ratings a member has, the more items he/she has exposed to, thus he/she has a deeper sense of items. On the other hand, members with more ratings tend to interact with the system more often, and they contribute more to the development of the system, thus the system should give more consideration to their opinions as encouragement.
Take any item i in the item space I, then \(\begin{align}R_{i}^{s}=\sum_{u \in U_{i}} w_{u}^{i} \times a_{u, i}\end{align}\) is called the standard rating value of item i, and Rs = (Rsi1, Rsi2, ⋯, Rsin) is the standard rating vector of item space I. Take any user uj in user space U, the mean deviation between the rating vector of uj and the standard rating vector is \(\begin{align}d_{u_{j}}=\frac{1}{\left|I_{u_{j}}\right|} \sum_{i \in I_{u_{j}}}\left|a_{u_{j}, i}-R_{i}^{s}\right|\end{align}\). Let Iabove = {i∈Iuj|auj,i - Rsi>0} be the set of items for which the ratings of uj are higher than the standard ratings, Ibelow = {i∈Iuj|auj,i - Rsi<0} be the set of items for which the ratings of uj are lower than the standard ratings. Then the rating of user uj to unrated item ip can be predicted as:
\(\begin{align}f_{u_{j}, i_{p}}=\left\{\begin{array}{ll}R_{i_{p}}^{s}+d_{u_{j}}, & \left|I^{\text {above }}\right| \geq\left|I^{\text {below }}\right|, \\ R_{i_{p}}^{s}-d_{u_{j}}, & \left|I^{\text {above }}\right|<\left|I^{\text {below }}\right| .\end{array}\right.\end{align}\) (5)
where fuj,ip is the predicted rating for user uj on item ip.
Repeat Equation (5) to impute the ratings of unrated items of all users, and a dense rating matrix B is obtained:
\(\begin{align}B=\left[\begin{array}{cccc}b_{11} & b_{12} & \cdots & b_{1 n} \\ b_{21} & b_{22} & \cdots & b_{2 n} \\ \vdots & \vdots & \vdots & \vdots \\ b_{m 1} & b_{m 2} & \cdots & b_{m n}\end{array}\right]\end{align}\) (6)
where bij = αij if aij ≠• and fij otherwise.
3.3 Recommendation generation
According to the cosine similarity equation [24],[25], the similarity of the active user u to each cluster center in R={r1, r2,…, rt} is calculated, and the most similar cluster cmax is selected as the cluster to which u belongs.
\(\begin{align}\operatorname{sim}(u, r)=\frac{\sum_{i \in I_{u r}} a_{u, i} \times a_{r, i}}{\sqrt{\sum_{i \in I_{u}} a_{u, i}^{2}} \sqrt{\sum_{i \in I_{r}} a_{r, i}^{2}}}\end{align}\) (7)
where sim(u, r) denotes the similarity between active user u and cluster center r, au,i is the rating of user u on item i in matrix A.
Based on the matrix A, the similarity between u and each user in cmax is calculated using Equation (7), and k most similar users are selected as user u’s nearest neighbors Un={u1, u2,…, uk}.
For any unrated item i of u (i.e. Ru,i=•), based on the rating data in matrix B, Equation (8) [26], [27] is used to predict the missing rating values for u.
\(\begin{align}p_{u, i}=\overline{B_{u}}+\frac{\sum_{u_{k} \in U_{n}} \operatorname{sim}\left(u, u_{k}\right) \times\left(b_{u_{k}, i}-\overline{B_{u_{k}}}\right)}{\sum_{u_{k} \in U_{n}}\left(\left|\operatorname{sim}\left(u, u_{k}\right)\right|\right)}\end{align}\) (8)
where pu,i denotes the prediction rating of item i for user u, buk,i denotes the rating of user uk on item i in matrix B, \(\begin{align}\overline {B}_u\end{align}\) is the average rating of user u in matrix B.
Top-G recommendation set Ir={i1, i2,…, iG} (i.e. G items with the highest prediction ratings) is provided to the active user u.
3.4 Algorithm description
Our proposed algorithm based on affinity propagation clustering (APC) and mean deviation is divided into two stages: offline processing and online recommendation. In the offline stage, APC is firstly used to cluster users in the original rating matrix, and the cluster center of each cluster is obtained. So the neighbor search scope is reduced. Then the mean deviation method is used to impute the ratings of unrated items for users, which alleviate the sparsity of rating data. In the online stage, the similarities between the active user and all cluster centers are computed, and the most similar cluster is selected as the nearest neighbor search space. Then the nearest neighbors are determined and recommendations are made.
Algorithm 1. Collaborative filtering algorithm based on affinity propagation clustering and mean deviation (APMDI-CF).
Inputs: Rating matrix A, number of user clusters t, number of nearest neighbors k, number of recommended items G
Output: Set of recommended items Ir
Steps:
(a) According to the APC algorithm, users in matrix A are clustered into t clusters, and the set of user clusters C={c1, c2, …, ct} is obtained. And the set of cluster centers R={r1, r2,…, rt} is determined.
(b) For any user uj, the mean deviation method is used to impute the ratings of unrated items of uj. Repeat step (b) to impute the ratings of unrated items of all users, and a dense rating matrix B is obtained.
(c) Based on the rating data of matrix A, the similarity of the active user u to each cluster center in R={r1, r2,…, rt} is calculated by Equation (7), and the most similar cluster cmax is selected as the cluster to which u belongs.
(d) Based on the matrix A, the similarity between u and each user in cmax is calculated using Equation (7), and k most similar users are selected as user u’s nearest neighbors Un={u1, u2,…, uk}.
(e) For unrated items of u, based on the rating data of matrix B, Equation (8) is used to predict the missing rating values for u.
(f) Top-G recommendation set Ir={i1, i2,…, iG} is provided to the active user u.
Steps (a)-(b) of the proposed algorithm are carried out offline, they do not affect the recommendation speed. The most time-consuming step of our algorithm APMDI-CF is to search for neighbors (i.e. Steps (c) and (d)). Step (c) calculate similarities between active user u and cluster centers, the computational complexity is O(t×n) (where t is the number of user clusters, n is the number of items). Step (d) searches for nearest neighbors in the cluster to which u belongs, the computational complexity is O(ma×n) (where ma denotes the total number of users in the cluster to which u belongs). So the total computational complexity of steps (c)-(d) is O(t×n)+O(ma×n). Since t and ma are both much smaller than n, the total complexity of steps (c)-(d) is O(n). The traditional memory-based collaborative filtering algorithms search for the nearest neighbors of u in the whole user space, the computational complexity is O(m×n) (where m is the number of users). Therefore, the computational complexity of the proposed algorithm APMDI-CF is lower than those of the memory-based collaborative filtering algorithms.
In Step (a) of the proposed algorithm APMDI-CF, the rating matrix A1(m, n) needs to be stored to cluster users by APC, so the space complexity is O(m×n). For Step (b), the rating frequency weights of m users on n items are stored, the space complexity is O(m×n). In Step (c), the similarities between the active user u to t cluster centers are calculated and stored, the space complexity is O(t). In Step (d), the similarities between u and ma users in cmax are calculated, and in Steps (e)-(f), G items are recommended, we need to store ma similarities and G items. Therefore, the space complexity of Step (d) is O(ma), and the space complexity of Steps (e)-(f) is O(G). The overall space complexity of the proposed algorithm APMDI-CF is O(m×n)+O(m×n)+O(t)+O(ma)+O(G)=O(m×n). For the traditional memory-based collaborative filtering algorithms, an m×n rating matrix needs to be stored to calculate similarities and recommend items to the active user u, the overall space complexity is O(m×n), too.
4. Experimental evaluation
4.1 Datasets
MovieLens100K dataset [28] and Jester dataset [29] were used to evaluate the proposed algorithm. The MovieLens100K dataset contains 100,000 ratings (rating values are integers from 1 to 5) of 1682 movies by 943 users. The Jester dataset contains more than 1,700,000 ratings (rating values are real numbers from -10 to 10) of 150 jokes by 63,974 users. In this paper, two subsets were randomly selected from MovieLens100K dataset and Jester dataset respectively for experiments. Table 1 shows the datasets used in our study. The Jester dataset were rescaled on to [1, 5]. For the MovieLens100K dataset, 600 users were selected as the training set and the other 300 users as the test set. For the Jester dataset, 500 users were selected as the training set and the other 150 users as the test set.
Table 1. MovieLens100K and Jester datasets used in our study.
1Sparsity level = 1 - total existing ratings / number of rows times number of columns in the rating matrix
4.2 Evaluation metrics
Mean absolute error (MAE) [30],[31], F1 [32], coverage [32] and run-time [33] were used as the criteria for measuring the performance of the algorithm. MAE measures the difference between true and predicted values. The smaller the MAE value, the higher the prediction accuracy of a collaborative filtering algorithm. Assume H ratings (i.e. q1, q2,…, qH) are hidden in the test set. The prediction values of the hidden ratings by a collaborative filtering algorithm are p1, p2,…, pH, then the MAE of the algorithm is:
\(\begin{align}M A E=\frac{\sum_{i=1}^{H}\left|p_{i}-q_{i}\right|}{H}\end{align}\) (9)
F1 is often used to evaluate the recommendation accuracy of a collaborative filtering algorithm. For all items in the active user’s test set, the ratings of these items are predicted, and G items with prediction values higher than the positive rating-threshold P1r are recommended to the active user. Let D denote the number of relevant recommended items (the items of the top-G list that are rated higher than the positive rating-threshold Pr by the active user). The precision is computed by Equation (10):
\(\begin{align}precision=\frac{D}{G}\end{align}\) (10)
The recall is computed by Equation (11):
\(\begin{align}recall=\frac{D}{M}\end{align}\) (11)
where M is the number of items in the test set and rated higher than Pr by the active user.
The F1 is computed by Equation (12):
\(\begin{align}\mathrm{F} 1=\frac{2 \times \text { precision } \times \text { recall }}{\text { precision }+ \text { recall }}\end{align}\) (12)
Coverage measures the percentage of ratings for which a collaborative filtering algorithm can provide predictions. The coverage is computed by Equation (13):
\(\begin{align}coverage=\frac{Q}{H}\end{align}\) (13)
where H is the number of ratings in the test set, and Q is the number of ratings that a collaborative filtering algorithm can make predictions.
The run-time is used to measure the scalability of a collaborative filtering algorithm. The shorter the run-time for the algorithm to generate recommendations, the better the scalability.
4.3 Experimental results
4.3.1 MAE of each algorithm for different values of k
We compared the proposed algorithm APMDI-CF with affinity propagation clustering-based algorithm (AP-CF2), kmeans-based algorithm (KCLUST-CF) [34] and user-based algorithm (UBCF) [15]. First, 20% of the ratings in the test set were randomly hidden, and the above 4 collaborative filtering algorithms were implemented to predict these ratings. Fig. 1 shows the MAE of each algorithm for different number of nearest neighbors k. The MAE values of all collaborative filtering algorithms decrease as we increase the value of k. But the MAE values of all algorithms decrease less and less, and eventually all the curves flatten out. In the case of MovieLens100K dataset, the MAE of the proposed algorithm APMDI-CF is lower than those of AP-CF, KCLUST-CF and UBCF at each value of k. Therefore, APMDI-CF performs better than the other 3 algorithms. For the other dataset Jester, the MAE of APMDI-CF is lower than those of AP-CF and KCLUST-CF. When the value of k is 15, 20, 25 or 30, the MAE of APMDI-CF is higher than that of UBCF. For the MovieLens100K dataset, APMDI-CF performs better than UBCF. However, for the Jester dataset, the performance of APMDI-CF is slightly worse than that of UBCF. The reason is that Jester is a dense dataset. When predicting an unrated item i for the active user, most of the nearest neighbors searched by UBCF have ratings on i, and thus the prediction accuracy is high. The MovieLens100K dataset is very sparse. The nearest neighbors searched by UBCF have few ratings on i, and there are many missing values, so the prediction accuracy is poor. Though the nearest neighbors searched by APMDI-CF are limited to the cluster to which the active user belongs, the missing values of the nearest neighbor ratings are effectively imputed by the mean deviation method. This allows every nearest neighbor to participate in the rating prediction, so the prediction accuracy of APMDI-CF is higher than that of UBCF. Datasets on actual websites are often extremely sparse, so APMDI-CF has stronger applicability.
Fig. 1. Comparison of MAE on different k: MovieLens100K dataset (left), Jester dataset (right).
4.3.2 MAE of each algorithm for different density levels
In this section, the number of ratings of the active user is changed, and the recommendation quality of each algorithm under different density levels s is verified. The value of k (number of nearest neighbors) for each algorithm is set to 30. We retained 20%, 40%, 50%, 60% and 80% of the ratings in test set to obtain 5 different density levels. Fig. 2 shows MAE of each collaborative filtering algorithm for different density levels s. The MAE values of the algorithms gradually decrease as we increase the value of s. The more ratings in the test set, the higher the recommendation quality of an algorithm. For MovieLens100K, the MAE of APMDI-CF is lower than those of AP-CF, KCLUST-CF and UBCF at each value of s. Therefore, APMDI-CF performs better than the other 3 algorithms. For Jester, the MAE of APMDI-CF is lower than those of AP-CF and KCLUST-CF. When the value of s is 20%, 40%, 50% or 60%, the MAE of APMDI-CF is lower than that of UBCF. When the value of s is 80%, the MAE of APMDI-CF is slightly higher than that of UBCF. This is consistent with the experimental results in Section 4.3.1. When the ratings are dense, most of the nearest neighbors searched by UBCF have ratings on the target item i, thus the prediction accuracy of UBCF is high. On the other hand, dense ratings weaken the imputation effect of the mean deviation method in APMDI-CF. As a result, UBCF performs better than APMDI-CF when s is 80%.
Fig. 2. Comparison of MAE on different s: MovieLens100K dataset (left), Jester dataset (right).
4.3.3. Comparison with popular algorithms
In order to compare the F1 and coverage of APMDI-CF with those of popular collaborative filtering algorithms, we implemented the mean squared differences and Jaccard-based algorithm (MJ-CF) [35], the kmeans-based algorithm (KCLUST-CF) [34], the potential model-based algorithm (PM-CF) [36], the user-based algorithm (UBCF) [15], the affinity propagation clustering-based algorithm (AP-CF), and the preference similarity-based algorithm (PS-CF) [37]. Fig. 3 and Table 2 show the F1 values. In Fig. 3, the neighbor size varies from 10 to 30. For both Movielens100K and Jester datasets, the F1 values of APMDI-CF are larger than those of the other six algorithms. Table 2 gives the average F1 values of all collaborative filtering algorithms. The F1 is the average of 3 values of each algorithm that the neighbor size k varies from 10 to 30. As shown, for Movielens100K and Jester datasets, the average F1 values of APMDI-CF are 0.867 and 0.773, respectively. They are all larger than those of the other algorithms. It can be concluded that the proposed algorithm APMDI-CF has the highest recommendation accuracy.
Fig. 3. Comparison of F1: MovieLens100K dataset (above), Jester dataset (below).
Table 2. Average F1 of each algorithm.
Table 3 shows the coverage of each algorithm. The number of nearest neighbors for each algorithm is set to 5. For Movielens100K and Jester datasets, the coverage values of APMDI-CF are 1.000 and 1.000, respectively. They are all larger than those of the other algorithms. Therefore, the proposed algorithm APMDI-CF performs better than the other 6 algorithms in coverage.
Table 3. Coverage of each algorithm.
4.3.4 Comparison of run-time and complexity
We compared the running speed of APMDI-CF with that of UBCF. We implemented APMDI-CF and UBCF on Movielens100K dataset. For APMDI-CF, the number of user clusters t is set to 8, and the number of nearest neighbors k is set to 30. For UBCF, the value of k is also set to 30. The response times of APMDI-CF and UBCF are shown in Fig. 4. The response time of APMDI-CF is 1,660 milliseconds, and the response time of UBCF is 1,736 milliseconds. APMDI-CF performs better than UBCF. APMDI-CF searches for nearest neighbors in the cluster to which the active user belongs, which reduces the range of searching neighbors, and thus APMDI-CF runs faster.
Fig. 4. Comparison of run-time.
Table 4 shows the computational complexity (CC) and space complexity (SC) of each algorithm. The computational complexity of the proposed algorithm APMDI-CF is O(n), which is the lowest among all the 7 algorithms. The space complexity of each algorithm is O(m×n).
Table 4. Computational complexity and space complexity of each algorithm.
5. Conclusions and future work
Nowadays, recommendation systems are used more and more widely in e-commerce, social network, video/music on demand, etc. Collaborative filtering is a successful technology for providing recommendations to online users, but it faces serious scalability and sparsity problems. In this paper, we propose a novel collaborative filtering recommendation algorithm based on affinity propagation clustering and mean deviation. Affinity propagation clustering is used to cluster users, which can reduce the range of searching neighbors and improve real-time performance of the collaborative filtering algorithm. For the missing values of nearest neighbors, the mean deviation method is proposed and used to impute these values, which alleviates the sparsity of the ratings and ensures the recommendation quality of the algorithm. Experiments were carried out on the movie and joke datasets. The results show that our algorithm APMDI-CF has high recommendation quality, and runs faster. When using APC to cluster users, the size of the bias parameter needs to be constantly adjusted to obtain the required number of clusters. How to efficiently determine the bias parameter value will be the focus of future work.
Acknowledgement
We would like to express our acknowledgements to the providers of datasets of MovieLens and Jester. This work was supported by the Youth Foundation of Humanities and Social Sciences of Ministry of Education of China under the Grant No. 22YJCZH073.
References
- C. Mu, W. Chen, Y. Liu, D. Lei and R. Liu, "Virtual information core optimization for collaborative filtering recommendation based on clustering and evolutionary algorithms," Applied Soft Computing, vol. 116, pp. 108355, 2022.
- A. Gazdar and L. Hidri, "A new similarity measure for collaborative filtering based recommender systems," Knowledge-Based Systems, vol. 188, pp. 105058, 2020.
- R. Bagher, H. Hassanpour and H. Mashayekhi, "User trends modeling for a content-based recommender system," Expert Systems with Applications, vol. 87, pp. 209-219, 2017. https://doi.org/10.1016/j.eswa.2017.06.020
- R. Kuo, C. Chen and S. Keng, "Application of hybrid metaheuristic with perturbation-based K-nearest neighbors algorithm and densest imputation to collaborative filtering in recommender systems," Information Sciences, vol. 575, pp. 90-115, 2021. https://doi.org/10.1016/j.ins.2021.06.026
- S. Wan and Z. Niu, "A hybrid E-learning recommendation approach based on learners' influence propagation," IEEE Transactions on Knowledge and Data Engineering, vol. 32, no. 5, pp. 827-840, 2020. https://doi.org/10.1109/TKDE.2019.2895033
- M. Nguyen, J. Yu, T. Nguyen and S. Yongchareon, "High-order autoencoder with data augmentation for collaborative filtering," Knowledge-Based Systems, vol. 240, pp. 10773, 2022.
- B. Hammou, A. Lahcen and S. Mouline, "FRAIPA version 2: A fast recommendation approach based on self-adaptation and multi-thresholding," Expert Systems with Applications, vol. 118, pp. 209-216, 2019. https://doi.org/10.1016/j.eswa.2018.09.055
- M. Najafabadi, A. Mohamed and C. Onn, "An impact of time and item influencer in collaborative filtering recommendations using graph-based model," Information Processing & Management, vol. 56, no. 3, pp. 526-540, 2019. https://doi.org/10.1016/j.ipm.2018.12.007
- C. Chang and H. Chang, "Strategies of collaborative filtering recommendation mechanism using a deep learning approach," in Proc. of IEEE 3rd Eurasia Conference on IOT, Communication and Engineering, pp. 381-385, 2021.
- H. Wu, G. Wu, Y. Wang and Y. Chang, "Prediction on recommender system based on bi-clustering and moth flame optimization," Applied Soft Computing, vol. 120, pp. 108626, 2022.
- S. Chen and Y. Peng, "Matrix factorization for recommendation with explicit and implicit feedback," Knowledge-Based Systems, vol. 158, pp. 109-117, 2018. https://doi.org/10.1016/j.knosys.2018.05.040
- C. Feng, J. Liang, P. Song and Z. Wang, "A fusion collaborative filtering method for sparse data in recommender systems," Information Sciences, vol. 521, pp. 365-379, 2020. https://doi.org/10.1016/j.ins.2020.02.052
- I. Belkhadir, E. Omar and J. Boumhidi, "An intelligent recommender system using social trust path for recommendations in web-based social networks," Procedia computer science, vol. 148, pp. 181-190, 2019. https://doi.org/10.1016/j.procs.2019.01.035
- J. Moon, Y. Jeong, D. Chae, J. Choi, H. Shim and J. Lee, "CoMix: Collaborative filtering with mixup for implicit datasets," Information Sciences, vol. 628, pp. 254-268, 2023. https://doi.org/10.1016/j.ins.2023.01.110
- R. Duan, C. Jiang, and H. Jain, "Combining review-based collaborative filtering and matrix factorization: A solution to rating's sparsity problem," Decision Support Systems, vol. 156, pp. 113748, 2022.
- Y. Leng, Z. Wu, W. Zhao, Z. Li, "Assessment method of black start scheme based on affinity propagation clustering weight," Automation of Electric Power Systems, vol. 44, no. 13, pp. 73-80, 2020.
- X. Wang, M. Yu, Z. Huo, D. Yang, "Short-term power prediction of distributed photovoltaic station cluster based on affinity propagation clustering and LSTNet," Automation of Electric Power Systems, vol. 47, no. 6, pp. 133-141, 2023.
- Z. Wei, Y. Wang, S. He, J. Bao, "A novel intelligent method for bearing fault diagnosis based on affinity propagation clustering and adaptive feature selection," Knowledge-Based Systems, vol. 116, pp. 1-12, 2017. https://doi.org/10.1016/j.knosys.2016.10.022
- Z. Geng, R. Zeng, Y. Han, Y. Zhong, H. Fu, "Energy efficiency evaluation and energy saving based on DEA integrated affinity propagation clustering: Case study of complex petrochemical industries," Energy, vol. 179, pp. 863-875, 2019. https://doi.org/10.1016/j.energy.2019.05.042
- B. Frey and D. Dueck, "Clustering by passing messages between data points," Science, vol. 315, no. 5814, pp. 972-976, 2007. https://doi.org/10.1126/science.1136800
- Y. Liu, J. Liu, Y. Jin, F. Li and T. Zheng, "An affinity propagation clustering based particle swarm optimizer for dynamic optimization," Knowledge-Based Systems, vol. 195, pp. 105711, 2020.
- S. Natarajan, S. Vairavasundaram, S. Natarajan and A. Gandomi, "Resolving data sparsity and cold start problem in collaborative filtering recommender system using linked open data," Expert Systems with Applications, vol. 149, pp. 113248, 2020.
- N. Alharbe, M. A. Rakrouki and A. Aljohani, "A collaborative filtering recommendation algorithm based on embedding representation," Expert Systems with Applications, vol. 215, pp. 119380, 2023.
- Y. J. Leng, Z. Y. Wu, Q. Lu and S. P. Zhao, "Collaborative filtering based on multiple attribute decision making," Journal of Experimental & Theoretical Artificial Intelligence, vol. 34, no. 3, pp. 387-397, 2022. https://doi.org/10.1080/0952813X.2021.1882000
- F. Fkih, "Enhancing item-based collaborative filtering by users' similarities injection and low-quality data handling," Data & Knowledge Engineering, vol. 144, pp. 102126, 2023.
- C. Zhang, X. Duan, F. Liu, X. Li and S. Liu, "Three-way Naive Bayesian collaborative filtering recommendation model for smart city," Sustainable Cities and Society, vol. 76, pp. 103373, 2022.
- H. N. Kim, A. El-Saddik and G. S. Jo, "Collaborative error-reflected models for cold-start recommender systems," Decision Support Systems, vol. 51, no. 3, pp. 519-531, 2011. https://doi.org/10.1016/j.dss.2011.02.015
- B. Wang, H. Xu, C. Li, Y. Li and M. Wang, "TKGAT: Graph attention network for knowledge-enhanced tag-aware recommendation system," Knowledge-Based Systems, vol. 257, pp. 109903, 2022.
- C. Xu, X. Wu, M. Wang, F. Qiu, Y. Liu and J. Ren, "Improving dynamic gesture recognition in untrimmed videos by an online lightweight framework and a new gesture dataset ZJUGesture," Neurocomputing, vol. 523, pp. 58-68, 2023. https://doi.org/10.1016/j.neucom.2022.12.022
- L. Frias-Paredes, F. Mallor, M. Gaston-Romeo and L. Teresa, "Dynamic mean absolute error as new measure for assessing forecasting errors," Energy Conversion and Management, vol. 162, pp. 176-188, 2018. https://doi.org/10.1016/j.enconman.2018.02.030
- D. Karunasingha, "Root mean square error or mean absolute error? Use their ratio as well," Information Sciences, vol. 585, pp. 609-629, 2022. https://doi.org/10.1016/j.ins.2021.11.036
- G. Adomavicius, A. Tuzhilin, "Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions," IEEE transactions on knowledge and data engineering, vol. 17, no. 6, pp. 734-749, 2005. https://doi.org/10.1109/TKDE.2005.99
- Y. Cho and J. Kim, "Application of web usage mining and product taxonomy to collaborative recommendations in e-commerce," Expert System with Applications, vol. 26, no. 2, pp. 233-246, 2004. https://doi.org/10.1016/S0957-4174(03)00138-6
- A. Ikotun, A. Ezugwu, L. Abualigah, B. Abuhaija and J. Heming, "K-means clustering algorithms: A comprehensive review, variants analysis, and advances in the era of big data," Information Sciences, vol. 622, pp. 178-210, 2023. https://doi.org/10.1016/j.ins.2022.11.139
- J. Bobadilla, F. Serradilla, J. Bernal, "A new collaborative filtering metric that improves the behavior of recommender systems," Knowledge-Based Systems, vol. 23, no. 6, pp. 520-528, 2010. https://doi.org/10.1016/j.knosys.2010.03.009
- Y. Leng, Q. Lu, C. Liang, "A collaborative filtering similarity measure based on potential field," Kybernetes, vol. 45, no. 3, pp. 434-445, 2016. https://doi.org/10.1108/K-10-2014-0212
- Y. J. Leng, Z. Y. Wu, Q. Lu, S. Zhao, "Collaborative filtering based on multiple attribute decision making," Journal of Experimental & Theoretical Artificial Intelligence, vol. 34, no. 3, pp. 387-397, 2022. https://doi.org/10.1080/0952813X.2021.1882000