Standard backpropagation algorithm, where the weights are updated after each training pattern.
This means that the weights are updated many times during a single epoch. For this reason some problems,
will train very fast with this algorithm, while other more advanced problems will not train very well.
FANN_TRAIN_BATCH
(int)
Standard backpropagation algorithm, where the weights are updated after calculating the mean square error
for the whole training set. This means that the weights are only updated once during a epoch.
For this reason some problems, will train slower with this algorithm. But since the mean square
error is calculated more correctly than in incremental training, some problems will reach a better
solutions with this algorithm.
FANN_TRAIN_RPROP
(int)
A more advanced batch training algorithm which achieves good results for many problems. The RPROP
training algorithm is adaptive, and does therefore not use the learning_rate. Some other parameters
can however be set to change the way the RPROP algorithm works, but it is only recommended
for users with insight in how the RPROP training algorithm works. The RPROP training algorithm
is described by [Riedmiller and Braun, 1993], but the actual learning algorithm used here is
the iRPROP- training algorithm which is described by [Igel and Husken, 2000] which is an variety
of the standard RPROP training algorithm.
FANN_TRAIN_QUICKPROP
(int)
A more advanced batch training algorithm which achieves good results for many problems.
The quickprop training algorithm uses the learning_rate parameter along with other more advanced parameters,
but it is only recommended to change these advanced parameters, for users with insight in how the quickprop
training algorithm works. The quickprop training algorithm is described by [Fahlman, 1988].
FANN_TRAIN_SARPROP
(int)
Even more advance training algorithm. Only for version 2.2
Activation functions
FANN_LINEAR
(int)
Linear activation function.
FANN_THRESHOLD
(int)
Threshold activation function.
FANN_THRESHOLD_SYMMETRIC
(int)
Threshold activation function.
FANN_SIGMOID
(int)
Sigmoid activation function.
FANN_SIGMOID_STEPWISE
(int)
Stepwise linear approximation to sigmoid.
FANN_SIGMOID_SYMMETRIC
(int)
Symmetric sigmoid activation function, aka. tanh.
FANN_SIGMOID_SYMMETRIC_STEPWISE
(int)
Stepwise linear approximation to symmetric sigmoid
FANN_GAUSSIAN
(int)
Gaussian activation function.
FANN_GAUSSIAN_SYMMETRIC
(int)
Symmetric gaussian activation function.
FANN_GAUSSIAN_STEPWISE
(int)
Stepwise gaussian activation function.
FANN_ELLIOT
(int)
Fast (sigmoid like) activation function defined by David Elliott.
FANN_ELLIOT_SYMMETRIC
(int)
Fast (symmetric sigmoid like) activation function defined by David Elliott.
FANN_LINEAR_PIECE
(int)
Bounded linear activation function.
FANN_LINEAR_PIECE_SYMMETRIC
(int)
Bounded linear activation function.
FANN_SIN_SYMMETRIC
(int)
Periodical sinus activation function.
FANN_COS_SYMMETRIC
(int)
Periodical cosinus activation function.
FANN_SIN
(int)
Periodical sinus activation function.
FANN_COS
(int)
Periodical cosinus activation function.
Error function used during training
FANN_ERRORFUNC_LINEAR
(int)
Standard linear error function.
FANN_ERRORFUNC_TANH
(int)
Tanh error function; usually better but may require a lower learning rate. This error function aggressively
targets outputs that differ much from the desired, while not targeting outputs that only differ slightly.
Not recommended for cascade or incremental training.
Stop criteria used during training
FANN_STOPFUNC_MSE
(int)
Stop criteria is Mean Square Error (MSE) value.
FANN_STOPFUNC_BIT
(int)
Stop criteria is number of bits that fail. The number of bits means the number of output neurons
which differs more than the bit fail limit (see fann_get_bit_fail_limit, fann_set_bit_fail_limit). The bits are counted
in all of the training data, so this number can be higher than the number of training data.