1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > MATLAB神经网络工具箱(代码简单实现)

MATLAB神经网络工具箱(代码简单实现)

时间:2020-12-28 13:00:01

相关推荐

MATLAB神经网络工具箱(代码简单实现)

根据网上搜素的关于MATLAB神经网络工具箱的GUI操作,结合书上的代码来跑了一遍,发现代码是引用了神经网络工具箱来做工作

%% 该代码为基于BP神经网络的预测算%% 清空环境变量clcclear%% 训练数据预测数据提取及归一化%下载输入输出数据load data input output%从1到2000间随机排序k=rand(1,2000);[m,n]=sort(k);%找出训练数据和预测数据input_train=input(n(1:1900),:)';output_train=output(n(1:1900));input_test=input(n(1901:2000),:)';output_test=output(n(1901:2000));%选连样本输入输出数据归一化[inputn,inputps]=mapminmax(input_train);[outputn,outputps]=mapminmax(output_train);%% BP网络训练% %初始化网络结构net=newff(inputn,outputn,5);net.trainParam.epochs=100;net.trainParam.lr=0.1;net.trainParam.goal=0.00004;%网络训练net=train(net,inputn,outputn);%% BP网络预测%预测数据归一化inputn_test=mapminmax('apply',input_test,inputps);%网络预测输出an=sim(net,inputn_test);%网络输出反归一化BPoutput=mapminmax('reverse',an,outputps);%% 结果分析figure(1)plot(BPoutput,':og')hold onplot(output_test,'-*');legend('预测输出','期望输出')title('BP网络预测输出','fontsize',12)ylabel('函数输出','fontsize',12)xlabel('样本','fontsize',12)%预测误差error=BPoutput-output_test;figure(2)plot(error,'-*')title('BP网络预测误差','fontsize',12)ylabel('误差','fontsize',12)xlabel('样本','fontsize',12)figure(3)plot((output_test-BPoutput)./BPoutput,'-*');title('神经网络预测误差百分比')errorsum=sum(abs(error));

newff:BP神经网络参数设置函数,构建了一个带参数神经网络

net=newff(P,T,S,TF,BTF,BLF,PL,IPF,OPF,DDF)

P:输入数据矩阵

T:输出数据矩阵

S:隐含层节点数

TF:节点传递函数,包括硬限幅传递函数hardlim、对称硬限幅传递函数hardlims、现象传递函数purelin、正切S型传递函数tansig、对数S型传递函数logsig。

BTF:训练函数

BLF:网络学习函数

PF:性能分析函数

IPF:输入处理函数

OPF:输出处理函数

DDF:验证数据划分函数

trian:BP神经网络训练函数

[net,tr]=train(NET,X,T,Pi,Ai)

NET:待训练网络

X:输入数据矩阵

T:输出数据矩阵

Pi:初始化输入层条件

Ai:初始化输出层条件

net:训练好的网络

tr:训练过程记录

sim:BP神经网络预测函数

y=sim(net,x)

net:训练好的网络

x:输入数据

y:网络预测数据

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。