Detect User’s Rating Characteristics by Separate Scores for Matrix Factorization Technique

A recommender system can effectively solve the problem of information overload in the era of big data. Recent research on recommender systems, specifically Collaborative Filtering, has focused on Matrix Factorization methods, which have been shown to have excellent performance. However, these methods do not pay attention to the influence of a user’s rating characteristics, which are especially important for the accuracy of prediction or recommendation. Therefore, in order to get better performance, we propose a novel method based on matrix factorization. We consider that the user’s rating score is composed of two parts: the real score, which is decided by the user’s preferences; and the bias score, which is decided by the user’s rating characteristics. We then analyze the user’s historical behavior to find his rating characteristics by using the matrix factorization technique and use them to adjust the final prediction results. Finally, by comparing with the latest algorithms on the open datasets, we verified that the proposed method can significantly improve the accuracy of recommender systems and achieve the best performance in terms of prediction accuracy criterion over other state-of-the-art methods.


Introduction
With the rapid development of the Internet, network information has increased (and continues to grow) exponentially, leading to rising difficulties in getting useful information. The recommender system is able to put forward to users information they are interested in; to some extent, it alleviates the problems mentioned above. Therefore, the role of the recommendation system is becoming more and more prominent and has been widely used in shopping [1], tourism [2], movies [3], and other internet platforms.
Recommender systems can accurately suggest valuable information to users because of the Collaborative Filtering (CF) [4][5][6] algorithm, which does not need to provide extra information (such as content of the item), and can make accurate recommendations on the basis of the user's historical behavior only, such as clicking, browsing, and rating. This is an efficient recommendation algorithm and one of the most widely used. Other studies [7,8] deal with the content and collaborative-based hybrid mechanisms in multimedia information retrieval.
Matrix factorization [9] technique is one of the main technologies for collaborative filtering algorithm, in that the users' rating matrix is decomposed into two low dimensional matrices, which represent the users' interests and the items' features respectively, and then they are used to make predictions or recommendations.
However, sometimes, the user's rating score does not really indicate how much the user likes the item. In fact, all users have their own rating characteristics; some of them are more stringent and make a lower score commonly, while others tend to give higher scores. Through the above analysis, we believe that the user's final rating score is a "virtual score", which has been adjusted according to his rating characteristics. The rating score is composed of two parts: one part is related to the user's preference, we call it the "real score", and another part is the "bias score" decided by the user's rating characteristics. Obviously, it is not accurate enough to analyze the user's preferences from historical rating data, which contains the bias score. Koren et al. [10] proposed that there is a deviation from user's personal factors in the rating score, but they think that the value of the deviation is simply determined by the average score of both user and item. Averaging the rating characteristic can simplify the model, but the experiments in this paper show that the prediction accuracy will be greatly reduced.
Based on the above reasons, we propose a novel CF method based on matrix factorization and show the basic framework of this method in Figure 1. We analyze the user's historical rating data and separate it to the real score and the bias score, and then learn the user's preferences on the real score as well as from the bias score to learn the user's rating characteristics, which are quantified by the vectors called "bias feature". Finally, these features can be used to predict the user's rating score on other items, and the items with higher prediction score are recommended to them. By comparing with the latest algorithms on the open data sets, we verified that the proposed method can significantly improve the accuracy of recommender systems.
Symmetry 2018, 10, x FOR PEER REVIEW 2 of 14 make a lower score commonly, while others tend to give higher scores. Through the above analysis, we believe that the user's final rating score is a "virtual score", which has been adjusted according to his rating characteristics. The rating score is composed of two parts: one part is related to the user's preference, we call it the "real score", and another part is the "bias score" decided by the user's rating characteristics. Obviously, it is not accurate enough to analyze the user's preferences from historical rating data, which contains the bias score. Koren et al. [10] proposed that there is a deviation from user's personal factors in the rating score, but they think that the value of the deviation is simply determined by the average score of both user and item. Averaging the rating characteristic can simplify the model, but the experiments in this paper show that the prediction accuracy will be greatly reduced. Based on the above reasons, we propose a novel CF method based on matrix factorization and show the basic framework of this method in Figure 1. We analyze the user's historical rating data and separate it to the real score and the bias score, and then learn the user's preferences on the real score as well as from the bias score to learn the user's rating characteristics, which are quantified by the vectors called "bias feature". Finally, these features can be used to predict the user's rating score on other items, and the items with higher prediction score are recommended to them. By comparing with the latest algorithms on the open data sets, we verified that the proposed method can significantly improve the accuracy of recommender systems. Prediction Data Figure 1. The framework of the proposed method, in which the user-item rating matrix is divided into a real rating matrix and a bias rating matrix. We then learn the relevant features from these two matrices and use them to predict the user's rating score.
The remainder of this paper is organized as follows: In Section 2, we introduce the CF methods and the matrix factorization techniques. Section 3 gives a detailed description of the proposed Figure 1. The framework of the proposed method, in which the user-item rating matrix is divided into a real rating matrix and a bias rating matrix. We then learn the relevant features from these two matrices and use them to predict the user's rating score.
The remainder of this paper is organized as follows: In Section 2, we introduce the CF methods and the matrix factorization techniques. Section 3 gives a detailed description of the proposed method and provides a specific solution. In Section 4, the experimental evaluations and discussions are presented. We have a brief conclusion in Section 5.

