## 2 Materials and Methods
### Machine Learning Algorithms
#### 2.2.1 The Multilayer Perceptron Classifier  
The artificial neural network (ANN) is a computational model designed to simulate the network of neurons that make up a human brain. [PERSON] and [PERSON] [60] proposed a mathematical model of a neuron. [PERSON] [61] described the principles of neural network learning. Subsequently, [PERSON] [62] created a perceptron, a simple neural network made of independent McCulloch-Pitts neurons. It was innovative to apply the learning process as a method of programming. [PERSON] and [PERSON] [63] proved that perceptrons could not learn linearly inseparable functions such as XOR, which led to a decreased interest in perceptrons. This situation persisted until [PERSON] et al. [64] proposed the backpropagation algorithm (BP). The use of a hidden layer in the neural network enabled nonlinear calculations. [PERSON] et al. [65] used neural networks with backpropagation, where layers were constrained to be convolutional.  
One of the most commonly used types of unidirectional artificial neural networks is a multilayer perceptron (MLP). The multilayer perceptron classifier (MLPC) can classify datasets that are not linearly separable. Such a neural network was also used for the study presented in this article. The neurons in the MLP network are connected between layers peer-to-peer, with no connections between neurons within the same layer. There are three basic types of layers in the MLP network: input, hidden, and output. In the MLPnetwork used, five hidden layers were applied. The more hidden layers a network has, the deeper dependencies it can find. The connections between neurons are assigned weights established during the network's training. These weights help determine the importance of each variable; larger weights have a greater impact on the output than other inputs. All inputs are then multiplied by their respective weights and then added together. The results are then passed through an activation function, determining the output value. The role of the activation function is to introduce nonlinearity in the data processing path. Its output value is forwarded to the next layer in the network. Neurons in hidden layers use activation functions such as the rectified linear unit (ReLU) function, logistic sigmoid function, and hyperbolic tangent (Tanh) function. The ReLU function outputs the input directly if it is positive; otherwise, it returns zero. This was used for hidden layers in the constructed MLP network. The most common activation functions in the output layer are linear, logistic, and Softmax. The Softmax function, often used in the output layer of a multilayer perceptron adapted to solve classification problems, was used in the constructed MLP network. The Softmax is an exponential function whose value is normalized so that the sum of the activations for the entire layer equals one. According to this normalization, the output values can be interpreted as the probabilities of a given input signal belonging to particular classes [66].  
The training of MLP networks is possible thanks to the backward error propagation method [64; 67]. In this method, the error signal is calculated from the output layer, through hidden layers, toward the input layer. Then, the minimization of the sum of squares (or other function) of the learning error using the gradient descent optimization method takes place. The weights of connections between processing elements located in adjacent layers of the network are adjusted in this way. A stochastic gradient-based optimizer, ADAM [68], was applied to improve the weights in the trained MLP network. A constant learning rate (step size in updating the weights) of 0.001 was used. The input and output layers comprised fifteen and two neurons, respectively. The hidden layers between them contained fifteen, twelve, nine, seven, and four nodes, respectively.