主要内容

trainoss

一步sec反向传播

语法

net.trainFcn= 'trainoss'
(净,tr) =火车(净,…)

描述

trainoss是一个网络训练函数,它根据一步割线法更新权值和偏差值。

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

(净,tr) =火车(净,…)用以下方法训练网络trainoss

培训是根据trainoss训练参数,这里显示了它们的默认值:

net.trainParam.epochs 1000

需要训练的最大纪元数

net.trainParam.goal 0

性能目标

net.trainParam.max_fail 6

最大验证失败

net.trainParam.min_grad 1平台以及

最低性能梯度

net.trainParam.searchFcn “srchbac”

要使用的行搜索例程的名称

net.trainParam.show 25

展览之间的年代(不显示)

net.trainParam.showCommandLine

生成的命令行输出

net.trainParam.showWindow 真正的

GUI显示培训

net.trainParam.time

训练时间最长,以秒为单位

与行搜索方法相关的参数(不是所有方法都使用):

net.trainParam.scal_tol 20.

分为δ确定线性搜索的公差。

net.trainParam.alpha 0.001

决定充分减少的比例因子性能

net.trainParam.beta 0.1

决定足够大步长的比例因子

net.trainParam.delta 0.01

间隔位置步长的初始步长

net.trainParam.gama 0.1

参数,以避免性能的小幅降低,通常设置为0.1(见srch_cha

net.trainParam.low_lim 0.1

步长变化的下限

net.trainParam.up_lim 0.5

步长变化的上限

net.trainParam.maxstep One hundred.

最大的步长

net.trainParam.minstep 1.0 e-6

最小步长

net.trainParam.bmax 26

最大的步长

网络使用

你可以创建一个标准的网络trainossfeedforwardnetcascadeforwardnet.准备一个训练用的定制网络trainoss

  1. net.trainFcn“trainoss”.这集net.trainParamtrainoss的默认参数。

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

不管是哪种情况,都是打电话火车用由此产生的网络来训练网络trainoss

例子

全部折叠

这个例子展示了如何使用trainoss培训功能。

在这里,神经网络被训练来预测身体脂肪百分比。

[x, t] = bodyfat_dataset;网= feedforwardnet (10,“trainoss”);Net = train(Net, x, t);y =净(x);

更多关于

全部折叠

一步正割法

由于BFGS算法在每次迭代中需要比共轭梯度算法更多的存储和计算,因此需要具有更小的存储和计算要求的割线近似。的一步割线(OSS)方法是在共轭梯度算法和拟牛顿割线算法之间架起桥梁的一种尝试。该算法不存储完整的Hessian矩阵;它假设在每次迭代时,前面的Hessian是单位矩阵。这样做的另一个好处是,新的搜索方向无需计算矩阵的逆就可以计算出来。

一步割线法在[Batt92].该算法比BFGS算法需要更少的存储和计算时间。它需要比共轭梯度算法稍微多一点的存储和每历元的计算。它可以看作是完全拟牛顿算法和共轭梯度算法之间的折衷。

算法

trainoss可以训练任何网络,只要它的权值、净输入和传递函数都有导数函数。

用反向传播来计算性能的导数性能关于权重和偏差变量X.每个变量按如下方式进行调整:

X = X + a*dX;

在哪里dX是搜索方向。的参数一个,以减小沿搜索方向的性能。线路搜索功能searchFcn用于定位最小值点。第一个搜索方向为性能梯度的负方向。在后续迭代中,根据新的梯度和之前的步骤和梯度计算搜索方向,公式如下:

dX = -gX + Ac*X_step + Bc*dgX;

在哪里gX是一个梯度,X_step权重的变化是在前一个迭代,和帕特为上一次迭代后梯度的变化。看到Battiti (神经计算,第4卷,1992年,141-166页),以更详细地讨论一步割线算法。

当这些情况发生时,训练停止:

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

  • 最大数量时间是超过。

  • 性能被最小化到目标

  • 性能梯度在下面min_grad

  • 验证性能的提高超过max_fail从上次(使用验证时)开始减少的时间。

参考文献

一阶和二阶学习方法:在最陡下降法和牛顿法之间神经计算, 1992年第4卷第2期,141-166页

之前介绍过的R2006a