带有权重和偏差学习规则的批量训练
net.trainFcn= 'trainb'
(净,tr) =火车(净,…)
trainb
不直接调用。相反,它被调用火车
的网络net.trainFcn
属性设置为“trainb”
,因此:
net.trainFcn= 'trainb'
设置网络trainFcn
财产。
(净,tr) =火车(净,…)
用以下方法训练网络trainb
.
trainb
通过批量更新训练网络的权值和偏差学习规则。权重和偏差在整个输入数据传递结束时更新。
培训是根据trainb
的训练参数,这里显示了它们的默认值:
net.trainParam.epochs |
1000 |
需要训练的最大纪元数 |
net.trainParam.goal |
0 |
性能目标 |
net.trainParam.max_fail |
6 |
最大验证失败 |
net.trainParam.min_grad |
1 e-6 |
最低性能梯度 |
net.trainParam.show |
25 |
展览之间的年代( |
net.trainParam.showCommandLine |
假 |
生成的命令行输出 |
net.trainParam.showWindow |
真正的 |
GUI显示培训 |
net.trainParam.time |
正 |
训练时间最长,以秒为单位 |
你可以创建一个标准的网络trainb
通过调用linearlayer
.
准备一个训练用的定制网络trainb
,
集net.trainFcn
来“trainb”
.这集net.trainParam
来trainb
的默认参数。
设置每个net.inputWeights {i, j} .learnFcn
到一个学习函数。设置每个net.layerWeights {i, j} .learnFcn
到一个学习函数。设置每个net.biases{我}.learnFcn
到一个学习函数。(对于给定的学习函数,权重和偏差学习参数会自动设置为默认值。)
为了训练网络,
集net.trainParam
属性设置为所需的值。
将权重和偏差学习参数设置为期望值。
调用火车
.
在每个epoch(一个遍历整个输入向量集)之后,根据其学习函数更新每个权值和偏差。
当满足以下条件时,训练停止:
最大数目时代
(重复)。
性能被最小化到目标
.
最大数量时间
是超过。
验证性能的提高超过max_fail
从上次(使用验证时)开始减少的时间。