## 4 Implementation and Experiment Results
### Parameter Analysis
#### 4.3.2 Rating Prediction Using the NNCF Predictor  
To show the benefit of the proposed NNCF predictor, the following popular recommendation algorithms are compared:  
* BasiclineOnly algorithm [37] predicts the baseline estimate for a given user and an item.
* KNNWithZScore algorithm [37] is a collaborative filtering algorithm taking into account each user's z-score normalization.
* KNNBaseline [37] is a collaborative filtering algorithm taking into account a baseline rating.
* SVD algorithm [38] is equivalent to Probabilistic Matrix Factorization.
* SVD++ algorithm [39] is an extension of SVD that takes into account implicit ratings.  
In the proposed NNCF model, the topological structure in the MLP layers might affect the recommendation result's performance. Therefore, four versions of NNCF models are studied. Table 5 shows the architecture and loss function used for each NNCF predictor. Note that the ReLu activation function is applied in each layer of the MLP layers. A dropout rate of 0.05 is used in each layer of the NNCF models to reduce interdependent learning among the neurons.  
The popular MAE (mean absolute error), MSE (mean squared error), and RMSE (rooted mean squared error) metrics used in recommendation systems are adopted in this study to evaluate the performance of the proposed recommender:  
MAE \[= \frac{1}{N^{\prime}\times M}\sum_{i=1}^{N^{\prime}}\sum_{j=1}^{M} \left|r_{ij}^{\prime}-r_{ij}^{\prime}\right|\] (11) MSE \[= \frac{1}{N^{\prime}\times M}\sum_{i=1}^{N^{\prime}}\sum_{j=1}^{M} \left(r_{ij}^{\prime}-r_{ij}^{\prime}\right)^{2}\] (12) RMSE \[= \sqrt{\frac{1}{N^{\prime}\times M}\sum_{i=1}^{N^{\prime}}\sum_{j=1 }^{M}\left(r_{ij}^{\prime}-r_{ij}^{\prime}\right)^{2}}\] (13)  
where \(r_{ij}^{\prime}\) denotes the predicted rating, \(r_{ij}^{\prime}\) denotes the real rating, \(N^{\prime}\) means the total number of testing users, and \(M\) represents the total number of items.  
Table 6 summarized the three metrics of the five popular baseline methods and the four proposed NNCF models. All the proposed NNCF models outperform the five popular baseline algorithms. Among the four NNCF models, the models with two hidden layers (NNCF\({}_{2}\) and NNCF\({}_{4}\)) result in lower MAE, MSE, and RMSEs compared to the models with one hidden layer (NNCF\({}_{1}\) and NNCF\({}_{3}\)). Also, the models that make a prediction using the categorical cross entropy loss function (NNCF\({}_{3}\) and NNCF\({}_{4}\)) are significantly better than those that make a prediction using the mean square error loss function (NNCF\({}_{1}\) and NNCF\({}_{2}\)).  
Figure 6 shows the effect of changing the number of nodes (i.e., the latent vector's dimension) in the embedding layer from 8, 16, 32, 64, to 128. For NNCF\({}_{1}\) and NNCF\({}_{2}\), their MAE values reach the lowest when the nodes are no less than 32. For NNCF\({}_{3}\) and NNCF\({}_{4}\), the lowest MAE can be found when the number of nodes is 16. This experiment shows that  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Model** & **Architecture in MLP Layers** & **Loss Function** \\ \hline NNCF\({}_{1}\) & One hidden layer: (50) nodes & mean squared error \\ NNCF\({}_{2}\) & Two hidden layers: (50, 10) nodes & mean squared error \\ NNCF\({}_{3}\) & One hidden layer: (50) nodes & categorical crossentropy \\ NNCF\({}_{4}\) & Two hidden layers: (50, 10) nodes & categorical crossentropy \\ \hline \hline \end{tabular}
\end{table}
Table 5: The architecture and loss function used for each NNCF predictor.  
selecting an appropriate number of nodes in the embedding layer is critical for achieving optimal recommendation results.