## 3 Research Methodology
### QPSO Process
#### 3.3.1 MLP-ADAM-Based Localization
Consequently, each anchor point or test point of coordinates \((x_{i},\ y_{i})\) is associated with the discrete 'tile' values:  
\[ \begin{cases}n_{x}=\left[\frac{x-x_{off}}{u}\right]\\ n_{y}=\left[\frac{y-y_{off}}{v}\right]\end{cases}  \tag{6}\]  
Figure 2 (right) shows an example of virtual tessellation of the research space, in which square tiles with a side of 1 m have been superposed on the array of experimental points, with an offset of 20 cm in both directions, resulting in an array of 6 \(\times\) 22 tiles. The last step of the target preprocessing is required by the fact that the output of the standard MLP network lies in the interval [0, 1], thus a linear normalization of the set of values \(n_{x}\) and \(n_{y}\) must be performed according to:  
\[ \begin{cases}n_{x}^{\prime}=0.1+0.8\frac{n_{x}-1}{N_{x}-1}\\ n_{y}^{\prime}=0.1+0.8\frac{n_{y}-1}{N_{y}-1}\end{cases}  \tag{7}\]  
This rescaling guarantees that the set of normalized targets lies in the range [0.1, 0.9], thus optimizing the performance of the training process of the MLP in terms of computing speed and target separation. The training data are used in the standard feed forward-backpropagation learning process, which aims to find appropriate weight matrices \(W_{k}\) that best model the neural network on the spatial distribution of the experimental data. The output of the testing data is used for the training termination criterion, whereas the testing output, calculated with the same weight matrices, is not used for training. The testing error is obtained and stored, and the MLP training process is deemed complete when the relative positioning error reaches its minimum value. The first step of the feedforward phase consists of calculating the first hidden layer \(h_{1}\) using the whole input data \(X\) organized in a matrix of 96 rows--the signals in each point--and six columns--the six signals in each point--thus using the batch training process:  
\[\mathbf{h}_{1}=f(\mathbf{X}\mathbf{W}_{1}) \tag{8}\]  
In this expression, \(f(\cdot)\) is the filter or activation function that expresses the non-linearity feature of an MLP network. In this work, we used the standard sigmoid function \(f(x)=\frac{1}{1+\exp(-x)}\). In our previous research using the same experimental data [32], we determined that the best results were achieved with three hidden layers, thus here we keep the same architecture for this work. The second and third hidden layers as well as the output are then calculated according to Equation (9):  
\[ \begin{split}\mathbf{h}_{k+1}=f(\mathbf{h}_{k}\mathbf{W}_{k+1})\\ \mathbf{out}=f(\mathbf{h}_{3}\mathbf{W}_{4})\end{split}  \tag{9}\]  
The same process is performed separately for the test data. The MLP errors for both training and testing are calculated as \(err=\frac{1}{2}\sum\left(\mathbf{out}-\mathbf{tar}\right)^{2}\) where the sum extends to all elements of the output and target matrices. The standard MLP training is based on the gradient descent process in which the partial derivatives \(\Delta\mathbf{W}_{k}=\partial err/\partial\mathbf{W}_{k}\) of the weight matrixes are calculated and the weights \(W_{k}\) are updated according to the expression:  
\[W_{k}^{(n+1)}=W_{k}^{(n)}+\lambda\Delta\mathbf{W}_{k}^{(n)}+\eta\Delta\mathbf{W}_{k}^{ (n-1)} \tag{10}\]where \(\lambda\) is the learning rate and \(\mu\) is the momentum, a term that is included to speed up the training process by taking into account the correction applied at the previous iteration. In this work, we employed a refinement of the backpropagation algorithm, i.e., the novel adaptative momentum technique, or 'adam' [39], which is a proven method for expediting the learning process of the MLP. In this process, at every loop the update of each element in the weight matrices \(\mathbf{W}_{k}\) is proportional to the partial derivative \(\partial err/\partial\mathbf{W}_{kj}\) through a variable learning rate factor, which increases the training speed in flat regions of the MLP error.