We make science discovery happen

This is the page dedicated to help users of data mining web application (the beta release currently available here), in case of selection of MLP + GA (Genetic Algorithm) Model to make experiments. This page is also directly reachable from the web application, in case users select the help button. The following contents are mainly dedicated to assist the user during the model parameter selection and setup, by giving details about each parameter, its role in the model, default value and suggestions about the right choice. What follows is organized into two main sections, referred to the functionalities that can be associated to the FMLPGA model, respectively Classification and Regression.
**Since July 2013 the model FMLPGA replaces the old MLPGA. This new version includes the double optional execution version, respectively parallel (on NVIDIA GPU device of Kepler 20 series) or serial (on a multi-processor multi-core CPU). Moreover it is able to perform multi-class classification.**

For each of these two functionalities, there are 3 sub-sections, related with the use cases that users can select to perform experiments, respectively Train, Test, Run.

- input dataset
- GPU or CPU
**0**: serial type execution (on CPU)**1**: parallel type execution (on GPU)- input nodes
- hidden layers
- 1st hidden layer nodes
- 1st activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent- 2nd hidden layer nodes
- 2nd activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent- output nodes
- output activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent- selection function
**0**: fitting**1**: ranking**2**: standard roulette (v1)**3**: optimized roulette (v2)- error threshold
- epochs
- error log frequency
- cross over rate
- mutation rate
- population size
- elitism rate
- tournament participants

**this parameter is a field required!**

This is the dataset file to be used as input for the learning phase of the model. It typically must include both input and target columns, where each row is an entire pattern (or sample of data). The format (hence its extension) must be one of the types allowed by the application (ASCII, FITS, CSV, VOTABLE). **More specifically, take in mind the following simple rule: the sum of input and output nodes MUST be equal to the total number of the columns in this file!**

It is a file generated by the model during training phase. It contains the resulting network topology as stored at the end of a training session. Usually this file should not be edited or modified by users, just to preserve its content as generated by the model itself.

Accepted entries are:

If left empty, its default is 1 (GPU)

**this parameter is a field required!**

It is the number of neurons at the first (input) layer of the network. **It must exactly correspond to the number of input columns in the dataset input file (Training File field), except the target columns**.

It is the number of hidden layers of the MLP network. It can assume only two values (1 or 2). As suggestion this should be selected according the complexity of the problem (usually 1 layer would be sufficient).

If left empty, its default is 1

**this parameter is a field required!**

It is the number of neurons of the first hidden layer of the network. As suggestion this should be selected in a range between a minimum of 2N + 1, where N is the number of input nodes.

It is the choice of which activation function should be associated to neurons of the 1st hidden layer. After this choice, all neurons of the layer will use the same activation function type. The options are:

By default, the hyperbolic tangent function is used.

It is the number of neurons of the second hidden layer of the network. As suggestion this should be selected smaller than the previous layer.

By default the second hidden layer is empty (not used)

It is the choice of which activation function should be associated to neurons of the 2nd hidden layer. After this choice, all neurons of the layer will use the same activation function type. The options are:

By default, if the 2nd layer is activated, the hyperbolic tangent function is used.

**this parameter is a field required!**

It is the number of neurons in the output layer of the network. It must correspond to the number of target columns as contained in the dataset input file (filed Training File).

**It is mandatory to set 2 neurons at least!**

It is the choice of which activation function should be associated to neurons of the output layer. After this choice, all neurons of the layer will use the same activation function type. The options are:

By default, the hyperbolic tangent function is used.

It is the choice of the selection function used to evolve chromosomes of genetic population at each training iteration. The options are:

By default, the standard roulette function is used.

This is the threshold of the learning loop. This is one of the two stopping criteria of the algorithm. Use this parameter in combination with the number of iterations.

If left empty, its default is 0.01

Number of training epochs, done in batch learning mode. This is the second stop condition of the algorithm.

If left empty, its default is 1000

Frequency (in steps) of training error storage in a log file, to evaluate the trend in the learning error during generation cycles.

If left empty, its default is 100

probability percentage (a real value between 0 and 1) of the cross over operator application during the population generation process.

Crossover happens when two chromosomes "break" themselves at the same point (inside the string coding the gene vector) and "exchange" their segments.

As all genetic operators, the crossover is not always applied in the genetic recombination, but with an associated probability (this parameter). Instead, the breaking point inside the chromosome where to apply crossover is selected randomly

If left empty, its default is 0.8 (i.e. 80%)

probability percentage (a real value between 0 and 1) of the mutation operator application during the population generation process.

The mutation operator makes a single change in a gene of a chromosome, replacing it with a new random value, selected in a fixed range (see parameter "chromosome perturbation value").

If left empty, its default is 0.4 (i.e. 40%)

This is the number of chromosomes which compose the population (an integer between 10 and 60). Remember that each chromosome is a solution of the problem. At each iteration (generation) this parameter indicates how many chromosomes should be considered in the population of the GA.

If left empty, the default value is 20

