Matlab中的Train和Adapt区别

matlab中神经网络的训练分为批训练(batch training)和增长训练(incremental training)。其中如果用train来训练网络则是批训练,而adapt既可以实现批训练,也可以实现增长训练,主要取决于神经网络的输入形式是同时输入(concurrent inputs)还是顺序输入(sequential inputs),如果是前者则实现批训练,如果后者则是增长训练。
所谓批训练是指当全部输入都输入神经网络后,其权值和阀值才更新一次。
而增长训练是指每输入一个输入,权值和阀值就更新一次。

不是通过参数来规定串行还是集中,是通过输入的形式是同时输入还是顺序输入来决定的。但是对于train方法而言,即使你的输入时顺序输入,它也许自动把该输入转化为同时输入进行批训练。简单而言,train只能用于批训练。而adapt两者都可以(批训练或者增长训练),如何进行就是前面说的看输入形式。 所谓同时输入,其格式是是用[]来表示。即[1 2;3 4]这个就是同时输入,其输入不分先后(如果我没有记错的话)。而顺序输入则是用细胞数组来表示,如:{[ 1;3],[2;4]},其输入要分前后顺序。
adapt例子:
net = newlin();
P = {[1; 2];[2;1];[2;3];[3;1]}
T = {4 5 7 7};
[net,a,e,pf] = adapt(net,P,T);
                                                      http://bbs.matwav.com/viewthread.php?tid=234060&extra=&page=2

posted on 2009-06-23 20:11  YISONG  阅读(1374)  评论(0编辑  收藏  举报

导航