## 3 The Proposed Algorithm  
User-based CF algorithms compute predictions for the ratings that users would enter for items by executing two main phases:  
* Firstly, for each user \(U\), his NNs, i.e., the set of users that have similar tastes to \(U\) and who will act as recommenders to \(U\), are identified. Typically, in order for a user \(V\) to belong to \(U\)'s NN set, the similarity of ratings between \(U\) and \(V\) must exceed a specified threshold (e.g., the value 0, when using the PCC metric). The NN set for a user \(U\) may also be limited to the top-k users that have the higher similarity metrics to user \(U\). * Subsequently, predictions for the ratings that user \(U\) would enter for items that the user has not already rated are computed, based on the ratings of the user's NNs for the same items. Two of the most widely used similarity metrics for quantifying user similarity in CF are the Pearson correlation coefficient (PCC) and the cosine similarity (CS) [1,2]. The PCC is expressed as:  
\[sim\_p(U,\ V)=\frac{\sum_{k}(r_{U,k}-\overline{r_{U}})\times(r_{V,k}-\overline {r_{V}})}{\sqrt{\sum_{k}(r_{U,k}-\overline{r_{u}})^{2}\times\sum_{k}(r_{V,k}- \overline{r_{V}})^{2}}} \tag{1}\]  
where \(k\) is the set of items that have been rated by both users \(U\) and \(V\), while \(\overline{r_{U}}\) (resp. \(\overline{r_{V}}\)) is the average value of ratings entered by user \(U\) (resp. user \(V\)) in the rating database. Similarly, the CS metric [1,2] is expressed as:  
\[sim\_CS(U,\ V)=\frac{\sum_{k}r_{U,k}\times r_{V,k}}{\sqrt{\sum_{k}(r_{U,k})^{2} \times\sqrt{\sum_{k}(r_{V,k})^{2}}}} \tag{2}\]  
Subsequently, the rating prediction \(p_{U,i}\), which user \(U\) would assign to item \(i\), is computed as shown in Equation (3):  
\[p_{U,i}=\overline{r_{u}}+\frac{\sum_{V\in NN_{u}}sim(U,\ V)\times(r_{V,i}- \overline{r_{V}})}{\sum_{V\in NN_{u}}sim(U,\ V)} \tag{3}\]  
where \(sim(U,V)\) denotes the similarity between users \(U\) and \(V\), which may be computed using the PCC formula (Equation (1)) or the CS formula (Equation (2)), depending on the choice that has been made in the specific CF system implementation. The CF\({}_{\text{DR}}\) algorithm, proposed in this paper, introduces a preprocessing step where, for each user \(U\), rating predictions for each of the items that s/he has not already rated are computed using Equation (3). Obviously, this is only possible for items that have been rated by at least one user within a \(U\)'s NN set. Such prediction is examined for robustness, i.e., for high confidence about its accuracy. If the prediction is deemed robust, then the (robust) prediction \(p_{U,i}\) is stored in the user-item rating database as a DR, \(dr_{U,i}\). The DRs stored in the rating database can then be used in the main operation cycle of the user-user CF algorithm, thus contributing to (a) the phase of computing each user's NN set and (b) the phase of calculating the rating predictions. The incorporation of DRs in the user-item rating database increases the density of the database, hence extending the users' NN sets and increasing coverage, i.e., widening the range of user/item combinations for which personalized predictions can be computed. In this paper, the criteria considered to determine the robustness of each rating prediction \(p_{U,i}\) are Whether the number of \(U\)'s NNs that have contributed to the computation of \(p_{U,i}\) exceeds a threshold \(thr_{NN}\): The rationale behind the introduction of this criterion is that, if a rating prediction has been formulated by synthesizing the opinion of a large number of users, then this prediction is deemed more probable to be accurate. Formally, this criterion is expressed as \(\left|\left\{V\in\text{NN}(U):r_{V,i}\in R\right\}\right|\geq thr_{NN}\), where \(R\) is the extension of the user-item rating database. The optimal value for \(thr_{NN}\) is explored experimentally in Section 4.