an acceptable level; (3) the estimation error is below the target; or (4) the Levenberg-Marquardt adjustment parameter $\mu$ becomes larger than $10^{10}$. A good typical indication for convergence is when the maximum value of $\mu$ has been reached. During training, one can choose to show the Neural Network Training tool (nntraintool) GUI in MATLAB to monitor the training progress. Figure \[fig:nntraintool\] illustrates a training example as it appears in nntraintool.

![Neural Network Training tool (nntraintool) in MATLAB.[]{data-label="fig:nntraintool"}](nntraintool_matlab.png){width="\linewidth"}

Note the ANN architecture view and the training stopping parameters with their ranges.

Results and Discussions {#sec:Results}
=======================

Every ANN creation and initialization function starts with different initial conditions, such as initial weights and biases, and different division of the training, validation, and test data sets. These different initial conditions can lead to very different solutions for the same problem. Moreover, it is also possible to fail in obtaining realistic solutions with ANNs for certain initial conditions. For this reason, it is a good idea to train several networks to ensure that a network with good generalization is found. Furthermore, by retraining each network, one can verify a robust network performance.

Figure \[trainingExample\] shows the training procedure of 100 ANNs with architecture mentioned 