Related Work
The CF algorithm is one of the most successful algorithms in a recommendation system, which can be divided into two classes [11]: memory-based methods and model-based methods.
Memory-based methods are mainly based on the similarity between users [12] and items [13] to make a recommendation. Taking the user-based CF method as an example: in order to make recommendations for a given user, we first calculates the similarity between the active user and all the other users, and then choose the users who are more similar to that active user as his neighbors based on the Top-N method. We finally make recommendations to the active user according to the behaviors of these neighbors. Although this method is very efficient and easy to implement, there are a lot of problems that are not easy to solve in practical applications, such as scalability and sparsity.
In order to solve the existing problems of the memory-based CF algorithm, many models based on CF algorithms have been proposed: regression-based model [14], latent semantic model [15], clustering model [16], Bayesian model [17], and matrix factorization model [18,19]. In these models, the matrix factorization model has become an outstanding one to learn potential features, such as the famous Singular Value Decomposition (SVD) [20] algorithm. Because of the high complexity of the SVD algorithm, the researchers began to look for an approximate decomposition, such that the user-item rating matrix is decomposed into two low dimensional matrices, which are expressed as the users' preferences and the items' features, respectively. The representative works of this method include Non-negative Matrix Factorization (NMF) [21], Nonparametric Probabilistic Principal Component Analysis (NPCA) [22], and Maximum Margin Matrix Factorization (MMMF) [23]; they all show good performance in dealing with largescale data. In order to further improve the accuracy of the matrix factorization model, many models add additional information to enhance the ability to learn the features of users and items, Zhang et al. [24] added the users' social information by obtaining the similarity between them to the model, and Liang et al. [25] added the co-occurrence relation between items to improve the performance of the matrix factorization model. In addition, Wibowo et al. [26] improved the density of the matrix by generating pseudo transactions to make the matrix decomposition results more stable and accurate.
However, these improvements mentioned above do not essentially solve the problem that the user's rating data has been modified by his rating characteristics, which makes it difficult to get an accurate result of the user's preferences. Commonly, the unexpectedness included in rating data is taken as an error, and some other researchers, such as Mori [18] and Ortega [27], think that the user's bias is the difference between the average score of the user and the average score of the whole dataset. However, the unexpectedness can help to increase accuracy [28] and can include large user and item biases, i.e., systematic tendencies for some users to give higher ratings than others, and for some items to receive higher ratings than others [10]; Wang [29] verifies this idea. Koren [30] also considers dynamic CF, which thinks that biases change with time. Obviously, in practice, the user's bias may be more complex; Jonathan [31] discusses the difference between bias and magic barrier. Some other types of bias are also discussed, such as popular bias [32,33] and position bias [34].
In this paper, we use a vector to represent the user's bias feature, which is a numerical representation of the user's rating characteristics. We use the matrix factorization technique to get the bias features from the user's historical rating behavior, and then apply these features to correct the final prediction result, so as to improve the accuracy of recommendation.

