matlab BP神经网络训练程序求解释

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab BP神经网络训练程序求解释相关的知识,希望对你有一定的参考价值。

程序是这样的,懂的高手看我理解的对不对,再解释一下我没理解的部分是什么,应该不太难
p=e'; %训练样本的输入数据
t=v'; %训练样本的输出数据
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %不明白请解释
net=newff(minmax(pn),[3,13,13,13,3],'purelin' 'tansig' 'tansig' 'tansig' 'purelin','trainbr'); %调用训练函数,包括层数、隐层节点数、训练函数等,想知道如果是同类、同维数据间的转换用什么函数比较好?这里的minmax(pn)是指怎样的最大与最小的数?
net=init(net);
net.trainParam. show = 100; %这里的show什么意思,具体值根据什么定?
net.trainparam.epoehs=2000; %训练次数
net.trainParam.goal=0.0001; %目标误差,但是是什么和什么的误差?
net.trainParam.lr = 0.01; %不明白 lr是什么?值怎么定
net=train(net,pn,tn);
y1=sim(net,pn); %是什么呢?sim表示什么?
tnew=postmnmx(y1,mint,maxt); ?
tnew1=tnew'; ?
xlswrite('testdata6',tnew1); ?这里的testdata6是自己的检验数据么?要放在work文件夹里么?
pnew1=[151 0 36;
0 80 254;
0 102 255;
0 99 201;
0 185 141;
0 179 142;
67 160 143;
169 143 0;
197 122 146;
147 127 255;
255 115 174;
0 245 52;
214 197 138;
233 154 255;
107 255 90;
130 255 0;
193 242 93;
255 44 255;
151 151 151;
]; %这是用来干什么的数据?
pnew=pnew1'; %?
pnewn = tramnmx (pnew,minp,maxp); %?
y2=sim(net,pnewn);
tnew=postmnmx(y2,mint,maxt);
tnew1=tnew';
xlswrite('testdata5',tnew1); % testdata5和上面的testdata6一样么?

参考技术A 楼主解决没?这是我知道的

[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %归一化数据,方便后面的预测

net.trainParam. show = 100; %这里的show是显示步数,每100步显示一次
net.trainParam.goal=0.0001; %目标误差,训练得到的数据和原始输入
net.trainParam.lr = 0.01; %lr是学习动量,一般越小越好
y1=sim(net,pn); %sim用来预测的

xlswrite('testdata6',tnew1); ?这里的testdata6是excel表格的名称

你可以看看书的,书上都有介绍
参考技术B % 创建一个新的前向神经网络
net_1=newff(minmax(P),[10,1],,'traingdm')

% 当前输入层权值和阈值
inputWeights=net_1.IW
inputbias=net_1.b
% 当前网络层权值和阈值
layerWeights=net_1.LW
layerbias=net_1.b

% 设置训练参数
net_1.trainParam.show = 50;
net_1.trainParam.lr = 0.05;
net_1.trainParam.mc = 0.9;
net_1.trainParam.epochs = 10000;
net_1.trainParam.goal = 1e-3;

% 调用 TRAINGDM 算法训练 BP 网络
[net_1,tr]=train(net_1,P,T);

% 对 BP 网络进行仿真
A = sim(net_1,P);
% 计算仿真误差
E = T - A;
MSE=mse(E)

x=[。。。]';%测试
sim(net_1,x)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
不可能啊 我2009

matlab BP神经网络预测代码

若我希望使用2输入,1输出,隐含5,样本数据为2个参考指标和1个目标预测指标各30个数据,一共有90个数据,BP神经网络代码如何写和设置呢?我是个小白,请多指教!谢谢!

参考技术A P=[1;2;3;4;5];%月
P=[P/50];
T=[2;3;4;5;6];%月训练样本
T=[T/50];
threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1];
net=newff(threshold,[15,7],'tansig','logsig','trainlm');
net.trainParam.epochs=2000;
net.trainParam.goal=0.001;
LP.lr=0.1;
net=train(net,P,T);
P_test=[6月]';%6月数据预测7月
P_test=[P_test/50];
y=sim(net,P_test)
y=[y*50]
参考技术B 4 人物形象? 主要人物

以上是关于matlab BP神经网络训练程序求解释的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB中训练LM算法的BP神经网络

BP神经网络matlab源程序代码讲解

matlab程序 BP神经网络预测 程序如下:

MATLAB中BP神经网络的训练算法具体是怎么样的

有人知道bp神经网络Matlab R2012a 的newff用法么

用MATLAB建立bp神经网络模型,求高手,在线等