展会信息港展会大全

Matlab的神经网络工具箱实用指南(3) by freebaby
来源:互联网   发布日期:2011-10-03 20:33:33   浏览:13805次  

导读:飘渺水云间,bbs,浙江大学,BBS,论坛...

发信人: freebaby (感恩的心), 信区: AI
标 题: Matlab的神经网络工具箱实用指南(3)
发信站: 飘渺水云间 (Fri Mar 14 09:03:46 2003), 转信

静态网络中的批处理方式
  批处理方式可以用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.epoc

赞助本站

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港