The parameter (user defined) related to this elitism mechanism defines the number of copies of the winner chromosome to be transmitted unchanged in the population of the next generation.

If left empty, its default is 2

This is the number of chromosomes in the population to be engaged in the so called "Ranking Selection".

This is in practice used only in case of "ranking" selection function choice. Among this number of participants, the first two chromosomes with higher fitness value are chosen to generate childs.

If left empty, its default is 4

(See the user manual for more details)

- input dataset
- weights file
- GPU or CPU
**0**: serial type execution (on CPU)**1**: parallel type execution (on GPU)- input nodes
- hidden layers
- 1st hidden layer nodes
- 1st activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent- 2nd hidden layer nodes
- 2nd activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent- output nodes
- output activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent

**this parameter is a field required!**

Dataset file as input. It is a file containing input and target columns.

It must have the same number of input and target columns as for the training input file.

For example, it could be the same dataset file used as the training input file.

**this parameter is a field required!**

It is a file generated by the model during training phase. It contains the resulting network topology as stored at the end of a training session. Usually this file should not be edited or modified by users, just to preserve its content as generated by the model itself.

It is a file generated by the model during training phase. It contains the resulting network topology as stored at the end of a training session. Usually this file should not be edited or modified by users, just to preserve its content as generated by the model itself.

Accepted entries are:

If left empty, its default is 1 (GPU)

**this parameter is a field required!**

It is the number of neurons at the first (input) layer of the network. **It must exactly correspond to the number of input columns in the dataset input file (Training File field), except the target columns**.

It is the number of hidden layers of the MLP network. It can assume only two values (1 or 2). As suggestion this should be selected according the complexity of the problem (usually 1 layer would be sufficient).

If left empty, its default is 1

**this parameter is a field required!**

It is the number of neurons of the first hidden layer of the network. As suggestion this should be selected in a range between a minimum of 2N + 1, where N is the number of input nodes.

It is the choice of which activation function should be associated to neurons of the 1st hidden layer. After this choice, all neurons of the layer will use the same activation function type. The options are:

By default, the hyperbolic tangent function is used.

It is the number of neurons of the second hidden layer of the network. As suggestion this should be selected smaller than the previous layer.

By default the second hidden layer is empty (not used)

It is the choice of which activation function should be associated to neurons of the 2nd hidden layer. After this choice, all neurons of the layer will use the same activation function type. The options are:

By default, if the 2nd layer is activated, the hyperbolic tangent function is used.

**this parameter is a field required!**

It is the number of neurons in the output layer of the network. It must correspond to the number of target columns as contained in the dataset input file (filed Training File).

**It is mandatory to set 2 neurons at least!**

It is the choice of which activation function should be associated to neurons of the output layer. After this choice, all neurons of the layer will use the same activation function type. The options are:

By default, the hyperbolic tangent function is used.

(See the user manual for more details)

- input dataset
- weights file
- GPU or CPU
**0**: serial type execution (on CPU)**1**: parallel type execution (on GPU)- input nodes
- hidden layers
- 1st hidden layer nodes
- 1st activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent- 2nd hidden layer nodes
- 2nd activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent- output nodes
- output activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent

**this parameter is a field required!**

Dataset file as input. It is a file containing input and target columns.

It must have the same number of input and target columns as for the training input file.

For example, it could be the same dataset file used as the training input file.

**this parameter is a field required!**

Accepted entries are:

If left empty, its default is 1 (GPU)

**this parameter is a field required!**

It is the number of neurons at the first (input) layer of the network. **It must exactly correspond to the number of input columns in the dataset input file (Training File field), except the target columns**.

It is the number of hidden layers of the MLP network. It can assume only two values (1 or 2). As suggestion this should be selected according the complexity of the problem (usually 1 layer would be sufficient).

If left empty, its default is 1

**this parameter is a field required!**

It is the number of neurons of the first hidden layer of the network. As suggestion this should be selected in a range between a minimum of 2N + 1, where N is the number of input nodes.

It is the choice of which activation function should be associated to neurons of the 1st hidden layer. After this choice, all neurons of the layer will use the same activation function type. The options are:

By default, the hyperbolic tangent function is used.

It is the number of neurons of the second hidden layer of the network. As suggestion this should be selected smaller than the previous layer.

By default the second hidden layer is empty (not used)

It is the choice of which activation function should be associated to neurons of the 2nd hidden layer. After this choice, all neurons of the layer will use the same activation function type. The options are:

By default, if the 2nd layer is activated, the hyperbolic tangent function is used.

**this parameter is a field required!**

It is the number of neurons in the output layer of the network. It must correspond to the number of target columns as contained in the dataset input file (filed Training File).

It is the choice of which activation function should be associated to neurons of the output layer. After this choice, all neurons of the layer will use the same activation function type. The options are:

By default, the hyperbolic tangent function is used.

(See the user manual for more details)

