Neural Network Toolbox |
Summary
There are several algorithm characteristics that we can deduce from the experiments we have described. In general, on function approximation problems, for networks that contain up to a few hundred weights, the Levenberg-Marquardt algorithm will have the fastest convergence. This advantage is especially noticeable if very accurate training is required. In many cases, trainlm
is able to obtain lower mean square errors than any of the other algorithms tested. However, as the number of weights in the network increases, the advantage of the trainlm
decreases. In addition, trainlm
performance is relatively poor on pattern recognition problems. The storage requirements of trainlm
are larger than the other algorithms tested. By adjusting the mem_reduc
parameter, discussed earlier, the storage requirements can be reduced, but at a cost of increased execution time.
The trainrp
function is the fastest algorithm on pattern recognition problems. However, it does not perform well on function approximation problems. Its performance also degrades as the error goal is reduced. The memory requirements for this algorithm are relatively small in comparison to the other algorithms considered.
The conjugate gradient algorithms, in particular trainscg
, seem to perform well over a wide variety of problems, particularly for networks with a large number of weights. The SCG algorithm is almost as fast as the LM algorithm on function approximation problems (faster for large networks) and is almost as fast as trainrp
on pattern recognition problems. Its performance does not degrade as quickly as trainrp
performance does when the error is reduced. The conjugate gradient algorithms have relatively modest memory requirements.
The trainbfg
performance is similar to that of trainlm
. It does not require as much storage as trainlm
, but the computation required does increase geometrically with the size of the network, since the equivalent of a matrix inverse must be computed at each iteration.
The variable learning rate algorithm traingdx
is usually much slower than the other methods, and has about the same storage requirements as trainrp
, but it can still be useful for some problems. There are certain situations in which it is better to converge more slowly. For example, when using early stopping (as described in the next section) you may have inconsistent results if you use an algorithm that converges too quickly. You may overshoot the point at which the error on the validation set is minimized.
Speed and Memory Comparison | Improving Generalization |
© 1994-2005 The MathWorks, Inc.