一个简单的用于预测的BP神经网络模型
一個簡單的用于預(yù)測的BP神經(jīng)網(wǎng)絡(luò)模型
這是一個簡單的bp神經(jīng)網(wǎng)絡(luò)模型,其中的數(shù)據(jù)是銑削實驗的數(shù)據(jù),數(shù)量較少,但作為神經(jīng)網(wǎng)絡(luò)的例子正好。讀者可以根據(jù)自己的需要將自己的數(shù)據(jù)換進(jìn)去,其中,傳遞函數(shù)和學(xué)習(xí)函數(shù)都可以代換。隱層根據(jù)自己的需要進(jìn)行調(diào)整,該模型可直接進(jìn)行運行,對于學(xué)習(xí)BP神經(jīng)網(wǎng)絡(luò)非常好。
%構(gòu)建訓(xùn)練樣本中的輸入向量
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];
%構(gòu)建訓(xùn)練樣本中的輸出向量
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];
%數(shù)據(jù)歸一化處理,使用mapminmax歸一化函數(shù)
[Pn,PS]=mapminmax§;
[Tn,PS]=mapminmax(T);
%創(chuàng)建一個BP神經(jīng)網(wǎng)絡(luò),隱含層含有8個神經(jīng)元,傳遞函數(shù)為tansig
%中間層一個神經(jīng)元,傳遞函數(shù)為tansig,訓(xùn)練函數(shù)為traingdx
net=newff(minmax(Pn),[100,150,1],{‘tansig’,‘tansig’,‘tansig’},‘traingdx’);
net.trainParam.epochs=5000;%訓(xùn)練步數(shù)為5000
net.trainParam.goal=0.001;%目標(biāo)誤差為0.001
net.trainParam.lr=0.001;%學(xué)習(xí)速率為0.001
net.trainParam.mc=0.9;%動量為0.9
%訓(xùn)練一個BP神經(jīng)網(wǎng)絡(luò)
net=train(net,Pn,Tn);
%輸入測試數(shù)據(jù),并將其歸一化處理
P_test=[2.32;0.178;1;0.12];
Pt=mapminmax(‘a(chǎn)pply’,P_test,PS);
Y=sim(net,Pt)
%將預(yù)測輸出做反歸一化處理
Yn=mapminmax(‘reverse’,Y,PS)
總結(jié)
以上是生活随笔為你收集整理的一个简单的用于预测的BP神经网络模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【读书笔记】《华为工作法》
- 下一篇: 创业计划书学习笔记二——创业计划书的目录