-
大小: 153KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-16
- 語言: Matlab
- 標(biāo)簽:
資源簡(jiǎn)介
BP神經(jīng)網(wǎng)絡(luò)的算法matlab代碼,包括實(shí)驗(yàn)報(bào)告和源代碼,可直接運(yùn)行

代碼片段和文件信息
%初始化兩層BP算法的學(xué)習(xí)期(訓(xùn)練加權(quán)系數(shù)WkiWij)
lr=0.05;???%lr為學(xué)習(xí)速率
err_goal=0.001;?%err_goal為期望誤差最小值
max_epoch=1000;?%訓(xùn)練的最大次數(shù)
Pn=[3?6?6.142?3?2.5?4.5?1.8?5.5?2.5?2.7?2?2.9?5?0.7?2?3?0.5?4?1?1.9?160?260?62.328?200?700?1500?1500?2000?1200?2200?10?4?5?14?3?3?4?5?2?1?1?1?8?2?1?1?3?1?2?5?60?57?65?72?70?80?75?75?40?51?62?58?40?45?65?68?71?63?69?60];??%給定輸入
Tn=[1?4?2?6?1?4?0?0?0?1?19?45?24?57?9?50?1?14?0?12?17?53?32?102?15?63?13?16?11?32?4?20?3?14?13?35?8?6?9?5];?%給定輸出
%歸一化處理?
Pm=0.8*(Pn?-?min(Pn))/(max(Pn)?-?min(Pn))+0.1;
Tm=0.8*(Tn?-?min(Tn))/(max(Tn)?-?min(Tn))+0.1;
P=[Pm(1:10);Pm(11:20);Pm(21:30);Pm(31:40);Pm(41:50);Pm(51:60);Pm(61:70)];?
T=[Tm(1:10);Tm(11:20);Tm(21:30);Tm(31:40)];
%提供10組7個(gè)神經(jīng)元輸入和4個(gè)神經(jīng)元輸出的訓(xùn)練集和目標(biāo)值
%初始化WkiWij(M為輸入節(jié)點(diǎn)j的數(shù)量,q為隱含層節(jié)點(diǎn)i的數(shù)量(最終確定隱層神經(jīng)元個(gè)數(shù)為15),L為輸出節(jié)點(diǎn)的數(shù)量,N為樣本點(diǎn)的組數(shù))
[MN]=size(P);q=15;[LN]=size(T);???
Wij=rand(qM);????????%隨機(jī)給定輸入層與隱含層間的權(quán)值
Wki=rand(Lq);??????%隨機(jī)給定隱含層與輸出層間的權(quán)值
b1=zeros(q1);b2=zeros(L1);?????%隨機(jī)給定隱含層、輸出層的閾值
for?epoch=1:max_epoch
Oi=tansig(Wij*Pb1);????????%計(jì)算網(wǎng)絡(luò)隱含層的各神經(jīng)元輸出
Ok=logsig(Wki*Oib2);??????%計(jì)算網(wǎng)絡(luò)輸出層的各神經(jīng)元輸出
E=T-Ok;?????????????????????%計(jì)算網(wǎng)絡(luò)誤差
deltak=deltalin(OkE);????????????%計(jì)算網(wǎng)絡(luò)輸出層的delta
deltai=deltatan(OideltakWki);???????%計(jì)算網(wǎng)絡(luò)隱含層的delta
[dWkidb2]=learnbp(Oideltaklr);????%調(diào)整輸出層加權(quán)系數(shù)
Wki=Wki+dWki;b2=b2+db2;
[dWijdb1]=learnbp(Pdeltailr);?????%調(diào)整隱含層加權(quán)系數(shù)
Wij=Wij+dWij;b1=b1+db1;?
%計(jì)算網(wǎng)絡(luò)權(quán)值修正后的誤差平方和
SSE=sumsqr(T-logsig(Wki*tansig(Wij*Pb1)b2));
if(SSE end
%BP算法的測(cè)試工作期(根據(jù)訓(xùn)練好的WkiWij和給定的輸入計(jì)算輸出)
P1n=[2.1?0.9?2200?11?8?60?73];????????%給定測(cè)試輸入
Pn1=0.8*(P1n?-?min(P1n))/(max(P1n)?-?min(P1n))+0.1;??%歸一化
P1=[Pn1(1);Pn1(2);Pn1(3);Pn1(4);Pn1(5);Pn1(6);Pn1(7)];
Oi=tansig(Wij*P1b1);??????%計(jì)算網(wǎng)絡(luò)隱含層的各神經(jīng)元輸出
Ok=logsig(Wki*Oib2);?????%計(jì)算網(wǎng)絡(luò)輸出層的各神經(jīng)元輸出
Ok???????????????????????%顯示網(wǎng)絡(luò)輸出層的實(shí)際輸出?
Y=[0.2901??0.8726??0.1400??0.4061]?%測(cè)試樣本值的實(shí)際輸出
plot(1:4Ok‘r‘1:4Y‘b‘)
title(‘測(cè)試樣本的實(shí)際輸出和期望輸出對(duì)照?qǐng)D‘)
xlabel(‘測(cè)試樣本點(diǎn)‘)
ylabel(‘對(duì)應(yīng)輸出值(紅色為實(shí)際輸出,藍(lán)色為預(yù)測(cè)輸出)‘)
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????2323??2011-10-25?13:45??BP神經(jīng)網(wǎng)絡(luò)的算法matlab代碼\BP.m
?????文件?????133632??2011-10-25?14:13??BP神經(jīng)網(wǎng)絡(luò)的算法matlab代碼\林雨辰-BP神經(jīng)網(wǎng)絡(luò)實(shí)驗(yàn)報(bào)告.doc
?????文件????1030144??2011-10-11?14:27??BP神經(jīng)網(wǎng)絡(luò)的算法matlab代碼\第二章?BP網(wǎng)絡(luò)設(shè)計(jì)與應(yīng)用-例子.doc
?????目錄??????????0??2018-05-31?15:30??BP神經(jīng)網(wǎng)絡(luò)的算法matlab代碼
-----------?---------??----------?-----??----
??????????????1166099????????????????????4
評(píng)論
共有 條評(píng)論