- input dataset
- GPU or CPU
**0**: serial type execution (on CPU)**1**: parallel type execution (on GPU)- input nodes
- hidden layers
- 1st hidden layer nodes
- 1st activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent- 2nd hidden layer nodes
- 2nd activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent- output activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent- selection function
**0**: fitting**1**: ranking**2**: standard roulette (v1)**3**: optimized roulette (v2)- error threshold
- epochs
- error log frequency
- cross over rate
- mutation rate
- population size
- elitism rate
- tournament participants

**this parameter is a field required!**

This is the dataset file to be used as input for the learning phase of the model. It typically must include both input and target columns, where each row is an entire pattern (or sample of data). The format (hence its extension) must be one of the types allowed by the application (ASCII, FITS, CSV, VOTABLE). **More specifically, take in mind the following simple rule: the sum of input and output nodes MUST be equal to the total number of the columns in this file!**

Accepted entries are:

If left empty, its default is 1 (GPU)

**this parameter is a field required!**

If left empty, its default is 1

**this parameter is a field required!**

By default, the hyperbolic tangent function is used.

By default the second hidden layer is empty (not used)

By default, if the 2nd layer is activated, the hyperbolic tangent function is used.

By default, the hyperbolic tangent function is used.

It is the choice of the selection function used to evolve chromosomes of genetic population at each training iteration. The options are:

By default, the standard roulette function is used.

This is the threshold of the learning loop. This is one of the two stopping criteria of the algorithm. Use this parameter in combination with the number of iterations.

If left empty, its default is 0.01

Number of training epochs, done in batch learning mode. This is the second stop condition of the algorithm.

If left empty, its default is 1000

Frequency (in steps) of training error storage in a log file, to evaluate the trend in the learning error during generation cycles.

If left empty, its default is 100

probability percentage (a real value between 0 and 1) of the cross over operator application during the population generation process.

Crossover happens when two chromosomes "break" themselves at the same point (inside the string coding the gene vector) and "exchange" their segments.

As all genetic operators, the crossover is not always applied in the genetic recombination, but with an associated probability (this parameter). Instead, the breaking point inside the chromosome where to apply crossover is selected randomly

If left empty, its default is 0.9 (i.e. 90%)

probability percentage (a real value between 0 and 1) of the mutation operator application during the population generation process.

The mutation operator makes a single change in a gene of a chromosome, replacing it with a new random value, selected in a fixed range (see parameter "chromosome perturbation value").

If left empty, its default is 0.4 (i.e. 40%)

This is the number of chromosomes which compose the population (an integer between 10 and 60). Remember that each chromosome is a solution of the problem. At each iteration (generation) this parameter indicates how many chromosomes should be considered in the population of the GA.

If left empty, the default value is 20

The parameter (user defined) related to this elitism mechanism defines the number of copies of the winner chromosome to be transmitted unchanged in the population of the next generation.

If left empty, its default is 2

This is the number of chromosomes in the population to be engaged in the so called "Ranking Selection".

This is in practice used only in case of "ranking" selection function choice. Among this number of participants, the first two chromosomes with higher fitness value are chosen to generate childs.

If left empty, its default is 4

(See the user manual for more details)

- input dataset
- weights file
- GPU or CPU
**0**: serial type execution (on CPU)**1**: parallel type execution (on GPU)- input nodes
- hidden layers
- 1st hidden layer nodes
- 1st activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent- 2nd hidden layer nodes
- 2nd activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent- output activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent

**this parameter is a field required!**

Dataset file as input. It is a file containing input and target columns.

It must have the same number of input and target columns as for the training input file.

For example, it could be the same dataset file used as the training input file.

**this parameter is a field required!**

Accepted entries are:

If left empty, its default is 1 (GPU)

**this parameter is a field required!**

If left empty, its default is 1

**this parameter is a field required!**

By default, the hyperbolic tangent function is used.

By default the second hidden layer is empty (not used)

By default, if the 2nd layer is activated, the hyperbolic tangent function is used.

By default, the hyperbolic tangent function is used.

(See the user manual for more details)

- input dataset
- weights file
- GPU or CPU
**0**: serial type execution (on CPU)**1**: parallel type execution (on GPU)- input nodes
- hidden layers
- 1st hidden layer nodes
- 1st activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent- 2nd hidden layer nodes
- 2nd activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent- output activation function
**0**: sigmoid**1**: threshold**2**: linear**3**: hyperbolic tangent

**this parameter is a field required!**

Dataset file as input. It is a file containing input and target columns.

It must have the same number of input and target columns as for the training input file.

For example, it could be the same dataset file used as the training input file.

**this parameter is a field required!**

Accepted entries are:

If left empty, its default is 1 (GPU)

**this parameter is a field required!**

If left empty, its default is 1

**this parameter is a field required!**

By default, the hyperbolic tangent function is used.

By default the second hidden layer is empty (not used)

By default, if the 2nd layer is activated, the hyperbolic tangent function is used.

By default, the hyperbolic tangent function is used.

(See the user manual for more details)