电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

试验报告BP神经网络2150230509资料VIP免费

试验报告BP神经网络2150230509资料_第1页
1/11
试验报告BP神经网络2150230509资料_第2页
2/11
试验报告BP神经网络2150230509资料_第3页
3/11
深圳大学实验报告实验课程名称:神经网络与进化算法实验项目名称:BP神经网络对蝴蝶花进行分类学院:计算机与软件专业:软件工程报告人:文成学号:2150230509同组人:无指导教师:朱安民实验时间:2016年4月1日至2016年4月7日实验报告提交时间:2016年4月7日教务处制BP神经网络对蝴蝶花进行分类,软件工程,文成,21502305092一、实验目的初步熟悉BP神经网络,并设计一个BP神经网络对蝴蝶花进行分类二、实验内容设计一个BP神经网络对蝴蝶花进行分类,要求提交试验报告,内容包括:1.问题说明描。2.数据述。3.网络设计,包括输入层、隐含层、输出层节点个数的设计。4.算法步骤。5.编程,注意原始数据的通用化,数据输入的随机性。6.网络训练,注意训练数据与验证数据分开。7.网络验证7.结果分析,修改隐含层节点个数,修改学习率,分别对结果的影响。8.体会,例如对下列问题的理解:1)BP学习算法的基本思想?2)BP网络设计中结点个数如何确定?3)为什么要对数据进行通用标准化,即转为[-1,1]?4)为什么要对训练数据的输入顺序进行随机化处理?5)为什么训练数据与测试数据要分开?注意:如果用MatLab编程序,将下列数据存放到一个文本文件(例如data.dat),编写程序存放到一个m文件中(例如你的学号.m),数据文件和程序文件放在同一文件夹下。运行MatLab后,指定上述文件夹为工作区域,在命令行运行m文件。BP神经网络对蝴蝶花进行分类,软件工程,文成,21502305093三、实验步骤前期工作:首先将实验数据分为两组,一组用于训练,一组用于测试。分别保存在trainData.txt和testData.txt中(115组训练数据和35组测试数据)。如图所示:各列数据代表的意义如下:序号种类叶长叶宽花长花宽(单位:cm)1149301422266294613⋯150365336025(本实验设计一个BP网络,先用75%的数据对网络进行训练,然后用25%的数据进行检测。)BP神经网络对蝴蝶花进行分类,软件工程,文成,21502305094网络设计:输入层用4个节点,分别对应文件中的3/4/5/6列,隐层用3个节点。因为输出有3类,我们也用3个节点来表示,分别对应100/010/001。算法描述:BP学习算法类似于LMS算法,它是基于梯度下降:即权值按照错误信号的负梯度方向进行修改。其主要优点在于将高层的错误表现反向传递为低层,从而修改权值。第一步,初始化权值随机赋值,取值范围[-1,+1]第二步,输入层FA输入样品,计算出隐层FB活动第三步,计算出输出层FC活动第四步,网络输出和期望输出相比较,计算出输出层FC的错误第五步,反传,计算出隐层FB的错误第六步,修改FC层和FB之间的权值wij第七步,修改FA层和FB之间的权值vhj第八步,修改偏差i、j重复第二到第八步,直到输出层FC的错误足够小MATLAB编程:使用Matlab建立前馈神经网络主要会使用到下面3个函数:BP神经网络对蝴蝶花进行分类,软件工程,文成,21502305095newff:前馈网络创建函数train:训练一个神经网络sim:使用网络进行仿真MATLAB代码如下,根据隐含层节点个数、学习率、激活函数的选择不同只需要要稍作修改。%读取训练数据[id,class,f1,f2,f3,f4,]=textread('trainData.txt','%f%f%f%f%f%f');%特征值归一化[input,minI,maxI]=premnmx([f1,f2,f3,f4]');%构造输出矩阵s=length(class);output=zeros(s,3);fori=1:soutput(i,class(i)+1)=1;end%创建神经网络net=newff(minmax(input),[33],{'logsig''logsig'},'traingdx');%设置训练参数net.trainparam.show=50;net.trainparam.epochs=1500;net.trainparam.goal=0.01;net.trainParam.lr=0.01;%开始训练net=train(net,input,output');%读取训练数据[id2ct1t2t3t4]=textread('testData.txt','%f%f%f%f%f%f');%测试数据归一化testInput=tramnmx([t1,t2,t3,t4]',minI,maxI);%仿真Y=sim(net,testInput)%取最大者为1的位置作为识别结果[resultmax,r]=max(Y);testclass=r'-1;BP神经网络对蝴蝶花进行分类,软件工程,文成,21502305096%统计识别正确率[s1,s2]=size(Y);hitNum=0;fori=1:s2[m,Index]=max(Y(:,i));if(Index==c(i)+1)hitNum=hitNum+1;endendsprintf('ê?±e?êê?%3.3f%%',100*hitNum/s2)%输入到隐层权值w1=net.iw{1,1}...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

试验报告BP神经网络2150230509资料

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部