Unsupervised random order weight/bias training
net.trainFcn = 'trainru'
[net,tr] = train(net,...)
trainru
is not called directly. Instead it is called by
train
for networks whose net.trainFcn
property is set to
'trainru'
, thus:
net.trainFcn = 'trainru'
sets the network trainFcn
property.
[net,tr] = train(net,...)
trains the network with
trainru
.
trainru
trains a network with weight and bias learning rules with
incremental updates after each presentation of an input. Inputs are presented in random
order.
Training occurs according to trainru
training parameters, shown here
with their default values:
net.trainParam.epochs |
| Maximum number of epochs to train |
net.trainParam.show |
| Epochs between displays ( |
net.trainParam.showCommandLine |
| Generate command-line output |
net.trainParam.showWindow |
| Show training GUI |
net.trainParam.time |
| Maximum time to train in seconds |
To prepare a custom network to be trained with trainru
,
Set net.trainFcn
to 'trainru'
.
This sets net.trainParam
to trainru
’s default
parameters.
Set each net.inputWeights{i,j}.learnFcn
to a
learning function.
Set each net.layerWeights{i,j}.learnFcn
to a
learning function.
Set each net.biases{i}.learnFcn
to a learning
function. (Weight and bias learning parameters are automatically set to default values for the
given learning function.)
To train the network,
Set net.trainParam
properties to desired
values.
Set weight and bias learning parameters to desired values.
Call train
.
For each epoch, all training vectors (or sequences) are each presented once in a different random order, with the network and weight and bias values updated accordingly after each individual presentation.
Training stops when any of these conditions is met:
The maximum number of epochs
(repetitions) is reached.
The maximum amount of time
is exceeded.