matlab与机械优化设计三级项目

上传人:枫** 文档编号:474231725 上传时间:2023-04-15 格式:DOCX 页数:7 大小:69.94KB
返回 下载 相关 举报
matlab与机械优化设计三级项目_第1页
第1页 / 共7页
matlab与机械优化设计三级项目_第2页
第2页 / 共7页
matlab与机械优化设计三级项目_第3页
第3页 / 共7页
matlab与机械优化设计三级项目_第4页
第4页 / 共7页
matlab与机械优化设计三级项目_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《matlab与机械优化设计三级项目》由会员分享,可在线阅读,更多相关《matlab与机械优化设计三级项目(7页珍藏版)》请在金锄头文库上搜索。

1、matlab 与机械优化设计三级项目-BP神经网络的建立与matlab实现组员:齐意媛李健通俞海坤屈永豪指导教师:任素波目录一、BP神经网络的概述2二、BP 网络的构建 2三、应用 matlab 进行计算 4四、结论 6一、BP神经网络的概述BP网络(Back-ProPaga tion Net work)又称反向传播神经网络, 通过样本数 据的训练,不断修正网络权值和阈值使误差函数沿负梯度方向下降,逼近期望输 出。它是一种应用较为广泛的神经网络模型,多用于函数逼近、模型识别分类、 数据压缩和时间序列预测等。输入层 隐层 输出层图2 m吝三层EF网络模BP网络由输入层、隐层和输出层组成,隐层可以

2、有一层或多层,图2是mXkXn/(X)= 一5一的三层BP网络模型,网络选用S型传递函数,通过反传误差函童三 数(Ti为期望输出、Oi为网络的计算输出),不断调节网络权值和阈值使误差函数E达到极小。BP网络具有高度非线性和较强的泛化能力,但也存在收敛速度慢、迭代步 数多、易于陷入局部极小和全局搜索能力差等缺点。可以先用遗传算法对“BP 网络”进行优化在解析空间找出较好的搜索空间,再用BP网络在较小的搜索空 间内搜索最优解。二、BP网络的构建F面选取一个例子作为研究对象,选取运动员测试各项素质指标序号跳高成 绩30行进跑立定三 级跳远助跑摸高助跑4一6步跳咼负重深 蹲杠铃杠铃半 蹲系数100m抓

3、举12.243.29.63.452.151402.8115022.333.210.33.752.21203.410.97032.24393.52.21403.511.45042.323.210.33.652.21502.810.88052.23.210.13.52801.511.35062.273.4103.42.151303.211.56072.23.29.63.552.141303.511.86582.26393.52.11001.811.34092.23.29.63.552.11303.511.865102.243.29.23.52.11402.51150112.243.29.53.42

4、.151152.811.950122.23.993.12802.21350132.23.19.53.62.1902.711.170142.353.29.73.452.151304.610.8570153.09.33.32.051002.811.2501)输入输出层的设计该模型由每组数据的各项素质指标作为输入,以跳高成绩作为输出,所以输 入层的节点数为8,输出层的节点数为1。2)隐层设计有关研究表明,有一个隐层的神经网络,只要隐节点足够多,就可以以任意精 度逼近一个非线性函数。因此,本文采用含有一个隐层的三层多输入单输出的BP 网络建立预测模型。在网络设计过程中,隐层神经元数的确定十分重要。隐层

5、神 经元个数过多,会加大网络计算量并容易产生过度拟合问题;神经元个数过少,则 会影响网络性能,达不到预期效果。网络中隐层神经元的数目与实际问题的复杂 程度、输入和输出层的神经元数以及对期望误差的设定有着直接的联系。目前,对 于隐层中神经元数目的确定并没有明确的公式,只有一些经验公式,神经元个数 的最终确定还是需要根据经验和多次实验来确定。本文在选取隐层神经元个数的 问题上参照了以下的经验公式:J+ a其中,n为输入层神经元个数,m为输出层神经元个数,a为1,10之间的常数。 根据上式可以计算出神经元个数为4-13个之间,在本次实验中选择隐层神经元 个数为6.网络结构示意图如下:BP神经网络通常

6、采用Sigmoid可微函数和线性函数作为网络的激励函数。 本文选择S型正切函数tansig作为隐层神经元的激励函数。而由于网络的输出归 一到-1,1范围内,因此预测模型选取S型对数函数tansig作为输出层神经元的 激励函数。设定网络隐层和输出层激励函数分别为tansig和logsig函数,网络训练函数 为traingdx,网络性能函数为mse,隐层神经元数初设为6。设定网络参数。网络迭 代次数epochs为5000次,期望误差goal为0.00000001, 学习速率lr为0. 01。 设定完参数后,开始训练网络。三、应用 matlab 进行计算代码如下P=3.2 3.2 3 3.2 3.2

7、 3.4 3.2 3 3.2 3.2 3.2 3.9 3.1 3.2;9.6 10.3 9 10.3 10.1 10 9.6 9 9.6 9.2 9.5 9 9.5 9.7;3.45 3.75 3.5 3.65 3.5 3.4 3.55 3.5 3.55 3.5 3.4 3.1 3.6 3.45;2.15 2.2 2.2 2.2 2 2.15 2.14 2.1 2.1 2.1 2.15 2 2.1 2.15;140 120 140 150 80 130 130 100 130 140 115 80 90 130;2.8 3.4 3.5 2.8 1.5 3.2 3.5 1.8 3.5 2.5 2

8、.8 2.2 2.7 4.6;11 10.9 11.4 10.8 11.3 11.5 11.8 11.3 11.8 11 11.9 13 11.1 10.85;50 70 50 80 50 60 65 40 65 50 50 50 70 70;T=2.24 2.33 2.24 2.32 2.2 2.27 2.2 2.26 2.2 2.24 2.24 2.2 2.2 2.35; p1,minp,maxp,t1,mint,maxt=premnmx(P,T);%创建网络 net=newff(minmax(p1),8,6,1,tansig,tansig,purelin,trainlm) ;%设置训练次

9、数 net.trainParam.epochs = 5000;%设置收敛误差 net.trainParam.goal=0.0000001;%训练网络net,tr=train(net,p1,t1);计算显示如下Neural Network Training (nntrainiool) - 二Neural NetworkValidaticn Check&sPerfomiance(pl otperfc irm)Traininq State(plottrairEtate)Regr&csion(plotregr&EEiDnAlgorithmsTraining;Leyen berg -M a rquadt

10、 (tra r- IrnjPerformance: Mean Squared Error (rriEG. Calculations: MtXProgressEpoch:Time:PerformancesGradient:PlOti1 epochsPlot InterI;萨 Performance goal met. Stop Training Cancel%输入数据a=3.0;9.3;3.3;2.05;100;2.8;11.2;50;%将输入数据归一化 a=premnmx(a);%放入到网络输出数据b=sim(net,a);%将得到的数据反归一化得到预测数据 c=postmnmx(b,mint,maxt);再根据以上代码输入数据进行模拟运算的结果为c=2.1923四、结论通过对matlab的更详细的了解可以更好的解决各种复杂问题,BP神经网络算法提供了一种 普遍并且实用的方法从样例中学习值为实数、离散值或者向量的函数,BP神经网络对数据 的分析十分重要,应该注意和掌握其应用。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号