Matlab的神经网络工具箱实用指南作者夏寒发布时间2000.doc

Matlab的神经网络工具箱实用指南作者夏寒发布时间2000.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab的神经网络工具箱实用指南作者夏寒发布时间2000

?Matlab的神经网络工具箱实用指南 作者:夏寒 发布时间:2000/11/09 ?文章摘要:  第一章是神经网络的基本介绍,第二章包括了由工具箱指定的有关网络结构和符号的基本材料以及建立神经网络的一些基本函数,例如new、init、adapt和train。第三章以反向传播网络为例讲解了反向传播网络的原理和应用的基本过程。 ??????? 正文:?   静态网络中的批处理方式   批处理方式可以用adapt或train函数来实现,虽然由于由于采用了更高效的学习算法,train通常是最好的选择。增加方式只能用adapt来实现,train函数只能用于批处理方式。   让我们用前面用过的静态网络的例子开始,学习速率设置为0.1。   net = newlin([-1 1;-1 1],1,0,0.1);   net.IW{1,1} = [0 0];   net.b{1} = 0;   用adapt函数实现静态网络的批处理方式,输入向量必须用同步向量矩阵的方式放置:   P = [1 2 2 3; 2 1 3 1];   T = [4 5 7 7];   当我们调用adapt时将触发adaptwb函数,这是缺省的线性网络调整函数。learnwh是缺省的权重和偏置学习函数。因此,Widrow-Hoff学习法将会被使用:   [net,a,e,pf] = adapt(net,P,T);   a = 0 0 0 0   e = 4 5 7 7   注意网络的输出全部为0,因为在所有要训练的数据提交前权重没有被更新,如果我们显示权重,我们就会发现:   net.IW{1,1}   ans = 4.9000 4.1000   net.b{1}   ans =   2.3000   经过了用adapt函数的批处理方式调整,这就和原来不一样了。   现在用train函数来实现批处理方式。由于Widrow-Hoff规则能够在增加方式和批处理方式中应用,它可以通过adapt和train触发。我们有好几种算法只能用于批处理方式(特别是Levenberg-Marquardt算法),所以这些算法只能用train触发。   网络用相同的方法建立:   net = newlin([-1 1;-1 1],1,0,0.1);   net.IW{1,1} = [0 0];   net.b{1} = 0;   在这种情况下输入向量即能用同步向量矩阵表示也能用异步向量细胞数组表示。用train函数,任何异步向量细胞数组都会转???成同步向量矩阵。这是因为网络是静态的,并且因为train总是在批处理方式中使用。因为MATLAB实现同步模式效率更高,所以只要可能总是采用同步模式处理。   P = [1 2 2 3; 2 1 3 1];   T = [4 5 7 7];   现在我们开始训练网络。由于我们只用了一次adapt,我们这里训练它一次。缺省的线性网络训练函数是trainwb。learnwh是缺省的权重和偏置学习函数。因此,我们应该和前面缺省调整函数是adaptwb的例子得到同样的结果。   net.inputWeights{1,1}.learnParam.lr = 0.1;   net.biases{1}.learnParam.lr = 0.1;   net.trainParam.epochs = 1;   net = train(net,P,T);   经过一次训练后,我们显示权重发现:   net.IW{1,1}   ans = 4.9000 4.1000   net.b{1}   ans =   2.3000   这和用adapt训练出来的结果是一样的。在静态网络中,adapt函数能够根据输入数据格式的不同应用于增加方式和批处理方式。如果数据用同步向量矩阵方式输入就用批处理方式训练;如果数据用异步方式输入就用增加方式。但这对于train函数行不通,无论输入格式如何,它总是采用批处理方式。   动态网络中的增加方式   训练静态网络相对要简单一些。如果我们用train训练网络,即使输入是异步向量细胞数组,它也是转变成同步向量矩阵而采用批处理方式。如果我们用adapt。输入格式决定着网络训练方式。如果传递的是序列,网络用增加方式,如果传递的是同步向量就采用批处理方式。   在动态网络中,批处理方式只能用train完成,特别是当仅有一个训练序列存在时。为了说明清楚,让我们重新考虑那个带延迟的线性网络。我们把学习速率设为0.02(当我们采用梯度下降算法时,我们要用比增加方式更小的学习速率,应为所有的分立的梯度都要在决定权重改变步进之前求和)   net = newlin([-1 1],1,[0 1],0.02);   net

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档