# NeuralNCD: A Neural Network Cognitive Diagnosis Model Based on Multi-Dimensional Features
## 3 Our Proposed NeuralNCD Framework
### IRT Interaction Module  
The model parameters are represented as vectors in this module's interaction layer, which is based on the 3-parameter logistic model. The model is combined with a neural network and the powerful fitting ability of the neural network is used to deal with the nonlinear relationship between students and exercises. Meanwhile, to improve the speed and accuracy of the neural network and prevent overfitting, a data pre-processing layer is added before each neural network layer to preprocess the input data. Specifically, the module contains one interaction layer, two fully connected layers and one output layer of the neural network, and the data pre-processing layer is added before the activation functions of the fully connected layers and the output layer to normalize the input data. The expression of the interaction layer is given in Equations (7) and (8).  
\[x=(1.7*e*\alpha-b)*a \tag{7}\]  
\[x=g*(1-x)+(1-s)*x \tag{8}\]  
where \(x\) represents the interaction vector after students interact with the exercise features, 1.7 is an empirical parameter, \(g*(1-e*\alpha)\) represents the change in student status when students answer the exercise correctly without possessing the corresponding knowledge,but by guessing, and \((1-s)*(e*\alpha)\) represents the change in student status when students answer the exercise correctly with the corresponding level of knowledge.  
After obtaining the interaction vector \(x\), it is fitted by the fully connected layer and the output layer, as shown in Equations (9)-(11).  
\[f1=\Phi\left(BN\left(W_{1}*x^{\mathrm{T}}\right)\right) \tag{9}\]  
\[f2=\Phi(BN(W_{2}*f1)) \tag{10}\]  
\[y=\Phi(BN(W_{3}*f2)) \tag{11}\]  
where \(W_{1}\), \(W_{2}\), \(W_{3}\) are the neural network weight parameters and \(\varphi\) is the activation function _sigmoid_. The \(BN\) in Equation (9) is the preprocessing of the input data for each layer of the network, and the processing is shown in Equations (12)-(15).  
\[\mu_{\beta}=\frac{1}{m}\sum_{i=1}^{m}x_{i} \tag{12}\]  
\[\sigma_{\beta}^{2}=\frac{1}{m}\sum_{i=1}^{m}\left(x_{i}-\mu\beta\right) \tag{13}\]  
\[\hat{x}_{i}=\frac{x_{i}-\mu\beta}{\sqrt{\sigma_{\beta}^{2}+\theta}} \tag{14}\]  
\[y_{i}=\gamma\hat{x}_{i}+\beta \tag{15}\]  
where \(x_{i}\) is the value of the input data, \(\mu_{\beta}\) is the mean of the data, \(\sigma_{\beta}^{2}\) is the standard deviation of the data and \(\hat{x}_{i}\) is the value after normalizing the data. \(y_{i}\) is the output value after the reconstruction transformation of the normalized data. \(\gamma\), \(\beta\), \(\theta\) are the learnable reconstruction parameters. Training \(\gamma\), \(\beta\) helps the network to learn how to recover the distribution of features that the original network learned. However, the \(\theta\) and \(\gamma\), \(\beta\) parameters have opposite effects, and training \(\theta\) helps the neural network to normalize the data better.  
In the module, to mitigate the black-box property of the neural network, we use the activation function _sigmoid_ to satisfy the monotonicity assumption and enhance the interpretability of the diagnostic results. In the neural network, each element of \(W_{1}\), \(W_{2}\), \(W_{3}\) is restricted to be positive in order for the output of the network to increase monotonically.