Methods and Algorithms
In this section, we will introduce the details of the proposed method and the implementation process.

Real Score and Bias Score
Let the user-item rating matrix of n users to m items be R ∈ R n×m , the entry R ij represents the i-th user's rating score on the j-th item, if the rating record does not exist, then R ij = 0. According to the previous discussion, when R ij = 0, R ij should contains two parts, one part is realR ij decided by the i-th user's rating characteristics, characteristics, and another part is biasR ij decided by the i-th user's preferences. So we have: and on the whole rating matrix: Although there is a certain bias of the user's rating, it is clear that the bias score should not be too large; therefore, we have some limitations on biasR, which we will discuss later.

User Preferences and Item Features
Here, we discuss the relationship between the real score and the user's preferences. According to [10], item j is associated with a vector V j ∈ R 1×a that represents the features of the j-th item, where the dimension a indicates that the item has a features, similarly, user i is also associated with a vector U i ∈ R 1×a that represents the i-th user's preferences, and the k-th element U ik measures the extent of interest the i-th user has in the k-th feature of the items. Finally, we use the product of U i and V j to represent the real score realR ij : Assuming that all users' interests are represented by a matrix U ∈ R n×a , and the features of all items are expressed by the matrix V ∈ R m×a , we get:

User Bias Features and Item Bias Weights
Here, we discuss the impact of the user's bias features on the biasR. Like the user's preferences, we believe that the user's bias features are also the user's own inherent attributes, so we define a vector P i ∈ R 1×b as the i-th user's bias features, where the parameter b represents the dimension of the vector. Although the user's bias features are fixed, the bias score for different items is not the same; therefore, the biasR is also affected by items. Thus, we define another vector Q j ∈ R 1×b as the bias weights for the j-th item, and then we have: If the bias features of all users are represented by a matrix P ∈ R n×b , and the bias weights of all items are represented by a matrix Q ∈ R m×b , then on the whole data:

The Unified Model
We combine the above description to form the final model. Include Equations (3) and (5) in Equation (1) and we get: Therefore, in order to get the matrix P, Q, U and V to satisfy Equation (7), we obtain the following loss function: where || · || 2 F denotes the Frobenius norm, and the variable δ ij is used to control the elements that should be added to the loss, when R ij = 0, then δ ij = 1, means that the element should be included in the loss, otherwise δ ij = 0.
Obviously, the smaller the L is, the matrix P, Q, U and V obtained are more accurate. We add some regularization terms to prevent overfitting and avoid the circumstance that one of the matrices increases infinitely and the other matrix tends to 0, so we get the loss function as follows: where α and β are regular parameters and are both larger than 0. As mentioned above, the bias score should not be too large; therefore, the proportion of the bias score is controlled by adjusting the parameters α and β. We set α = kβ, where k ≥ 1 and replace β with the parameter λ, and the final model of this paper is as follows: By solving the optimization problem in Equation (10), we will be able to get the required four matrices P, Q, U and V.

The Solution of Our Method
Here, we will give a specific solution of the proposed method. We update the variables alternately, according to the following two steps in order to get the minimum value of L: (1) keep U and P, update V and Q; (2) keep V and Q, update U and P; Repeat step (1) and (2) until L converges. What follows is the method of updating parameters.

The Updating Rules for V and Q
We obtain the partial derivative of V j from Equation (10): where C n ∈ R n×n is a diagonal matrix, and C n ii = 0 if R ij = 0, otherwise C n ii = 1. Similarly, we get the partial derivative of Q j from Equation (10): We set the derivatives (11) and (12) to zero and obtain the analytical solutions as: It can be seen from Equations (13) and (14) that updating V needs to use the value of Q and updating Q needs to use the value of V; therefore, you can use a temporary variable to remember the value of the last updated V and Q for the current updating round. However, this paper uses another strategy to solve this problem: we can update biasR and realR before updating V and Q according to Equations (4) and (6), and then we get the final updating rules:

The Updating Rules for U and P
Same as the method to get updating rules for V and Q, we obtain partial derivatives of U i and P i respectively from Equation (10): We set the derivatives (17) and (18) to zero and obtain the analytical solutions as: We also update biasR and realR before updating U and P to avoid the interdependence between parameters, so we get the final update rules for U and P:

