| 5 | 1/1 | 返回列表 |
| 查看: 3264 | 回復(fù): 6 | |||
| 當(dāng)前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | |||
丿無鋒丶丶新蟲 (初入文壇)
|
[求助]
遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)權(quán)值閾值
|
||
|
我從網(wǎng)上下了一個遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的程序,可是運行后總出現(xiàn)錯誤,不知道哪里錯了,請大俠們幫忙給我檢查一下;源代碼如下: 程序一:GA訓(xùn)練BP權(quán)值的主函數(shù) function net=GABPNET(XX,YY) %-------------------------------------------------------------------------- % GABPNET.m % 使用遺傳算法對BP網(wǎng)絡(luò)權(quá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'); %下面使用遺傳算法對網(wǎng)絡(luò)進行優(yōu)化 P=XX; T=YY; R=size(P,1); S2=size(T,1); S1=25;%隱含層節(jié)點數(shù) S=R*S1+S1*S2+S1+S2;%遺傳算法編碼長度 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)值矩陣賦給尚未開始訓(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é)點數(shù) S=R*S1+S1*S2+S1+S2;%遺傳算法編碼長度 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é)點數(shù) S=R*S1+S1*S2+S1+S2;%遺傳算法編碼長度 % 前R*S1個編碼為W1 for i=1:S1, for k=1:R, W1(i,k)=x(R*(i-1)+k); end end % 接著的S1*S2個編碼(即第R*S1個后的編碼)為W2 for i=1:S2, for k=1:S1, W2(i,k)=x(S1*(i-1)+k+R*S1); end end % 接著的S1個編碼(即第R*S1+S1*S2個后的編碼)為B1 for i=1:S1, B1(i,1)=x((R*S1+S1*S2)+i); end % 接著的S2個編碼(即第R*S1+S1*S2+S1個后的編碼)為B2 for i=1:S2, B2(i,1)=x((R*S1+S1*S2+S1)+i); end % 計算S1與S2層的輸出 A1=tansig(W1*P,B1); A2=purelin(W2*A1,B2); % 計算誤差平方和 SE=sumsqr(T-A2); val=1/SE; % 遺傳算法的適應(yīng)值 這些命令流直接復(fù)制粘貼到Matlab里面就可以用嗎? |
資源代碼 |
新蟲 (初入文壇)
新蟲 (初入文壇)
木蟲 (小有名氣)
銀蟲 (小有名氣)

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 0856調(diào)劑 +3 | 曲聽筠 2026-03-30 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 材料與化工調(diào)劑一志愿大連海事085600,349 +6 | 吃的不少 2026-03-30 | 6/300 |
|
|
[考研] 材料科學(xué)與工程求調(diào)劑 +10 | 深V宿舍吧 2026-03-29 | 10/500 |
|
|
[考研] 285求調(diào)劑 +6 | AZMK 2026-03-29 | 9/450 |
|
|
[考研] 求調(diào)劑 +10 | 家佳佳佳佳佳 2026-03-29 | 10/500 |
|
|
[考研] 材料專碩調(diào)劑 +11 | 椰椰。 2026-03-29 | 11/550 |
|
|
[考研] 0703化學(xué)/290求調(diào)劑/本科經(jīng)歷豐富/工科也可 +13 | 丹青奶蓋 2026-03-26 | 15/750 |
|
|
[考研] 一志愿211,335分,0856,求調(diào)劑院校和導(dǎo)師 +7 | 傾____蕭 2026-03-27 | 8/400 |
|
|
[考研]
|
nnnnnnn5 2026-03-25 | 11/550 |
|
|
[考研] 總分293求調(diào)劑 +8 | 加一一九 2026-03-25 | 11/550 |
|
|
[考研] 070305高分子化學(xué)與物理 304分求調(diào)劑 +12 | c297914 2026-03-28 | 12/600 |
|
|
[考研] 320分,材料與化工專業(yè),求調(diào)劑 +9 | 一定上岸aaa 2026-03-27 | 13/650 |
|
|
[考研] 調(diào)劑 +3 | 好好讀書。 2026-03-28 | 3/150 |
|
|
[考研] 331環(huán)境科學(xué)與工程求調(diào)劑 +3 | 熠然好運氣 2026-03-27 | 3/150 |
|
|
[考研] 265求調(diào)劑 +8 | 小木蟲085600 2026-03-27 | 8/400 |
|
|
[考研] 調(diào)劑推薦 +5 | 清酒714 2026-03-26 | 6/300 |
|
|
[考研] 081200-11408-276學(xué)碩求調(diào)劑 +4 | 崔wj 2026-03-26 | 4/200 |
|
|
[考研] 321求調(diào)劑 +6 | wasdssaa 2026-03-26 | 6/300 |
|
|
[考研] 機械學(xué)碩310分,數(shù)一英一,一志愿211本科雙非找調(diào)劑信息 +3 | @357 2026-03-25 | 3/150 |
|
|
[考研] 環(huán)境專碩324分求調(diào)劑推薦 +5 | 軒小寧—— 2026-03-26 | 5/250 |
|