主要内容

trainscg

缩放共轭梯度反向传播

描述

net.trainFcn= 'trainscg'设置网络trainFcn财产。

例子

trainedNettr) =火车(,……)用以下方法训练网络trainscg

trainscg是一个网络训练函数,根据缩放共轭梯度法更新权值和偏差值。

培训是根据trainscg训练参数,此处显示其默认值:

  • net.trainParam.epochs-训练的最大时代数。缺省值为1000。

  • net.trainParam.show-显示器之间的时代(没有显示)。缺省值是25。

  • net.trainParam.showCommandLine—命令行输出。默认值为

  • net.trainParam.showWindow-显示培训GUI。默认值为真正的

  • net.trainParam.goal——性能目标。缺省值为0。

  • net.trainParam.time-以秒为单位的最长训练时间。默认值为

  • net.trainParam.min_grad—最小性能梯度。默认值为1 e-6

  • net.trainParam.max_fail—最大验证失败次数。默认值为6

  • net.trainParam.mu-马夸特调整参数。缺省值为0.005。

  • net.trainParam.sigma-确定在二阶导数近似的重量变化。默认值为5.0 e-5

  • net.trainParam.lambda-调节黑森的不确定性的参数。默认值为5.0 e -

例子

全部折叠

这个例子展示了如何解决一个包含输入的问题p和目标t通过使用网络。

P = [0 1 2 3 4 5];T = [0 0 0 1 1 1];

建立了包含两个隐神经元的双层前馈网络,并建立了该训练函数。

网= feedforwardnet (2“trainscg”);

在这里,网络是经过训练和测试的。

网=火车(净、p、t);净(p) =

看到帮助feedforwardnet帮助cascadeforwardnet其他的例子。

输入参数

全部折叠

输入网络,指定为一个网络对象。要创建一个网络对象,请使用例如:feedforwardnetnarxnet

输出参数

全部折叠

训练有素的人脉,换来了一份网络对象。

培训记录(时代性能),以结构形式返回,其字段依赖于网络训练函数(net.NET.trainFcn).它可以包含如下字段:

  • 培训,数据划分,性能功能和参数

  • 用于训练、验证和测试集的数据划分索引

  • 用于训练验证和测试集的数据划分掩码

  • 纪元数目(num_epochs)和最好的时代(best_epoch).

  • 培训州的名称().

  • 每个州名的字段,在整个训练过程中记录它的值

  • 最佳网络的表现(best_perfbest_vperfbest_tperf

更多关于

全部折叠

网络使用

您可以创建一个使用trainscgfeedforwardnetcascadeforwardnet.准备一个定制的网络进行培训trainscg

  1. net.trainFcn“trainscg”.这集net.trainParamtrainscg的默认参数。

  2. net.trainParam属性设置为所需的值。

无论哪种情况,都要打电话火车用得到的网络训练网络trainscg

算法

trainscg可以训练任何网络,只要它的权值、净输入、传递函数都有导数函数。反向传播用于计算性能的导数性能关于权重和偏差变量X

缩放共轭梯度算法是基于共轭方向的,如traincgptraincgf,traincgb,但该算法不会在每次迭代时执行行搜索。看到莫勒(神经网络, Vol. 6, 1993, pp. 525-533),以更详细地讨论缩放共轭梯度算法。

当下列任何一种情况发生时,培训停止:

  • 的最大数目时代(重复)。

  • 的最高金额时间是超过。

  • 性能降到最低目标

  • 性能梯度如下min_grad

  • 验证性能的提高超过max_fail自上次以来的次数减少(使用验证时)。

参考文献

莫勒[1]。神经网络,第6卷,1993年,第525-533页

之前介绍过的R2006a