Artificial Neural Network

openModeller id: ANN

Current version: 0.2    Developer(s): Alex Oshika Avilla, Fabricio Augusto Rodrigues

Accepts Categorical Maps: no

Requires absence points: no

Author(s): Chopra, Paras, modified by Alex Oshika Avilla and Fabrício Augusto Rodrigues


An artificial neural network (ANN), also called a simulated neural network (SNN) or commonly just neural network (NN), is an interconnected group of artificial neurons that uses a mathematical or computational model for information processing based on a connectionistic approach to computation. In most cases an ANN is an adaptive system that changes its structure based on external or internal information that flows through the network. In more practical terms, neural networks are non-linear statistical data modeling or decision making tools. They can be used to model complex relationships between inputs and outputs or to find patterns in data. Content retrieved from Wikipedia on the 06th of May, 2008:


Number of neurons in the hidden layer

openModeller id: HiddenLayerNeurons

Number of neurons in the hidden layer (additional layer to the input and output layers, not connected externally).

Data type: integer  Domain: [1.0, oo]  Typical value: 14

Learning Rate

openModeller id: LearningRate

Learning Rate. Training parameter that controls the size of weight and bias changes during learning.

Data type: real  Domain: [0.0, 1.0]  Typical value: 0.3


openModeller id: Momentum

Momentum simply adds a fraction m of the previous weight update to the current one. The momentum parameter is used to prevent the system from converging to a local minimum or saddle point. A high momentum parameter can also help to increase the speed of convergence of the system. However, setting the momentum parameter too high can create a risk of overshooting the minimum, which can cause the system to become unstable. A momentum coefficient that is too low cannot reliably avoid local minima, and can also slow down the training of the system.

Data type: real  Domain: [0.0, 1.0]  Typical value: 0.05

Training type

openModeller id: Choice

0 = train by epoch, 1 = train by minimum error

Data type: integer  Domain: [0.0, 1.0]  Typical value: 1


openModeller id: Epoch

Determines when training will stop once the number of iterations exceeds epochs. When training by minimum error, this represents the maximum number of iterations.

Data type: integer  Domain: [1.0, oo]  Typical value: 5000000

Minimun Error

openModeller id: MinimunError

Minimum mean square error of the epoch. Square root of the sum of squared differences between the network targets and actual outputs divided by number of patterns (only for training by minimum error).

Data type: real  Domain: [0.0, 0.5]  Typical value: 0.01

Sample models

The following images show models in the environmental space (temperature x precipitation) generated with the same input (Thalurania furcata boliviana localities dataset) by the Artificial Neural Networks algorithm (training by epochs). Green dots are presence points, red dots are pseudo-absences generated outside the respective bioclim model. The different models reflect the non-deterministic nature of the algorithm:

fig. 1: ANN model 1 with default parametersfig. 2: ANN model 2 with default parametersfig. 3: ANN model 3 with default parameters