| 24小時(shí)熱門(mén)版塊排行榜 |
| 7 | 1/1 | 返回列表 |
| 查看: 3247 | 回復(fù): 6 | |||
丿無(wú)鋒丶丶新蟲(chóng) (初入文壇)
|
[求助]
遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)權(quán)值閾值
|
|
我從網(wǎng)上下了一個(gè)遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的程序,可是運(yùn)行后總出現(xiàn)錯(cuò)誤,不知道哪里錯(cuò)了,請(qǐng)大俠們幫忙給我檢查一下;源代碼如下: 程序一:GA訓(xùn)練BP權(quán)值的主函數(shù) function net=GABPNET(XX,YY) %-------------------------------------------------------------------------- % GABPNET.m % 使用遺傳算法對(duì)BP網(wǎng)絡(luò)權(quán)值閾值進(jìn)行優(yōu)化,再用BP算法訓(xùn)練網(wǎng)絡(luò) %-------------------------------------------------------------------------- %數(shù)據(jù)歸一化預(yù)處理 nntwarn off XX=premnmx(XX); YY=premnmx(YY); %創(chuàng)建網(wǎng)絡(luò) net=newff(minmax(XX),[19,25,1],{'tansig','tansig','purelin'},'trainlm'); %下面使用遺傳算法對(duì)網(wǎng)絡(luò)進(jìn)行優(yōu)化 P=XX; T=YY; R=size(P,1); S2=size(T,1); S1=25;%隱含層節(jié)點(diǎn)數(shù) S=R*S1+S1*S2+S1+S2;%遺傳算法編碼長(zhǎng)度 aa=ones(S,1)*[-1,1]; popu=50;%種群規(guī)模 initPpp=initializega(popu,aa,'gabpEval');%初始化種群 gen=100;%遺傳代數(shù) %下面調(diào)用gaot工具箱,其中目標(biāo)函數(shù)定義為gabpEval [x,endPop,bPop,trace]=ga(aa,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,... 'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]); %繪收斂曲線圖 figure(1) plot(trace(:,1),1./trace(:,3),'r-'); hold on plot(trace(:,1),1./trace(:,2),'b-'); xlabel('Generation'); ylabel('Sum-Squared Error'); figure(2) plot(trace(:,1),trace(:,3),'r-'); hold on plot(trace(:,1),trace(:,2),'b-'); xlabel('Generation'); ylabel('Fittness'); %下面將初步得到的權(quán)值矩陣賦給尚未開(kāi)始訓(xùn)練的BP網(wǎng)絡(luò) [W1,B1,W2,B2,P,T,A1,A2,SE,val]=gadecod(x); net.LW{2,1}=W1; net.LW{3,2}=W2; net.b{2,1}=B1; net.b{3,1}=B2; XX=P; YY=T; %設(shè)置訓(xùn)練參數(shù) net.trainParam.show=1; net.trainParam.lr=1; net.trainParam.epochs=50; net.trainParam.goal=0.001; %訓(xùn)練網(wǎng)絡(luò) net=train(net,XX,YY); 程序二:適應(yīng)值函數(shù) function [sol, val] = gabpEval(sol,options) % val - the fittness of this individual % sol - the individual, returned to allow for **rckian evolution % options - [current_generation] load data2; nntwarn off XX=premnmx(XX); YY=premnmx(YY); P=XX; T=YY; R=size(P,1); S2=size(T,1); S1=25;%隱含層節(jié)點(diǎn)數(shù) S=R*S1+S1*S2+S1+S2;%遺傳算法編碼長(zhǎng)度 for i=1:S, x(i)=sol(i); end; [W1, B1, W2, B2, P, T, A1, A2, SE, val]=gadecod(x); 程序三:編解碼函數(shù) function [W1, B1, W2, B2, P, T, A1, A2, SE, val]=gadecod(x) load data2; nntwarn off; XX=premnmx(XX); YY=premnmx(YY); P=XX; T=YY; R=size(P,1); S2=size(T,1); S1=25;%隱含層節(jié)點(diǎn)數(shù) S=R*S1+S1*S2+S1+S2;%遺傳算法編碼長(zhǎng)度 % 前R*S1個(gè)編碼為W1 for i=1:S1, for k=1:R, W1(i,k)=x(R*(i-1)+k); end end % 接著的S1*S2個(gè)編碼(即第R*S1個(gè)后的編碼)為W2 for i=1:S2, for k=1:S1, W2(i,k)=x(S1*(i-1)+k+R*S1); end end % 接著的S1個(gè)編碼(即第R*S1+S1*S2個(gè)后的編碼)為B1 for i=1:S1, B1(i,1)=x((R*S1+S1*S2)+i); end % 接著的S2個(gè)編碼(即第R*S1+S1*S2+S1個(gè)后的編碼)為B2 for i=1:S2, B2(i,1)=x((R*S1+S1*S2+S1)+i); end % 計(jì)算S1與S2層的輸出 A1=tansig(W1*P,B1); A2=purelin(W2*A1,B2); % 計(jì)算誤差平方和 SE=sumsqr(T-A2); val=1/SE; % 遺傳算法的適應(yīng)值 這些命令流直接復(fù)制粘貼到Matlab里面就可以用嗎? |
資源代碼 |
新蟲(chóng) (初入文壇)
新蟲(chóng) (初入文壇)
木蟲(chóng) (小有名氣)
銀蟲(chóng) (小有名氣)

新蟲(chóng) (初入文壇)

銀蟲(chóng) (小有名氣)

| 7 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 083200學(xué)碩321分一志愿暨南大學(xué)求調(diào)劑 +3 | innocenceF 2026-03-17 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 一志愿華中科技大學(xué),080502,354分求調(diào)劑 +5 | 守候夕陽(yáng)CF 2026-03-18 | 5/250 |
|
|
[考研] 22408 344分 求調(diào)劑 一志愿 華電計(jì)算機(jī)技術(shù) +4 | solanXXX 2026-03-20 | 4/200 |
|
|
[考研] 290求調(diào)劑 +7 | ^O^乜 2026-03-19 | 7/350 |
|
|
[考研] 本人考085602 化學(xué)工程 專碩 +19 | 不知道叫什么! 2026-03-15 | 21/1050 |
|
|
[考研] 281求調(diào)劑(0805) +14 | 煙汐憶海 2026-03-16 | 25/1250 |
|
|
[論文投稿]
申請(qǐng)回稿延期一個(gè)月,編輯同意了。但系統(tǒng)上的時(shí)間沒(méi)變,給編輯又寫(xiě)郵件了,沒(méi)回復(fù)
10+3
|
wangf9518 2026-03-17 | 4/200 |
|
|
[考研] 286求調(diào)劑 +6 | lemonzzn 2026-03-16 | 10/500 |
|
|
[考研] 085601專碩,總分342求調(diào)劑,地區(qū)不限 +5 | share_joy 2026-03-16 | 5/250 |
|
|
[考研] 311求調(diào)劑 +11 | 冬十三 2026-03-15 | 12/600 |
|
|
[考研] 304求調(diào)劑 +12 | 小熊joy 2026-03-14 | 13/650 |
|
|
[考研] 材料,紡織,生物(0856、0710),化學(xué)招生啦 +3 | Eember. 2026-03-17 | 9/450 |
|
|
[考研] 290求調(diào)劑 +3 | p asserby. 2026-03-15 | 4/200 |
|
|
[考研] 一志愿南京大學(xué),080500材料科學(xué)與工程,調(diào)劑 +4 | Jy? 2026-03-16 | 4/200 |
|
|
[考研] 333求調(diào)劑 +3 | 文思客 2026-03-16 | 7/350 |
|
|
[考研] 中科院材料273求調(diào)劑 +4 | yzydy 2026-03-15 | 4/200 |
|
|
[考研] 0856求調(diào)劑 +3 | 劉夢(mèng)微 2026-03-15 | 3/150 |
|
|
[考研] 求老師收留調(diào)劑 +4 | jiang姜66 2026-03-14 | 5/250 |
|
|
[考研] 070305求調(diào)劑 +3 | mlpqaz03 2026-03-14 | 4/200 |
|
|
[考研] 288求調(diào)劑 +4 | 奇點(diǎn)0314 2026-03-14 | 4/200 |
|