srchbre
(To be removed) 1-D interval location using Brent’s method
srchbre will be removed in a future release. For more information,
see Transition Legacy Neural Network Code to dlnetwork Workflows.
For advice on updating your code, see Version History.
Syntax
[a,gX,perf,retcode,delta,tol] = srchbre(net,X,Pd,Tl,Ai,Q,TS,dX,gX,perf,dperf,delta,tol,ch_perf)
Description
srchbre is a linear search routine. It searches in a given
direction to locate the minimum of the performance function in that direction. It uses a
technique called Brent’s technique.
[a,gX,perf,retcode,delta,tol] = srchbre(net,X,Pd,Tl,Ai,Q,TS,dX,gX,perf,dperf,delta,tol,ch_perf)
takes these inputs,
net | Neural network |
X | Vector containing current values of weights and biases |
Pd | Delayed input vectors |
Tl | Layer target vectors |
Ai | Initial input delay conditions |
Q | Batch size |
TS | Time steps |
dX | Search direction vector |
gX | Gradient vector |
perf | Performance value at current
|
dperf | Slope of performance value at current |
delta | Initial step size |
tol | Tolerance on search |
ch_perf | Change in performance on previous step |
and returns
a | Step size that minimizes performance |
gX | Gradient at new minimum point |
perf | Performance value at new minimum point |
retcode | Return code that has three elements. The first two elements correspond to the number of function evaluations in the two stages of the search. The third element is a return code. These have different meanings for different search algorithms. Some might not be used in this function. |
0 Normal | |
1 Minimum step taken | |
2 Maximum step taken | |
3 Beta condition not met | |
delta | New initial step size, based on the current step size |
tol | New tolerance on search |
Parameters used for the Brent algorithm are
alpha | Scale factor that determines sufficient reduction in
|
beta | Scale factor that determines sufficiently large step size |
bmax | Largest step size |
scale_tol | Parameter that relates the tolerance |
The defaults for these parameters are set in the training function that calls them.
Dimensions for these variables are
Pd |
| Each element |
Tl |
| Each element |
Ai |
| Each element |
where
Ni | = | net.numInputs |
Nl | = | net.numLayers |
LD | = | net.numLayerDelays |
Ri | = | net.inputs{i}.size |
Si | = | net.layers{i}.size |
Vi | = | net.targets{i}.size |
Dij | = | Ri *
length(net.inputWeights{i,j}.delays) |
More About
Algorithms
srchbre brackets the minimum of the performance function in the
search direction dX, using Brent’s algorithm, described on page 46 of
Scales (see reference below). It is a hybrid algorithm based on the golden section
search and the quadratic approximation.
References
Scales, L.E., Introduction to Non-Linear Optimization, New York, Springer-Verlag, 1985
Version History
Introduced before R2006aSee Also
Time Series
Modeler | fitrnet (Statistics and Machine Learning Toolbox) | fitcnet (Statistics and Machine Learning Toolbox) | trainnet | trainingOptions | dlnetwork