如何用BP神经网络,求解蠓虫分类问题

 时间:2024-11-15 17:36:42

利用MATLAB软件,建立BP神经网络,求解蠓虫分类问题。

工具/原料

电脑

MATLAB软件

方法/步骤

1、蠓虫分类问题:对两种蠓虫(A与B)进行鉴别,依据的资料是触角和翅膀的长俣觊鄄幼度,已知了9支Af和6支Apf的数据如下:A:(1.24,1.27),(1.36,1.74)芟坳葩津,(1.38,1.64),(1.38,1.82),(1.38,1.90),(1.40,1.70),(1.48,1.82),(1.54,1.82),(1.56,2.08).B:(1.14,1.82),(1.18,1.96),(1.20,1.86),(1.26,2.00),(1.28,2.00),(1.30,1.96).根据如上资料,如何制定一种方法,正确地区分两类蠓虫?

2、设定1代表A类,0代表B类。输焯拜芪恨入数据,并设置目标值。p1=[1.24,1.27;1.36,1.74;1.38荑樊综鲶,1.64;1.38,1.82;1.38,1.90;1.40,1.70;1.48,1.82;1.54,1.82;1.56,2.08];p2=[1.14,1.82;1.18,1.96;1.20,1.86;1.26,2.00;1.28,2.00;1.30,1.96];p=[p1;p2]';goal=[ones(1,9),zeros(1,6);zeros(1,9),ones(1,6)];

3、将数据绘制成散点图figure(1);plot(p1(:,1),p1(:,2),'h',p2(:,1),p2(:,2),'o');holdonx=[1.241.80;1.281.84;1.402.04];plot(x(:,1),x(:,2),'rs');

如何用BP神经网络,求解蠓虫分类问题

4、创建一个bp神经网络,并设置网络参数:pr=minmax(p);%求解p矩阵中每个行囿鹣分胰向量中的最小值和最大值net=newff(p鸡堕樱陨r,[32],{'logsig','logsig'},'trainrp');net.trainParam.show=50;net.trainParam.lr=0.01;net.trainParam.epochs=50000;

5、训练网络:net=train(net,p,goal);

如何用BP神经网络,求解蠓虫分类问题

6、对网络进行仿真,并输出仿真结果,结果如图所示:xtest=sim(net,x')pt=[px'];ptest=sim(net,pt);

如何用BP神经网络,求解蠓虫分类问题

7、将仿真结果绘制在图形中figure(2);plot(1:length(p),goal(1,:),'*b');holdonplot(1:length(ptest),ptest(1,:),'or');title('o表示预测值*表示实际值');gridon

如何用BP神经网络,求解蠓虫分类问题

8、以原数据进行仿真,比较目标数据与仿真数据,绘制误差变化图。pt=sim(net,p);figure(3);error=pt(1,:)-goal(1,:);plot(1:length(error),error);title('误差变化图');

如何用BP神经网络,求解蠓虫分类问题

9、运用BP神经网络求解分类问题,其实并不复杂,而且整个程序也不长。由上述结果可知,所建立的BP神经网络求能很好的结果该分类问题。且程序运行速度也很快,不超过2秒。

如何用BP神经网络,求解蠓虫分类问题

matlab怎么运行代码 Matlab 调用自己书写的函数 Matlab 求解微分方程dsolve函数 .m文件怎么打开 matlab如何做散点图
热门搜索
瓶邪图片 迪迦奥特曼动漫 手抄报的图片 刮刮卡图片 免费电影网