Algorithm Overview
Based on the above derivation, we give a summary of the algorithm in Algorithm 1.

Algorithm 1. Algorithm of Proposed Model
Input: User-item rating matrix R Parameters n, m, a, b, k, λ Output: Matrix P, Q, U and V 1. Randomly initialize P, Q, U and V; 2. repeat 3. Compute biasR and realR based on Equations (4) and (6); 4. for i = 1 to n do 5.
for j = 1 to m do 10.
end for 13. until convergence When the matrix U, V, P, and Q are obtained through the above algorithm, the unknown entries in rating matrix R can be predicted and we can recommend to the users items with higher prediction score. In this paper, the prediction scoreR ij of the i-th user on the j-th item is calculated with the following expression:R

Data Description
In order to test the performance of our method, we select three different open datasets for the experiments: MovieLens-100K, MovieLens-1M, and Epinions.
The MovieLens-100K data set is from the MovieLens website, which contains nearly 100,000 rating records of 943 users on 1682 films and all the rating scores are a positive integer and not greater than 5. The source of the MovieLens-1M data set is the same as that of the MovieLens-100K data set, but this one is released later and contains 1,000,209 rating records of 6040 users for 3952 movies, where each user rated at least 20 movies. The Epinions dataset consists of the user's ratings of merchandise from the Epinions website; however, it contains several users with fewer ratings and many items that lack valuable evaluation information. Therefore, before the experiments, we first preprocess the dataset such that users who have scored less than 10 times and items that have been scored less than 10 times are removed. Finally, 354,857 rating records of 15,687 users on 11,657 items are acquired. The statistics of the three datasets are shown in Table 1. As can be seen from Table 1, the MovieLens-100K dataset is the smallest, the average of users' rating times is the most in the MovieLens-1M; and the Epinions dataset is the most sparse.

Evaluation Measures
The proposed method is first to predict the user's rating score, and then to make recommendations based on the prediction. Therefore, we adopt the Mean Absolute Error (MAE) [31] method, which is commonly used in the field of recommendation system to evaluate the performance of the algorithms, and the expression is as follows: where N is the number of test data, R ij represents the rating score on the j-th item by the i-th user in the test data, andR ij represents the predicted score obtained by using the recommendation algorithm. Obviously, the lower the MAE value, the better the predicted results coincident with the user's real situation, which means better performance of the algorithm.

Compared Methods
In order to verify the effectiveness and accuracy of our method, we choose a variety of recommendation algorithms to compare with ours, which are listed as follows: Item-Based (IB) [13]: The basic idea of this method is to calculate the similarity between items and then recommend items similar to what is preferred by the active user. In this paper, we use the vector cosine similarity model to compute the item-item similarities.
SVD [20]: This algorithm is based on the Singular Value Decomposition method, wherein the rating matrix is decomposed into two low dimensional matrices, which will be further used to make the prediction. PMF [35]: A widely used matrix factorization model, based on the Gaussian model for the recommendation. In this paper, we set the regularization parameters by the grid {0.01, 0.05, 0.1, 0.5, 1, 5, 10}.
MCoC [15]: The main idea of this method is clustering the users and items into several subgroups, and then making recommendations within each subgroup by using the basis CF method.
DsRec [36]: A hybrid model by combining the basis clustering model and the matrix factorization model to improve prediction accuracy.
PMMMF [37]: This method was proposed by Kumar, who improved the traditional MMMF method by using Proximal Support Vector Machine (PSVM).
Hern [38]: This method was proposed by Hernando, so we use the first author's name to name this algorithm; they use the matrix factorization method based on Bayesian probability model to decompose the user-item rating matrix into two nonnegative matrices, where the values of all elements are between 0 and 1.
SCC [39]: This method is the same as MCoC, which is a recommendation algorithm based on clustering; the difference is that it clusters items by using a self-constructing clustering method.
TyCo [40]: This method borrows ideas of object typicality from cognitive psychology and finds "neighbors" of users based on user typicality degrees in user groups.

