## 3 Materials and Methods
### Development of the Radial Basis Function Model (RBF)  
A radial basis function (RBF) network is a supervised learning network. Unlike a multilayer perceptron, in an RBF network, there is only one hidden layer and its neurons hold a radial basis activation function [78]. The output of the radial basis function is equal to the weighted sum of the responses of the hidden neurons, which can be expressed by Equation (6):  
\[y_{j}=\sum_{i=1}^{n}w_{ij}\varphi(\parallel x-c_{i}\parallel)+w_{0j}j=1,2, \ldots n \tag{6}\]  
where \(n\) is the number of nodes in the hidden layer,\(x\) is the output vector, \(c_{i}\) is the center of the \(i\)-th node in the hidden layer, \(w_{ij}\) is the weight of the \(i\)-th node in the hidden layer, \(\varphi_{i}\) is the radial basis function, and \(w_{0j}\) is the noise of the \(i\)-th node of the output layer. Fromthe input layer to the hidden layer, the mapping is nonlinear, while it is linear from the hidden layer to the output layer. Here, the Gaussian function (Equation (7)) was the radial basis function, and simple Euclidean distance was used to determine the distance from the entrance to the center [79; 80]. \[\varphi_{i}(x)=e^{-\frac{(|x-c_{i}|)^{2}}{e^{2}}} \tag{7}\]  
where \(x\) is the input vector, \(c_{i}\) is the vector center of the \(i\)-th hidden node of the RBF, and \(\sigma>0\) is the predefined value of the function expansion. RBF can be interpreted as a neural network consisting of three layers: input layer, hidden layer, and output layer. In the input layer, there is one neuron for each variant based on which prediction is made. The transfer functions of neurons in the shunt layer are nonlinear, and the transfer functions in the output layer of the neurons are linear. Each neuron \(j\) of the skived layer represents a radial basis function that measures the distance between the input vector \(x_{i}\) and the center of the basis function \(c_{j}\). In this way, each \(n\)-dimensional input vector \(x_{i}\) is nonlinearly transformed into an \(m\)-dimensional vector \(\varphi(x_{i})=[\varphi_{1}(x_{i}),\varphi_{2}(x_{i}),...,\varphi_{m}(x_{i})]\), where m is the number of radial basis functions (hidden neurons). Each output neuron represents one of the classes. The output values of the network are calculated as a weighted sum of activations in hidden neurons, shown by Equation (8):  
\[y_{k}=\sum_{j=1}^{m}\varphi_{j}(x_{i})w_{jk} \tag{8}\]  
where \(y_{k}(x_{i})\) is the activation of output neuron \(k\), and \(w_{jk}\) is the connection weight of hidden neuron \(j\) and output neuron \(k\). The training of the RBF network is carried out in two stages. In the first stage, the number of hidden neurons \(m\) is automatically determined and the parameters of the radial basis function \(c_{j}\) and \(\sigma_{j}\) are determined. A common approach is to apply a clustering algorithm and set the centers \(c_{j}\) to the values of the cluster centroids, and fix all widths \(\sigma_{j}\) to the same value proportional to the maximum distance between certain centers. The second phase includes the optimization of the weights on the training set. This can be achieved by minimizing the error sum of the squares. During this phase, the radial basis functions do not change, so the learning is efficient. Although the RBF network is faster to train and requires less labeled data, compared to the MLP network, the RBF network is less flexible and may underfit complex data sets (see Table 2). In addition, RBF networks are better interpreted than MLPs because the neurons of the hidden layer represent the prototypes or centers of the input data. On the other hand, the MLP network is a more powerful classification algorithm that can handle complex high-dimensional data sets. However, it requires more labeled training data and is more prone to overfitting.