您的当前位置:首页正文

bp神经网络MATLAB程序

2020-03-08 来源:客趣旅游网


bp神经网络MATLAB程序(总2页)

-本页仅作为预览文档封面,使用时请删除本页-

%清空环境变量 clc clear

%读取数据

a=xlsread('F:\\4.数据挖掘讲义—马景义\\数据和程序\\matlab\\'); b=xlsread('F:\\4.数据挖掘讲义—马景义\\数据和程序\\matlab\\'); c=xlsread('F:\\4.数据挖掘讲义—马景义\\数据和程序\\matlab\\'); save b save a load data1 load data2 %节点个数 inputnum=42; hiddennum=8; outputnum=1;

%训练数据和预测数据 input_train=a(:,1:90); input_test=a(:,91:137); output_train=b(:,1:90); output_test=b(:,91:137);

%将训练样本输入输出数据归一化

[inputn,inputps]=mapminmax(input_train); [outputn,outputps]=mapminmax(output_train);

%构建BP神经网络

net=newff(inputn,outputn,[20,12],{'tansig','purelin'},'traingdx'); 神经网络训练

net=train(net,inputn,outputn); %测试样本归一化

inputn_test=mapminmax('apply',input_test,inputps); %BP神经网络预测

an=sim(net,inputn_test); %%网络得到数据反归一化

BPoutput=mapminmax('reverse',an,outputps); d=BPoutput>c figure(1)

%plot(d,':og');

scatter(1:(137-90),d,'rx'); hold on;

%plot(output_test,'-*');

scatter(1:(137-90),output_test,'o');

2

legend('预测输出','期望输出','fontsize',12); title('BP网络预测输出','fontsize',12); xlabel('样本','fontsize',12);

xlabel('优化前输出的误差','fontsize',12);

figure(2)

error=d-output_test; plot(1:(137-90),error); xlabel('样本','fontsize',12);

ylabel('优化前输出的误差','fontsize',12);%save net net inputs outputs

3

因篇幅问题不能全部显示,请点此查看更多更全内容