## 3 Materials and Methods
### Configuration Models  
The methodology used to implement the different classification models in this study is described in Figure 7.  
Four types of ANNs and classification algorithms were used in this study. The models tested included a CNN and an RF classifier. Subsequently, two variants of the RBF algorithm were examined, followed by the MLP classifier. The GridSearchCV class was used from the scikit-learn Python library to adjust the best hyperparameters.  
Appendix A provides a comprehensive overview of the hyperparameters tested in each implemented model. This tested process enabled the identification of the optimal parameters for the models presented below.  
The CNN model was implemented using Tensorflow 2.15.0 with a 1D input layer consisting of 32 neurons and four 1D convolutional layers with 128, 64, 128, and 256 neurons,  
Figure 7: Proposed methodology for implementing models.  
respectively. The model also included a fully connected layer with 512 neurons and a 1D output layer. The ReLU activation function was used for the input, convolutional, and fully connected layers, while the output layer employed the Softmax activation function. Additionally, all convolutional layers had a maxpooling1D of 1 with a kernel size of 3. A dropout of 0.5 was applied to the fully connected layer. The hyperparameters included the Adam optimizer with a learning rate of 0.001, a beta of 0.9, and a momentum of 0.99. The training phase consisted of 100 epochs with a batch size of 32. Figure 8 shows the graph configuration of the CNN model.  
Table 11 shows the details for obtaining the best hyperparameter configuration for the CNN model.  
The CNN-RF model was created using the RandomForestClassifier class from the Python scikit-learn library. The input of the CNN-RF model was an intermediate layer (conv1D) of the CNN model, with an output shape of (None, 2, 256) and 98560 params. The hyperparameters considered were max_depth and n_estimators. The graph configuration of the CNN-RF model is shown in Figure 9.  
Table 12 shows the hyperparameter testing for obtaining the best configuration for the CNN model.  
The Gaussian function is the main base function for RBF, and it was implemented for the two analyzed approaches. The first algorithm was implemented through the Gaussian Process Classifier (GPC) and RBF classes from the Python scikit-learn library, with values for the kernel hyperparameters of 1**2** and RBF and a max_iter_predict of 20. The C-Support Vector Classification (SVC) class from the Scikit-learn library for Python was used for the second RBF approach, with a kernel RBF and regularization hyperparameter C of 7000 and a gamma of 0.01. The configurations of these models are described in Figure 10.  
Figure 8: CNN configuration.  
Figure 9: CNN-RF configuration.  
Table 14 shows the details for obtaining the best hyperparameter configuration for the GPC-RBF model, and Table 15 shows the identical process for the SVC-RBF model.  
The MLPClassifier class from the Python scikit-learn library was used to implement the MLP classifier model. The hyperparameters used were the ReLU activation function, with an alpha of 0.0001; hidden layer sizes of 120, 100, and 50; an adaptative learning_rate; a max_iter of 5000; and an Adam solver. Figure 11 shows the graph configuration of the MLP model.  
Table 14 shows the hyperparameter testing for obtaining the best configuration for the MLP model.  
The specified hyperparameter configurations of the models above permitted optimal accuracy results, as evidenced by the evaluation presented in Appendix A. Table 3 displays all optimized hyperparameters the models utilize.