## 3 Proposed Model
### Feature Extraction Layer  
The residual block [30], used in image processing, is utilized as the feature extraction layer. Furthermore, the feature extraction layer includes a novel process in which only salient features that affect the correlation of the user-book data can be selected. The feature extraction layer includes feature selection operation, feature rearrangement operation and residual connection. * Feature selection operation  
The feature selection operation extracts the input data features and selects only the data necessary to determine the user-book data correlation. Then, the convolution layer is used to analyze the data features. The convolution layer has kernels to create feature maps  
Figure 1: Structure of the feature extracted deep neural collaborative filtering. from input data. The features extracted by each kernel in the 1D-convolution layer [31] are expressed by Equation (2). \[Convolution\ layer\ (z)=z\cdot k(z) \tag{2}\]  
Here, \(k\) denotes a 1-dimensional input vector, \(k\) refers to the number of convolution kernels and \(\cdot\) is the convolution operator. Calculated convoluted features from \(l^{th}\) can be expressed by Equation (3). \[x_{i}^{l}=f\Bigg{(}\sum_{j}x_{j}^{l-1}.k_{ij}^{l}+b_{i}^{l}\Bigg{)} \tag{3}\]  
Here, \(x_{j}^{l}\) denotes \(i^{th}\) feature data of \(l^{th}\) layer, \(f\) is the activation function, \(x_{j}^{l-1}\) represents \(j^{th}\) feature data of the previous layer, \(k_{ij}^{l}\) indicates the related kernel between \(i^{th}\) and \(j^{th}\) features of \(l^{th}\) layer. Finally, \(b_{i}^{l}\) refers to the bias values of \(k_{ij}^{l}\) features. To prevent overfitting of extracted feature data and for convenience of convolutional layer interpretation, the corresponding data are input after average pooling [32]. Lastly, the batch normalization [33] process is performed to prevent the overfitting and the destruction of the convolutional layer and the slope of the data that underwent average pooling. Computations of feature data after global average pooling and batch normalization and input data are required; therefore, the feature data must undergo a feature rearrangement operation to have data maps identical to those of the input data. * Feature rearrangement operation  
The feature rearrangement operation involves two fully connected layers. The first layer uses the rectified linear unit (\(ReLU\)) activation function [34] to compute the selected feature data. The \(ReLU\) activation function can be expressed as Equation (4). \[ReLU(x)=\left\{ \begin{aligned} & x,\textit{if}\ x>0\\ & 0,\textit{if}\ x\leq 0\end{aligned} \right. \tag{4}\]  
The fully connected layer output value performs computations with the input data of the feature extraction layer. Therefore, selecting an activation function that can deliver accurate feature results of the user and item data is essential. We use the scaled exponential linear unit (\(\mathit{ReLU}\)) activation function [35] in the fully connected layer. The \(\mathit{ReLU}\) activation function possesses internal normalization to resolve the gradient loss of the exponential linear unit activation function [36]. Moreover, an advantage of \(\mathit{ReLU}\) is the conservation of the average and variance from the previous layer. The \(\mathit{ReLU}\) activation function can be expressed as Equation (5). \[\mathit{ReLU}(x)=\lambda\left\{ \begin{aligned} & x,\textit{if}\ x>0\\ &\alpha e^{x}-\alpha,\textit{if}\ x\leq 0\end{aligned} \right. \tag{5}\]  
Here, \(\alpha\) and \(\lambda\) as previously designated constants. The function is characterized by iterative multiplication by constant \(\lambda\) to maintain the input data variance and average. In addition, if the input data point is identical or below 0, the variance is reduced to prevent gradient loss. * Residual connection  
The value output of the \(\mathit{ReLU}\) activation function residually connects [37]--the feature extraction layer input data. Therefore, the residual connection can be expressed as Equation (6).