转:学习自http://www.matlabsky.com/thread-4084-1-1.html
adapt N=TS
输入输出样本对是按照TS时间延迟来一个一个逐步“调整”网络的权系值的。每给网络一个样本,网络就根据这个样本数据更新一次,如果有N个样本,那网络就更新N次。当然,也可以使网络在输入完所有样本后,再重新将该样本集输入给网络。输入一次样本集(sequence of inputs),就称为一个"pass"。其中,样本集的个数应该等于TS,即前面提到的
train
所有的训练样本都参与了训练过程,即使网络只迭代一次。训练(train)是根据性能函数(或者叫做误差函数)来对权系值的矩阵进行迭代,但调整(adapt)则没有这样的性能函数,仅给了一个误差值。
matlab中神经网络的训练分为批训练(batch training)和增长训练(incremental training)。其中如果用train来训练网络则是批训练,adapt既可以实现批训练和实现增长训练,主要取决于神经网络的输入形式是并行输入(concurrent inputs-批训练,还是串行输入(sequential inputs-增长训练。
比如说,训练样本有100个。
1.train:在这100个样本一次性掉入进行网络计算后,对网络参数进行一次调整。
2.adapt:如果[]输入,这和train相当;如果{}输入,则样本一个一个输入,每输入一个样本数据进行一次计算,然后对网络参数进行一次调整,所以共要调整100次。需要注意的一点是,不是所有的训练函数和学习函数都支持增长训练(incremental training)