## 2 The NN Tool  
When trying to achieve algorithmic reduction with a statistical model and small datasets, we often run the risk of finding unrealistic and unreliable relationships between causal variables and a variable representing the effect being studied. This is also the case with neural models, where we must avoid overfitting to obtain realistic relationships, and we must minimise the role of variability (due to the random choice of initial weights) to obtain reliable results. The tool presented here seeks precisely to avoid these problems. In the present paper, we describe NNs and this tool conceptually; for more technical details, see [5].  
The NN models used in the tool are fairly standard, i.e., feedforward networks with backpropagation training; see [16; 17] for the fundamentals of these kinds of networks (multi-layer perceptrons: MLPs). These networks possess just one hidden layer, as it is sufficient to approximate any continuous function [18; 19]. The hidden neurons are endowed with hyperbolic tangent transfer functions, while the single output neuron is endowed with a linear one. In the latest applications of the tool, the training technique has been modifiedwith respect to the original one described in [5]: a further improvement was made for the analysis of small datasets. We now use the Broyden-Fletcher-Golfarb-Shanno (BFGS) algorithm [20], which shows better performance than the standard backpropagation. The usual way to obtain a non-linear relationship between inputs and targets (to be approximated by outputs), which is generally valid, is to divide the total dataset into three subsets and apply a training-validation-testing procedure. The connection weights (i.e., the free parameters of the NNs) are fixed on the training set by stopping the training phase when the error on the validation set begins to increase; then, the model performance is measured on a third set, unknown to the NNs--the so-called test set. In our tool, developed for analysing small datasets, a generalised leave-one-out procedure is adopted for the phases of training, validation and testing.  
This procedure is depicted in Figure 1. In our complete dataset, formed by a number of input-target pairs (patterns), we extract a single input-target pattern and consider it as the test set. Then, a validation set is randomly chosen, and the remaining patterns constitute the training set. At the end of all the epochs (iterations) of an NN run, the model is able to fix the connection weights, and a transfer function from inputs to output is obtained. But this result can be influenced by the specific random choices of the initial weights and of the members of the validation set. Thus, the NN tool performs multiple runs in an ensemble approach by choosing different random values for weights and members of the validation set. This allows us to calculate the ensemble mean of the outputs and 'average away' the intrinsic variability of the NN results.  
After this reconstruction of one value of the target, the procedure is followed again for all the other patterns; each of them becomes, sequentially, the test set. As a final result, at the end of this generalised leave-one-out procedure, we are able to achieve the estimation of all output values and ensemble means.  
Inside this tool, standard multilinear regressions are also performed to form a benchmark, which permits us to evaluate the specific value added by the use of NNs in the analyses. In these linear analyses, we adopt the same approach to training: for each single  
Figure 1: Sketch of the generalised leave-one-out procedure (from [7]).  
pattern, the coefficients of the linear regression are fixed on the other data (the union of the training and validation sets used in the NN method). Thus, the linear model can fix its coefficients on more data (this is an advantage with respect to the NN model); as a result, and as we show in the following, the better performance of the NNs is even more notable. Obviously, in the linear model, no ensemble strategy is required.