生活随笔
收集整理的這篇文章主要介紹了
BP神经网络与RBF神经网络matlab代码实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
BP神經(jīng)網(wǎng)絡,主要有誤差正向傳播和誤差反向傳播兩個過程
RBF神經(jīng)網(wǎng)絡
例子:
首先需要對數(shù)據(jù)進行規(guī)格化然后再進行訓練預測。
代碼如下:
clc
, clear
data
= [15.6 5.6 3.5 25.5 22.927.8 4.3 1.0 7.7 23.435.2 3.0 38.1 3.7 36.810.2 3.4 3.5 7.4 22.029.1 33.2 1.6 24.0 6.410.2 11.6 2.2 26.7 29.435.4 4.1 1.3 7.0 26.28.7 3.5 7.5 5.0 20.925.4 0.7 22.2 35.4 26.515.3 6.0 2.0 17.5 37.325.9 1.2 9.0 3.3 22.864.3 3.7 4.6 4.8 19.855.9 2.9 0.3 5.2 19.619.6 10.5 10.7 10.3 28.535.6 2.4 6.6 24.6 22.810.9 9.4 0.8 7.1 18.224.7 8.2 7.7 14.4 23.822.6 11.2 9.9 18.5 17.321.5 2.9 1.6 4.5 21.954.7 3.3 3.7 11.6 32.8];
data
= data'
;
train_data
= data
([1:4], [1:end
-1]);
[PN
, PS1
] = mapminmax
(train_data
);
train_label
= data
(5, [1:end
-1]);
[TN
, PS2
] = mapminmax
(train_label
); %規(guī)格化到
[-1,1] net1
= newrb
(PN
, TN
) % 訓練RBF網(wǎng)絡
x
= data
([1:4], end
);
xn
= mapminmax
('apply', x
, PS1
);% 預測樣本點的規(guī)格化
pre1
= sim
(net1
, xn
);
pre1
= mapminmax
('reverse', pre1
, PS2
)
delta1
= abs(data
(5,20)-pre1
)/data
(5,20)net2
= feedforwardnet
(4); %初始化BP網(wǎng)絡
net2
= train
(net2
, PN
, TN
); % 訓練BP
pre2
= net2
(xn
); % 預測
pre2
= mapminmax
('reverse', pre2
, PS2
) % 反規(guī)格化
結果分析:
其實我感覺效果不咋好,可能是因為數(shù)據(jù)太少的緣故,比較神經(jīng)網(wǎng)絡訓練需要的數(shù)據(jù)還是很大的。
本文參考的是司守奎,孫兆亮主編的數(shù)學建模算法與應用(第二版)
總結
以上是生活随笔為你收集整理的BP神经网络与RBF神经网络matlab代码实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。