网站大量收购独家精品文档,联系QQ:2885784924

数学建模-预测方法在数学建模中应用(2.ppt

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

* 学习效率的选定 学习效率参数net.trainparam.lr不能选择太大,否则出现算法不收敛的情况;也不能太小,否则会使训练时间太长,一般选定0.01~0.1之间的值,在根据训练过程中梯度变换也均方差变换值来确定 四、神经网络预测法-组建神经网络注意事项 * 实例1. 蠓虫分类问题的神经网络方法 (1989年MCM竞赛题目 ) 生物学家试图对两种蠓虫(Af与Apf)进行鉴别,依据的资料 是触角和翅膀的长度,已经测得9只Af和6只Apf的数据如下: 9只Af 触角长:1.24 1.36 1.38 1.38 1.38 1.40 1.48 1.54 1.56 翅膀长:1.72 1.74 1.64 1.82 1.90 1.70 1.82 1.82 2.08 6只Apf 触角长:1.14 1.18 1.20 1.26 1.28 1.30 翅膀长:1.78 1.96 1.86 2.00 2.00 1.96 问题:(1)如何凭借原始资料(15 对数据,被称之为学习样本)制 定一种方法,正确区分两类蠓虫; (2)依据确立的方法,对以下三个样本: (1.24,1.80),(1.28,1.84),(1.40,2.04)加以识别 * 解法一:建立两层BP神经网络如下: 隐层节点可适量选取(没有具体标准)。X= 为输入矩阵, x1对应于触角长, x2对应于翅膀长。Y= 为输出矩阵 规定Af对应的应有输出为 , Apf对应的应有输出为 输 入 层 隐 层 输 出 层 * 以上神经网络模型的MATLAB程序如下: x=[1.24 1.36 1.38 1.38 1.38 1.40 1.48 1.54 1.56 1.14 1.18 1.20 1.26 1.28 1.30 1.72 1.74 1.64 1.82 1.90 1.70 1.82 1.82 2.08 1.78 1.96 1.86 2.00 2.00 1.96]; %原始数据 x=x-1.1; %数据标准化 y=[0 0 0 0 0 0 0 0 0 1 1 1 1 1 1;1 1 1 1 1 1 1 1 1 0 0 0 0 0 0]; %应有的输出 net=newff([0,1;0 1],[5,2],{tansig,tansig}); %建立两层前向神经网络 %net.trainParam.goal=0.0000001; %设定训练误差 net.trainParam.epochs=2000; %设定最大训练步数 net=train(net,x,y); %训练网络 y1=sim(net,x) %输出数据 yy=sim(net,[1.24 1.28 1.40;1.80 1.84 2.04]) %数据泛化 * 解法二:建立单层感知器模型如下: X= 为输入矩阵,x1对应于触角长, x2对应于翅膀长。 Y= 为输出矩阵,规定Af对应的应有输出为 , Apf对应的应有输出为 输 入 层 输 出 层 * 以上神经网络模型的MATLAB程序如下: x=[1.24 1.36 1.38 1.38 1.38 1.40 1.48 1.54 1.56 1.14 1.18 1.20 1.26 1.28 1.30 1.72 1.74 1.64 1.82 1.90 1.70 1.82 1.82 2.08 1.78 1.96 1.86 2.00 2.00 1.96]; %原始数据 x=x-1.1; %数据标准化 y=[0 0 0 0 0 0 0 0 0 1 1 1 1 1 1;1 1 1 1 1 1 1 1 1 0 0 0 0 0 0]; %应有的输出 net=newp(minmax(x),2); %建立单层两节点感知器模型 %net.trainParam.goal=0.0000001; %设定训练误差 net.trainParam.epochs=200; %设定最大训练步数 net=train(net,x,y); %训练网络 y1=sim(net,x) %输出数据 yy=sim(net,[1.24 1.28 1.40;1.80 1.84

文档评论(0)

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

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

1亿VIP精品文档

相关文档