The Complete SPRLIB & ANNLIB

learn_marquardt_ffnet

- train a feedforward or radial-basis function network with the dataset pointed by dset for steps number of times, using the Marquardt optimization method

SYNOPSIS

int learn_marquardt_ffnet (net, dset, steps, inilabda, mu, verbose)

ARGUMENTS

NET *net Pointer to FFNET or RBFFNET that is to be trained.
DATASET *dset Pointer to the dataset to be used for training.
long steps Number of steps of the Marquard-method to be performed.
double *inilambda A pointer to the initial value for lambda. On return, the current lambda is stored in inilabda; see also the note below.
double mu Parameter to control the rate of adaptation in the Marquard-method; see also the note below.
int verbose If TRUE, the MSE and lambda will be printed to stdout during the process.

RETURNS

TRUE if an error was detected, FALSE if no error was detected.

FUNCTION

Adapt the weights of the network under investigation using the Marquard minimization method. The network is trained on dset for steps cycles.

NOTE

The parameter inilambda controls the method: a large value of lambda is equivalent to steepest descent and a small value of lambda implies that this method is equivalent to Gauss-Newton optimization. The Marquard-method adapts the lambda during its process and the rate of adaption is controlled by the parameter mu. A large value of mu results in large changes of lambda and vice versa. Note also that a small value of lambda results in a faster decrease of the MSE; however, singular matrices can occur and will force the use of a larger lambda.

SEE ALSO

calc_marq_step, marq_grad_output, marq_grad_mse, marq_grad_net, marq_grad_unit, marq_free, marq_init, MARQ-variables

This document was generated using api2html on Thu Mar 5 09:00:00 MET DST 1998