## 4 I-NMF: Fusion of CIDAE and O-NeuMF-p
### Specific Fusion Process  
In data set \(\mathcal{O}\), \(m\) is the total number of users, and \(n\) is the total number of items. Additionally, the data of \(\mathcal{O}\) is divided into a training set \(\mathcal{X}\) and test set \(\mathcal{T}\).  
On the one hand, the input of CIDAE trained with \(\mathcal{X}\) is \(\mathbf{u}_{i}(\mathbf{u}_{i}\in\mathbb{R}^{n},i\in[1,m])\), and the output is \(\overline{\mathbf{u}}_{i}\). On the other hand, the input of O-NeuMF-p trained with \(\mathcal{X}\) is a group of user IDs and item IDs (\((u_{i},v_{j})(i\in[1,m],j\in[1,n])\)), and the output is the predicted value \(\hat{y}_{u_{i}v_{j}}(\hat{y}_{u_{i}v_{j}}\in(0,1))\).  
For each user \(u_{i}\) in \(\mathcal{O}\), taking the top-N recommendation as an example, our goal is to use only the data in \(\mathcal{X}\) and recommend the top-N items that may be of interest in the missing data. The accuracy and quality of the top-N recommendation is calculated by a comparison with the data in \(\mathcal{T}\).  
For each user \(u_{i}\), firstly, we use the trained CIDAE to get the vector \(\overline{\mathbf{u}}_{i}(\overline{\mathbf{u}}_{i}\in\mathbb{R}^{n})\) of the user \(u_{i}\). Then, we use the trained O-NeuMF-p to get \(n\) predicted values \(\hat{y}_{u_{i}v_{j}}(j\in[1,n])\) of the user \(u_{i}\). The vector consisting of these \(n\) predicted values is denoted as \(\overline{\mathbf{y}}_{i}(\overline{\mathbf{y}}_{i}\in\mathbb{R}^{n})\). In this way, we have the prediction vectors \(\overline{\mathbf{u}}_{i}\) and \(\overline{\mathbf{y}}_{i}\) corresponding to these two models for each user \(u_{i}\). The prediction vector for each user \(u_{i}\) in I-NMF is denoted as \(\mathbf{x}_{i}(\mathbf{x}_{i}\in\mathbb{R}^{n})\). The value of \(\mathbf{x}_{i}\) is determined by the prediction vectors \(\overline{\mathbf{u}}_{i}\) and \(\overline{\mathbf{y}}_{i}\), and the specific formula is as follows:  
\[\mathbf{x}_{i}=\beta\overline{\mathbf{y}}_{i}+(1-\beta)\overline{\mathbf{u}}_{i} \tag{18}\]  
where \(\beta\) is a hyper-parameter, and \(\beta\in[0,1]\). The introduction of \(\beta\) can adjust the fusion ratio of CIDAE and O-NeuMF-p. When \(\beta=0\), CIDAE is used for recommendation alone. Conversely, when \(\beta=1\), O-NeuMF-p is used for recommendation alone.  
We give the recommended top-N items based on the ranking of the value of \(\mathbf{x}_{i}\) in the missing data of the training set \(\mathcal{X}\). It is worth noting that the range of the value of \(\mathbf{x}_{i}\) is not necessarily between 0 and 1, but this does not affect the resolution of the top-N recommendation. Since our goal is to recommend top-N items, we only need to care about the ranking of the value of \(\mathbf{x}_{i}\).  
Our experimental results show that the accuracy and quality of the top-N recommendation of I-NMF is higher than that of CIDAE and O-NeuMF-p, and is also better than some of the current advanced recommendation algorithms. This confirms from the side that I-NMF can combine the advantages of the two models, and I-NMF achieves good recommendation results by using the idea of ensemble learning.  
Figure 3: The structure of I-NMF.