Experimental Results
In our experiments, we divide the three public data sets into two parts, respectively, randomly select 80% of the data as the training data, and the remaining 20% as the test data. Each dataset is randomly divided five times and the average value of the MAE obtained in all the five tests is regarded as the final result. The predicted score calculated by Equation (25) may not be an integer, while the user's rating scores are all integers in the test data; therefore, the prediction results are rounded and then the integer obtained is used as the final prediction score.
The experimental results on MovieLens-100K are shown in Table 2, where we set the parameters k = 9, λ = 0.8, a = 3 and b = 1. Table 3 summarizes the performance of different methods on MovleLens-1M, where the configuration of parameters is the same as in MovieLens-100K, except that we set a to 10; we will discuss the impact of the parameters on the experimental results later. Table 4 shows the experimental results on Epinions, where we set the parameters k = 19, λ = 0.6, a = 1 and b = 1. By observing the experimental results on three data sets from Tables 2-4, we can get the following conclusions: • The experimental results show that the proposed method has the lowest MAE value in all rounds of tests, which means that our method has a higher prediction accuracy. Therefore, it is verified that considering the user's rating characteristics can indeed improve the performance of the recommendation system. • Although our algorithm has achieved the best results in all three datasets, the degree of improvement is different. By comparing with the best results of other algorithms, we reduced the MAE value by about 0.03 in MovieLens-100K, by nearly 0.04 in MovieLens-1M and by 0.02 in Epinions. By observing the statistics of the three datasets from Table 1, we believe that the reason for this difference may be due to the number of ratings per user. Because on the MovieLens-1M dataset, the average number of users' rating times is the largest, reached about 165 times, which is very useful to get accurate user's rating characteristics, while in Epinions, the average number of users rating times is only about 23, which brings a certain degree of difficulty to accurately get the user's rating characteristics.

•
We set different values for the parameter a on the three datasets, which means that the more user rating times, the more complex the user's rating characteristics we can get; thus, we need to use a higher dimensional vector to express bias features.
On all the three datasets, we set b = 1, which means that most of the users' realR is only decided by their main preference, and the influence of the secondary preference on realR is very small. From another perspective, we can consider that these subtle effects are also caused by the users' rating characteristics. Therefore, if we set the value of b to be greater than 1, there will be an overfitting situation. We will discuss the impact of parameters on the performance of the proposed method in the paragraphs below.

Experimental Results
In this part, we mainly discuss the impact of parameters in the proposed model.

Impact of a
We selected 20 different values for a on the three datasets for the experiment. The values are all between 1 and 20. We set k = 9, λ = 0.8 and b = 1 on MovieLens-100K and MovieLens-1M, and set k = 19, λ = 0.6 and b = 1 on Epinions. The experimental results are shown in Figure 2a.
It can be seen from Figure 2a that on Epinions, the MAE value increases with the increase of a, while on the MovieLens-100K and MovieLens-1M data sets, it decreases first and then increases gradually. After analysis, we believe that because the number of ratings per user on the Epinions data set is very small, the bias feature vector with the dimension of 1 is enough to be a good characterization of the user's rating characteristics. If we continue to increase the dimension of a, it will be over fitting, so the greater the value of a on Epinions, the worse the performance. However, on MovieLens-100K and MovieLens-1M, the number of ratings per user is much bigger than on the previous one; it is difficult to completely characterize the user's rating characteristics by a lower dimensional vector. Therefore, with the increase of a, prediction performance will be improved. The best performance is achieved when dimension a is appropriate. When the parameter a continues to increase, it will be over fitting, which appeared on Epinions, thus the performance will gradually decrease. The impact of parameters a , b , k and λ . In the experiment on each parameter, we fix three parameters and change the remaining one. The framework of the proposed method divides the user-item rating matrix into a real rating matrix and a bias rating matrix, and then we learn the relevant features from these two matrices and use them to predict the user's rating score.
It can be seen from Figure 2c that with the increase of λ , the MAE value has the same trend on all the three datasets and has reached the minimum value at about 0.6 λ = . A smaller λ will lead to over fitting, while a larger λ will result in poor fitting results; both of the two cases will lead to poor performance of the model. As can be seen from Figure 2d, when the value of k is small, with the increase of k , the value of MAE decreases at a faster rate. This is due to the fact that the smaller value of k means that the bias score in the model is relatively large, which is not consistent with the actual situation. Therefore, an appropriate value of k can make the model more reasonable, so as to get a better performance.

