| Neural Network Toolbox | |
| Provide feedback about this page |
1-D minimization using golden section search
Syntax
Description
srchgol 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 the golden section search.
srchgol(net,X,Pd,Tl,Ai,Q,TS,dX,gX,perf,dperf,delta,tol,ch_perf) takes these inputs,
Parameters used for the golden section algorithm are
alpha |
Scale factor that determines sufficient reduction in perf |
bmax |
Largest step size |
scale_tol |
Parameter that relates the tolerance tol to the initial step size delta, usually set to 20 |
The defaults for these parameters are set in the training function that calls them. See traincgf, traincgb, traincgp, trainbfg, and trainoss.
Dimensions for these variables are
Pd |
No x Ni x TS cell array |
Each element P{i,j,ts} is a Dij x Q matrix. |
Tl |
Nl x TS cell array |
Each element P{i,ts} is a Vi x Q matrix. |
Ai |
Nl x LD cell array |
Each element Ai{i,k} is an Si x Q matrix. |
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) |
Examples
Here is a problem consisting of inputs p and targets t to be solved with a network.
A two-layer feed-forward network is created. The network's input ranges from [0 to 10]. The first layer has two tansig neurons, and the second layer has one logsig neuron. The traincgf network training function and the srchgol search function are to be used.
net = newff([0 5],[2 1],{'tansig','logsig'},'traincgf'); a = sim(net,p)net.trainParam.searchFcn = 'srchgol'; net.trainParam.epochs = 50; net.trainParam.show = 10; net.trainParam.goal = 0.1; net = train(net,p,t); a = sim(net,p)
Network Use
You can create a standard network that uses srchgol with newff, newcf, or newelm.
To prepare a custom network to be trained with traincgf, using the line search function srchgol,
net.trainFcn to 'traincgf'. This sets net.trainParam to traincgf's default parameters.
net.trainParam.searchFcn to 'srchgol'.
The srchgol function can be used with any of the following training functions: traincgf, traincgb, traincgp, trainbfg, trainoss.
Algorithm
srchgol locates the minimum of the performance function in the search direction dX, using the golden section search. It is based on the algorithm as described on page 33 of Scales (see reference below).
Reference
Scales, L.E., Introduction to Non-Linear Optimization, New York, Springer-Verlag, 1985
See Also
srchbac, srchbre, srchcha, srchhyb
| Provide feedback about this page |
![]() | srchcha | srchhyb | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |