## 3 Materials and Methods  
### Mlp  
The MLP model learns nonlinear relationships between complex inputs and outputs. It consists of an input layer, multiple hidden layers, and an output layer, where neurons in each layer process data through activation functions, as shown in Figure 1. The MLP implemented in the code addresses a multi-class classification problem using the ReLU activation function in hidden layers and a softmax output layer. In the input layer, the model receives the features of the training data, while the hidden layers transform the input data using weights and biases. Batch normalization is applied to normalize the inputs at each layer, improving training speed, while dropout is used to deactivate certain neurons, preventing overfitting. The ReLU activation function is used mainly in hidden layers to capture nonlinear relationships effectively. In the final output layer, the softmax activation function is applied to return the predicted probabilities for each class. During training, MLP utilizes the backpropagation algorithm to measure and minimize the difference between expected and actual values by adjusting weights and biases. The code uses sparse categorical cross-entropy as the loss function to optimize predictions for integer-encoded class labels and employs the Adam optimizer to change the learning rate efficiently. The reason for using the Adam optimizer in the MLP model is to ensure stable training and fast convergence. As a multilayer neural network, MLP experiences increased gradient fluctuations as the depth increases, making it difficult to adjust the learning rate when using stochastic gradient descent (SGD). If a fixed learning rate is applied, the optimization process may become excessively slow, or conversely, excessive updates may prevent the model from finding optimal weights, leading to divergence. To address this issue, the Adam optimizer dynamically adjusts the learning rate using first-order momentum (momentum) and second-order momentum (RMSProp), allowing it to mitigate sudden gradient variations and perform more effective optimization. Additionally, since MLP has a large number of parameters, preventing overfitting is crucial. Adam regulates individual weight updates, thereby improving generalization performance. In mini-batch training, [PERSON] independently adjusts the learning rate for each weight, ensuring stable training even with high-variance data. Experimental results also confirmed that the MLP model using Adam exhibited a stable learning curve and maintained high accuracy throughout the training process. The model undergoes iterative training for a user-specified number of epochs, where it is evaluated on both training and validation datasets. The ModelCheckpoint callback is utilized to save the model when the validation loss reaches its lowest point. After completing the training process, the final trained model is stored as a file. This structure enables MLP to learn complex patterns effectively, and performance can be optimized by tuning hyperparameters such as the number of neurons, the number of hidden layers, and the learning rate. Mathematically, in each hidden layer, an input vector \(x\) undergoes transformation via a weight matrix W and a bias vector b, followed by applying an activation function f(\(\cdot\)). For example, the output of the first hidden layer is computed as follows:  
\[h_{1}=f(W_{1}x+b_{1}) \tag{1}\]  
Figure 1: MLP model structure. where \(h_{1}\) represents the output of the first hidden layer, which is then used as the input for the subsequent layers. In the final output layer, the predicted value \(y\) is computed based on the weighted sum and bias without an activation function:  
\[y=W_{n}h_{n-1}+b_{n} \tag{2}\]  
In this process, backpropagation is used to adjust weights and biases to minimize the loss iteratively. MLP effectively learns high-dimensional data and nonlinear relationships through this mechanism while utilizing dropout and normalization to prevent overfitting, ensuring stable predictive performance.