基于神经网络的数据分类-文档资料_第1页
基于神经网络的数据分类-文档资料_第2页
基于神经网络的数据分类-文档资料_第3页
基于神经网络的数据分类-文档资料_第4页
基于神经网络的数据分类-文档资料_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1基于神经网络的数据分类2花萼长度花萼宽度花瓣长度花瓣宽度类别5.43.91.70.4153.41.50.216.22.24.51.525.52.341.326.12.84.71.227.93.86.4236.32.85.11.53 有一批花可分为三个品种,利用神经网络算法,根据花萼长度,花萼宽度,花瓣长度和花瓣宽度对其进行分类。3样本包含150组数据,选择90组作为训练样本,60组作为测试样本。输入数据为花萼长度 花萼宽度 花瓣长度 花瓣宽度,输出数据为花的品种的类别。要做的工作:1.建立一个神经网络2.使用样本训练这个网络3.使用新的数据集测试这个网络分类的准确性4BP神经网络网络层数:2

2、输入层节点数:4输出层节点数:1隐层节点数:m=sqrt(n+l)+a (n为输入层节点数,l为输出层节点数,a为110之间的常数)%导入训练样本的数据 data=load(data.txt); p=data(:,1:4); %输入量t=data(:,5); %输出量 %数据归一化到-1 +1pn,ps = mapminmax(p); %导入测试样本的数据testdata=load(testdata.txt); p_test=testdata(:,1:4); %输入量t_test=testdata(:,5); %输出量 %数据归一化到-1 +1pn_test,ps = mapminmax(p_

3、test); 1.数据预处理:data.txt中有90组数据,作为训练样本;testdata.txt中有60组数据,作为测试样本。53.训练参数选择:net.trainParam.show = 50; %显示训练结果的间隔步数net.trainParam.epochs=1000; %最大训练次数net.trainParam.goal=0.001; %训练目标误差net.trainParam.lr = 0.01; %学习系数net=train(net,pn,t); %开始训练2.创建一个新的BP神经网络:net = newff(minmax(pn),10 1,tansigpurelin,trai

4、ngdx);%隐含层传递函数为transing;%输出层传递函数为purelin;%训练函数为traingdx(有动量和自适应lr的梯度下降法)64.仿真并绘制结果:a = sim(net,pn_test);a=round(a); %四舍五入取整figure(1)plot(a,:or)hold onplot(t_test,-*);legend(预测类别,实际类别)title(BP网络预测输出)ylabel(类别)xlabel(样本)%预测误差error=a-t_test;figure(3)plot(error,-*)title(BP网络预测误差)ylabel(误差)xlabel(样本)7fig

5、ure(3)count=0; %误分类次数hold on;for i=1:60%预测与实际类别都为1if a(i)1.5if t(i)2.5if t_test(i)2.5plot(p(1,i),p(4,i),go);elseplot(p(1,i),p(4,i),g*);count=count+1;end%预测与实际类别都为1elseif(t_test(i)=1.5)plot(p(1,i),p(4,i),bo);elseplot(p(1,i),p(4,i),b*);count=count+1;endendendrate=(60-count)/60 %正确率5.显示分类结果:8944.555.56

6、6.5700.20.40.60.811.21.41.61.8图中红色为第一类,蓝色为第二类,绿色为第三类。结果显示有一个数据分类错误,分类正确率为98.33%。rate = 0.983310出现分类错误的原因可能是训练的样本太少,或者是隐层节点数选择不合适,接下来在经验值范围内改变隐层节点数,观察分类结果。010203040506000.10.20.30.40.50.60.70.80.91BP网 络 预 测 误 差误差样 本010203040506011.21.41.61.822.22.42.62.83样 本类别BP网 络 预 测 输 出 预 测 输 出期 望 输 出1101020304050

7、6011.21.41.61.822.22.42.62.83样 本类别BP网 络 预 测 输 出 预 测 输 出期 望 输 出0102030405060-1-0.8-0.6-0.4-0.200.20.40.60.81BP网 络 预 测 误 差误差样 本44.555.566.5700.20.40.60.811.21.41.61.8当隐层节点数为9时,分类正确率为100%。12RBF神经网络输入层节点数:4输出层节点数:1隐层节点数:m=sqrt(n+l)+a (n为输入层节点数,l为输出层节点数,a为110之间的常数)2.创建一个新的RBF神经网络:net = newrb(pn,t,0.001,1

8、,10,1);%散步常数spread=1%训练精度goal=0.001%显示频率df=1%隐含层节点数m=101.数据预处理3.仿真a = sim(net,pn_test);a=round(a); %对预测出的类别a取整4.结果分析1344.555.566.5700.20.40.60.811.21.41.61.8图中红色为第一类,蓝色为第二类,绿色为第三类。结果显示有一个数据分类错误,分类正确率为98.33%。14010203040506000.10.20.30.40.50.60.70.80.91RBF网 络 预 测 误 差误差样 本010203040506011.21.41.61.822.22.42.62.83样 本类别RBF网 络 预 测 输 出 预 测 输 出期 望 输 出通过上述实验可看出BP神经网络和RBF神经网络都能通过学习和训练以任意精度逼近任何非线性函数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论