learnwh
(To be removed) Widrow-Hoff weight/bias learning function
learnwh 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
[dW,LS] = learnwh(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
info = learnwh('code')
Description
learnwh is the Widrow-Hoff weight/bias learning function, and is
also known as the delta or least mean squared (LMS) rule.
[dW,LS] = learnwh(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) takes several
inputs,
W |
|
P |
|
Z |
|
N |
|
A |
|
T |
|
E |
|
gW |
|
gA |
|
D |
|
LP | Learning parameters, none, |
LS | Learning state, initially should be =
|
and returns
dW |
|
LS | New learning state |
Learning occurs according to the learnwh learning parameter, shown
here with its default value.
LP.lr — 0.01 | Learning rate |
info = learnwh(' returns useful
information for each code')code character vector:
'pnames' | Names of learning parameters |
'pdefaults' | Default learning parameters |
'needg' | Returns 1 if this function uses |
Examples
Here you define a random input P and error E for
a layer with a two-element input and three neurons. You also define the learning rate
LR learning parameter.
p = rand(2,1); e = rand(3,1); lp.lr = 0.5;
Because learnwh needs only these values to calculate a weight
change (see “Algorithm” below), use them to do so.
dW = learnwh([],p,[],[],[],[],e,[],[],[],lp,[])
Network Use
You can create a standard network that uses learnwh with
linearlayer.
To prepare the weights and the bias of layer i of a custom network
to learn with learnwh,
Set
net.trainFcnto'trainb'.net.trainParamautomatically becomestrainb’s default parameters.Set
net.adaptFcnto'trains'.net.adaptParamautomatically becomestrains’s default parameters.Set each
net.inputWeights{i,j}.learnFcnto'learnwh'.Set each
net.layerWeights{i,j}.learnFcnto'learnwh'.Set
net.biases{i}.learnFcnto'learnwh'. Each weight and bias learning parameter property is automatically set to thelearnwhdefault parameters.
To train the network (or enable it to adapt),
Set
net.trainParam(ornet.adaptParam) properties to desired values.Call
train(oradapt).
Algorithms
learnwh calculates the weight change dW for a
given neuron from the neuron’s input P and error
E, and the weight (or bias) learning rate LR,
according to the Widrow-Hoff learning rule:
dw = lr*e*pn'
References
Widrow, B., and M.E. Hoff, “Adaptive switching circuits,” 1960 IRE WESCON Convention Record, New York IRE, pp. 96–104, 1960
Widrow, B., and S.D. Sterns, Adaptive Signal Processing, New York, Prentice-Hall, 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