Conclusions
In this paper, we propose a novel collaborative filtering method based on the matrix factorization technique. The method considers that the user's final rating score has been affected by the user's rating characteristics, which makes the ratings not fully representative of the user's real preferences. Because the matrix factorization method is suitable for the mining of features, we use it to explore the users' rating characteristics through their historical rating behaviors. It helps estimate the degree of deviation when they make a new rating and the prediction results are more in line with the actual situation. Finally, the experimental results on three real datasets show that the proposed method can significantly improve prediction accuracy. We think that the content that the user recommends causes a user bias; thus, we will consider the recommendation context's influence on the user bias in future work. Moreover, we will also discuss the dynamic rating characteristic that ensures that at different times, the user's rating characteristics will be different, which is more in line with actual user behavior.
Author Contributions: All the authors discussed the algorithm required to complete the manuscript. J.Z. and G.S. conceived the paper and performed the experiments. J.Z. discussed the impact of the parameters and revised the paper.  Figure 2. The impact of parameters a, b, k and λ. In the experiment on each parameter, we fix three parameters and change the remaining one. The framework of the proposed method divides the user-item rating matrix into a real rating matrix and a bias rating matrix, and then we learn the relevant features from these two matrices and use them to predict the user's rating score.

Impact of b
As with the test for the parameter a, we did the same for parameter b. We set k = 9, λ = 0.8 and a = 1 on MovieLens-100K and MovieLens-1M, and set k = 19, λ = 0.6 and a = 1 on Epinions. The experimental results are shown in Figure 2b.
As can be seen from Figure 2b, with the increase of b, the value of MAE on all the three datasets have maintained a rising trend, although the MAE value on MovieLens-1M was slightly reduced at first. The value was too small to be ignored; therefore, we believe that increasing the parameter b will make the performance of the proposed model worse. The reasons for this situation may be that the user's secondary preferences have little effect on the real score. When the user's bias feature is added to the model, the user's secondary preferences are interpreted as part of it; therefore, only the user's main preference needs to be considered in the model.

Impact of λ and k
The parameter λ is used to control the fitting degree, while the parameter k is used to control the proportion of the bias score. The impact of these two parameters on the performance of our model is shown in Figure 2c,d, respectively.
It can be seen from Figure 2c that with the increase of λ, the MAE value has the same trend on all the three datasets and has reached the minimum value at about λ = 0.6. A smaller λ will lead to over fitting, while a larger λ will result in poor fitting results; both of the two cases will lead to poor performance of the model. As can be seen from Figure 2d, when the value of k is small, with the increase of k, the value of MAE decreases at a faster rate. This is due to the fact that the smaller value of k means that the bias score in the model is relatively large, which is not consistent with the actual situation. Therefore, an appropriate value of k can make the model more reasonable, so as to get a better performance.

Conclusions
In this paper, we propose a novel collaborative filtering method based on the matrix factorization technique. The method considers that the user's final rating score has been affected by the user's rating characteristics, which makes the ratings not fully representative of the user's real preferences. Because the matrix factorization method is suitable for the mining of features, we use it to explore the users' rating characteristics through their historical rating behaviors. It helps estimate the degree of deviation when they make a new rating and the prediction results are more in line with the actual situation. Finally, the experimental results on three real datasets show that the proposed method can significantly improve prediction accuracy. We think that the content that the user recommends causes a user bias; thus, we will consider the recommendation context's influence on the user bias in future work. Moreover, we will also discuss the dynamic rating characteristic that ensures that at different times, the user's rating characteristics will be different, which is more in line with actual user behavior.
Author Contributions: All the authors discussed the algorithm required to complete the manuscript. J.Z. and G.S. conceived the paper and performed the experiments. J.Z. discussed the impact of the parameters and revised the paper.

Conflicts of Interest:
The authors declare no conflict of interest.