- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BP神经网络对蝴蝶花进行分类,软件工程,文成,2150230509
PAGE 11
深 圳 大 学 实 验 报 告
实验课程名称: 神经网络与进化算法
实验项目名称: BP神经网络对蝴蝶花进行分类
学院: 计算机与软件 专业: 软件工程
报告人: 文 成 学号: 2150230509
同组人: 无
指导教师: 朱安民
实验时间: 2016年4月1日 至 2016年4月7日
实验报告提交时间: 2016年4月7日
教务处制
实验目的
初步熟悉BP神经网络,并设计一个BP神经网络对蝴蝶花进行分类
实验内容
设计一个BP神经网络对蝴蝶花进行分类,要求提交试验报告,内容包括:
问题说明描。
数据述。
网络设计,包括输入层、隐含层、输出层节点个数的设计。
算法步骤。
编程,注意原始数据的通用化,数据输入的随机性。
网络训练,注意训练数据与验证数据分开。
网络验证
结果分析,修改隐含层节点个数,修改学习率,分别对结果的影响。
体会,例如对下列问题的理解:
BP学习算法的基本思想?
BP网络设计中结点个数如何确定?
为什么要对数据进行通用标准化,即转为[-1,1]?
为什么要对训练数据的输入顺序进行随机化处理?
为什么训练数据与测试数据要分开?
注意:如果用MatLab编程序,将下列数据存放到一个文本文件(例如data.dat),编写程序存放到一个m文件中(例如你的学号.m),数据文件和程序文件放在同一文件夹下。运行MatLab后,指定上述文件夹为工作区域,在命令行运行m文件。
实验步骤
前期工作:
首先将实验数据分为两组,一组用于训练,一组用于测试。分别保存在trainData.txt和testData.txt中(115组训练数据和35组测试数据)。如图所示:
各列数据代表的意义如下:
序号 种类 叶长 叶宽 花长 花宽(单位:cm)
1 1 49 30 14 2
2 2 66 29 46 13
…
150 3 65 33 60 25
(本实验设计一个BP网络,先用75%的数据对网络进行训练,然后用25%的数据进行检测。)
网络设计:
输入层用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个函数:
newff :前馈网络创建函数
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 ) ;
for i = 1 : s
output( i , class( i )+1 ) = 1 ;
end
%创建神经网络
net = newff( minmax(input) , [3 3] , { logsig logsig } , traingdx ) ;
%设置训练
您可能关注的文档
最近下载
- 急性胰腺炎护理(完整版)PPT课件.pptx VIP
- 《电气控制系统设计与装调》教案 任务二: CA6140型车床线路故障分析及检修方法(1).doc VIP
- 2025广西公需科目培训考试答案(90分)——“一区两地一园一通道”建设;人工智能时代的机遇与挑战(1).pdf VIP
- 橋式起重机操作维护检修规程.doc VIP
- 2025年铁路行业白皮书:铁路运输网络优化与智能服务.docx
- 党课ppt+讲稿:二十届四中全会提出的新概念新观点新论断ppt.pptx VIP
- 《电气控制系统设计与装调》教案 任务一:CA6140型车床控制线路基本构造及工作原理.doc VIP
- 果实套袋技术详解.ppt VIP
- 应用文写作教程PPT课件—实习报告.pptx VIP
- 煤矿采掘技术管理体系.doc VIP
原创力文档


文档评论(0)