trainscg
量化共轭梯度反向传播
说明
net.trainFcn = 'trainscg'
设置网络 trainFcn
属性。
[
使用 trainedNet
,tr
] = train(net
,...)trainscg
训练网络。
trainscg
是一个网络训练函数,它根据量化共轭梯度法更新权重和偏置值。
训练包含 trainscg
训练参数,此处显示其默认值:
net.trainParam.epochs
- 要训练的最大轮数。默认值为 1000。net.trainParam.show
- 各次显示之间的训练轮数(无显示时为NaN
)。默认值为 25。net.trainParam.showCommandLine
- 生成命令行输出。默认值为false
。net.trainParam.showWindow
- 显示训练 GUI。默认值为true
。net.trainParam.goal
- 性能目标。默认值为 0。net.trainParam.time
- 以秒为单位的最大训练时间。默认值为inf
。net.trainParam.min_grad
- 最小性能梯度。默认值为1e-6
。net.trainParam.max_fail
- 最大验证失败次数。默认值为6
。net.trainParam.mu
- 马夸特调整参数。默认值为 0.005。net.trainParam.sigma
- 确定二阶导数逼近的权重变化。默认值为5.0e-5
。net.trainParam.lambda
- 调节黑塞矩阵的不确定性的参数。默认值为5.0e-7
。
示例
输入参数
输出参量
详细信息
算法
trainscg
可以训练任何网络,只要其权重、净输入和传递函数具有导函数。反向传播用于计算性能 perf
关于权重和偏置变量 X
的导数。
量化共轭梯度算法基于共轭方向,如 traincgp
、traincgf
和 traincgb
,但此算法不在每次迭代时执行线搜索。有关量化共轭梯度算法的更详细讨论,请参阅 Moller (Neural Networks, Vol. 6, 1993, pp. 525–533)。
出现以下任一情况时,训练停止:
达到
epochs
(重复)的最大数量。超出
time
的最大数量。性能最小化到
goal
。性能梯度低于
min_grad
。自上次验证性能(使用验证时)下降以来,验证性能(验证误差)上升的次数超过了
max_fail
次。
参考
[1] Moller. Neural Networks, Vol. 6, 1993, pp. 525–533
版本历史记录
在 R2006a 之前推出