2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 一个简单的用于预测的BP神经网络模型

一个简单的用于预测的BP神经网络模型

时间:2021-07-29 12:40:39

相关推荐

一个简单的用于预测的BP神经网络模型

一个简单的用于预测的BP神经网络模型

这是一个简单的bp神经网络模型,其中的数据是铣削实验的数据,数量较少,但作为神经网络的例子正好。读者可以根据自己的需要将自己的数据换进去,其中,传递函数和学习函数都可以代换。隐层根据自己的需要进行调整,该模型可直接进行运行,对于学习BP神经网络非常好。

%构建训练样本中的输入向量

P1= [3.67 2.32 3.67 2.32 3.67 2.32 3.67 2.32 3.67 2.32 3.67 2.32 3.67 2.32 3.67;

0.178 0.28 0.28 0.178 0.178 0.28 0.28 0.178 0.178 0.28 0.28 0.178 0.178 0.28 0.28;

1 1 1 2.25 2.25 2.25 2.25 1 1 1 1 2.25 2.25 2.25 2.25;

0.12 0.12 0.12 0.12 0.12 0.12 0.12 0.28 0.28 0.28 0.28 0.28 0.28 0.28 0.28];

P2=[1.83 4.65 2.95 2.95 2.95 2.95 2.95 2.95;0.223 0.223 0.142 0.351 0.223 0.223 0.223 0.223;

1.5 1.5 1.5 1.5 0.67 3.37 1.5 1.5;0.18 0.18 0.18 0.18 0.18 0.18 0.08 0.4];

P3=[2.95 2.95 2.95 2.95 2.95 2.95;0.223 0.223 0.223 0.223 0.223 0.223;

1.5 1.5 1.5 1.5 1.5 1.5;0.18 0.18 0.18 0.18 0.18 0.18];

P=[P1 P2 P3];

%构建训练样本中的输出向量

T=[1.45 2 1.3 2.1 1.4 2 1.45 3.05 2.2 3.1 2.7 3.5 2.45 2.4 1.75 3.3 1.05 2.1 2.5 2 2.2 1.45 2.6 1.6 1.6 2.2 1.85 2.3 2.7];

%数据归一化处理,使用mapminmax归一化函数

[Pn,PS]=mapminmax§;

[Tn,PS]=mapminmax(T);

%创建一个BP神经网络,隐含层含有8个神经元,传递函数为tansig

%中间层一个神经元,传递函数为tansig,训练函数为traingdx

net=newff(minmax(Pn),[100,150,1],{‘tansig’,‘tansig’,‘tansig’},‘traingdx’);

net.trainParam.epochs=5000;%训练步数为5000

net.trainParam.goal=0.001;%目标误差为0.001

net.trainParam.lr=0.001;%学习速率为0.001

net.trainParam.mc=0.9;%动量为0.9

%训练一个BP神经网络

net=train(net,Pn,Tn);

%输入测试数据,并将其归一化处理

P_test=[2.32;0.178;1;0.12];

Pt=mapminmax(‘apply’,P_test,PS);

Y=sim(net,Pt)

%将预测输出做反归一化处理

Yn=mapminmax(‘reverse’,Y,PS)

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