## 3 Methods
### BP Neural Network
The logarithmic functions [11], \(\log(\hat{y})\) and \(\log(1-\hat{y})\), ensure that the loss escalates significantly when the prediction deviates from the actual label. The first term, \(-y\cdot\log(\hat{y})\), penalizes the model when the true label is 1 but the predicted probability is low, while the second term, \(-(1-y)\cdot\log(1-\hat{y})\), penalizes the model when the true label is 0 but the predicted probability is high. As a result, binary cross-entropy encourages the model to produce confident and accurate predictions, minimizing the loss when the predicted values align with the actual labels. \[\Delta w^{\prime}_{ij}(n)=-\alpha\frac{\partial E_{s}}{\partial w _{ij}}+\Delta w^{\prime}_{ij}(n-1) \tag{4}\] \[b^{\prime}_{i}(n)=-\alpha\frac{\partial E_{s}}{\partial b^{ \prime}_{i}}+\Delta b^{\prime}_{i}(n-1)\]  
Equation (4) represents the update rule for the weights and biases in a neural network during the training process, specifically within the context of backpropagation. In these equations, \(\Delta w^{\prime}_{ij}(n)\) and \(\Delta b^{\prime}_{i}(n)\) denote the changes in the weight \(w^{\prime}_{ij}\) and bias \(b^{\prime}_{i}\) at the \(n-th\) iteration, respectively. The term \(\alpha\) represents the learning rate, which controls the step size during parameter updates. The partial derivatives \(\frac{\partial E_{s}}{\partial w^{\prime}_{ij}}\) and \(\frac{\partial E_{s}}{\partial b^{\prime}_{i}}\) represent the gradients of the error function \(E_{s}\) with respect to the weights and biases, respectively. These gradients indicate the direction and magnitude of the adjustments needed to minimize the error [12]. Lastly, \(\Delta w^{\prime}_{ij}(n-1)\) and \(\Delta b^{\prime}_{i}(n-1)\) represent the changes in the weights and biases from the previous iteration, which are incorporated into the current update to improve convergence by introducing momentum, helping the network avoid overshooting or oscillations during training. The parameter settings of the BP neural network model, which were obtained through multiple cross-validation runs to determine the optimal values, are shown in Table 3. Cross-validation ensured robust hyperparameter tuning, preventing overfitting and selecting the best-performing configuration. Additionally, to handle class imbalance, an oversampling strategy was employed to increase the representation of underrepresented classes, ensuring fair classification performance across all classes. \begin{table}
\begin{tabular}{c c} \hline \hline
**Parameter** & **Value** \\ \hline Feature & 12 \\ Hidden & 15 \\ Output & 1 \\ Num\_epoch & 1000 \\ Learn\_rate & 0.02 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Neural network model parameter settings. The BP neural network training and prediction process follows the steps outlined in Algorithm 1. First, the dataset is loaded from a CSV file, where the features and target labels are separated. The data are then split into training and testing sets, with 60% of the data used for training and 40% for testing. Next, the BP neural network is initialized with specific parameters, including the number of input features, hidden neurons, output neurons, epochs, and learning rate. The training and test data are converted into PyTorch 2.3.1 tensors, and the model is trained using these inputs. After training, the network is used to predict the test set, and the predictions, along with the training loss history, are returned with a message indicating that the training is complete.