数学建模培训--人工神经网络.doc

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

常用的人工神经网络案例 1 感知器网络MatLab上机实验 例1.1 用newp函数设计一个单输入和一个神经元的感知器神经网络,输入的最小值和最大值为。 net=newp([0 2],1); 可以用下面语句来观察生成了一个什么样的神经网络。 inputweights = net.inputWeights{1,1} inputweights = delays: 0 initFcn: initzero learn: 1 learnFcn: learnp learnParam: [] size: [1 1] userdata: [1x1 struct] weightFcn: dotprod weightParam: [1x1 struct] 从中可以看到,缺省的学习函数为learnp,网络输入给hardlim传递函数的量为数量积dotprod,即输入量和权值矩阵的乘积,然后再加上阈值。缺省的初始化函数为initzero,即权值的初始值置为0。 同样地, biases = net.biases{1,1} biases = initFcn: initzero learn: 1 learnFcn: learnp learnParam: [] size: 1 userdata: [1x1 struct] 例1.2 设计一个输入为二维向量的感知器网络,其边界值已定。 net = newp([-2 2;-2 2],1); 和上面的例子一样,权值和阈值的初始值为0。如果不想预置为0,则必须单独生成。 例如,两个权值和阈值分别为[-1 1]和1,应用如下语句: net.IW{1,1}=[-1 1]; net.b{1,1}=[1]; 应用下面语句验证一下: net.IW{1,1} ans = -1 1 net.b{1,1} ans = 1 下面来看这个感知器网络对两个输入信号的输出如何,两个信号分别位于感知器两个边界。 第一个输入信号: P1=[1;1]; a1=sim(net,P1) a1 = 1 第二个输入信号: P2=[1;-1]; a2=sim(net,P2) a2 = 0 由此看出,输出是正确的,感知器为输入信号进行了正确的分类。 若将两个输入信号组成一个数列,则输出量也为一个数列。 P3={[1;1],[1;-1]}; a3=sim(net,P3) a3 = [1] [0] 例1.3 首先有newp函数生成一个神经网络。 net = newp([-2 2;-2 2],1); 其权值为: wts = net.IW{1,1} wts = 0 0 其阈值为: bias = net.b{1,1} bias = 0 改变权值和阈值: net.IW{1,1}=[3,4]; net.b{1,1}=[5]; 检查权值和阈值,确实已经改变了: wts=net.IW{1,1} wts = 3 4 bias=net.b{1,1} bias = 5 然后应用init来复原权值和阈值。 net=init(net); wts = net.IW{1,1} wts = 0 0 bias=net.b{1,1} bias = 0 由此可见,应用init可以复原感知器初始值。 例1.4 应用init改变网络输入的权值和阈值为随机数。 net.inputweights{1,1}.initFcn=rands; net.biases{1,1}.initFcn=rands; net=init(net); 下面验证一下权值和阈值: wts = net.IW{1,1} wts = 0.8116 -0.7460 bias=net.b{1,1} bias = 0.6294 例1.5 假设一个二维向量输入的感知器神经网络,其输入和期望值样本为: 、、、 首先,生成一个感知器网络,然后利用train函数进行训练 net = newp([-2 2;-2 2],1); net.trainParam.epochs=1; %设置最大迭代次数 p=[2 1 -2 -1;2 -2 2 1]; %样本 t=[0 1 0 1]; %导师信号 net = train(net,p,t);

文档评论(0)

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

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

1亿VIP精品文档

相关文档