Neural Lab
Neural Lab is a neural network simulator developed at the University of Guanajuato. It is built for Windows and is free. The current version is 3.1. This version support classic artificial neural networks and introduces neural networks in the complex domain. The neurons of a classic artificial neural network have one input and one output; on the other hand, the neurons of a complex domain neural network have two inputs and two outputs, one for the real part and another for the imaginary part. Some problems can be solved using the original data, however, if the data is arranged in pairs, it is better to use a complex domain neural network as each pair is processed by a single neuron instead of two independent neurons .
Features
Neural Lab is set of tools to assist the user on every step of the process when using artificial neural networks to solve a problem. It has support for several activation functions, such as the (sigmoid function or the tanh) function. The neural network architecture can be used to solve: data mapping, data classification or autoassociative memory problems; the software includes a tutorial with classic examples in artificial intelligence.
Neural network learning is based on two sets: the training set and the validation set. The training set is used on a new artificial neural network, as its name indicates, for training. The validation set is used after the neural network has been training to assess the performance of the trained neural network. The validation set is similar to the training set but not equal. Many practitioners of Neural Networks forget to validate the trained neural network using the validation set.
A terrible mistake that can happen when using artificial neural networks is to use the validation set for training. This can be easily understood when comparing the neural network with a student that gets in advanced a copy of the final test. He will surely study from the copy and try to memorize it. He may get a great score on this test, but not on other tests, even if they are similar.
The purpose of these two sets (the training set and the validation set) is to assess how well the neural network will behave with other sets during simulation. As a general rule, the training set must include all different training cases. This will guarantee that the neural network will behave similar with the validation set and the training set. In some real life problems, however, it is not possible to include all cases in the training sets.
To assess the quality of the behavior of an artificial neural network the mean squared error (mse) is typically used for comparison purposes. It is computed between the actual network output and the desired output (also known as target). Many practitioners have usually trouble deciding how many neurons or layers a neural network should have to solve a specific problem. Typically, the number of hidden neurons can be increased to reduce the mse. However, this must be done with caution as overfitting (machine learning) may occur. It is very easy to commit over-fitting, as many tools to simulate neural networks do not caution the user when this happens. If the mse obtained during training is much smaller than the mse obtained during validation, overfitting has been for sure committed; in this case the training and the neural network are useless.
Status
Neural Lab is under ACTIVE development.
See also
- Artificial neural network
- Neural network software
- Sergio Ledesma