📄 bpnbiaozhunsuanfa.m
字号:
%我是一个神经网络的初学者,用BP网络编制了一个小程序,
%数据及程序如下:
%输入:
clear
p=load('D:\林玲的毕设资料\数据\样本数据\星期一\x.txt')
t=load('D:\林玲的毕设资料\数据\样本数据\星期一\t.txt')
p=p';
t=t';
[pn,meanp,stdp,tn,meant,stdt]=prestd (p,t); %对p和t进行字标准化预处理
net = newff(minmax(pn),[7,1],{'tansig','purelin'},'traingdx'); %建立网络并进行初始化
net.trainParam.show=50;
net.trainParam.mc=0.95;
net.trainParam.epochs=10000;
net.trainParam.goal=1e-3;
net=train(net,pn,tn); %对网络进行训练
an=sim(net,pn); %对网络进行模拟
a=poststd(an,meant,stdt); %对模拟出来的数据进行回归处理
[m,b,r] = postreg(a,t);%检测网络的训练模拟性能
%前面的网络训练过程可以是脚本文件运行
%后面的待预测的数据必须每次从命令窗口输入才是每次得到同一的预测结果 只有这样才是每次利用前面已经训练好的网络
%检验数据:
xk=input(' please input .....xk==');
pnew=xk';
pnew=trastd(pnew,meanp,stdp); %将数据通过自标准化再用来输入网络
an=sim(net,pnew)%网络模拟出来的值
anew=poststd(an,meant,stdt)%模拟出的值再线性返回样本预测值
tk=input(' please input .....tk==')
e2=(tk-anew)./tk
%在命令窗口输入help poststd或者help postreg 或者help trastd
%See also PREMNMX, PREPCA, PRESTD, TRAPCA, TRAMNMX.得到下面的程序 来学习和理解网络的建立和训练运行模拟的过程
%p = [-0.92 0.73 -0.47 0.74 0.29; -0.08 0.86 -0.67 -0.52 0.93];
% t = [-0.08 3.4 -0.82 0.69 3.1];
% [pn,meanp,stdp,tn,meant,stdt] = prestd(p,t);
% [ptrans,transMat] = prepca(pn,0.02);
% net = newff(minmax(ptrans),[5 1],{'tansig' 'purelin'},'trainlm');
% net = train(net,ptrans,tn);
% an = sim(net,ptrans);
% a = poststd(an,meant,stdt);
% [m,b,r] = postreg(a,t);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -