MAT之GA:GA优化BP神经网络的初始权值、阈值,从而增强BP神经网络的鲁棒性
生活随笔
收集整理的這篇文章主要介紹了
MAT之GA:GA优化BP神经网络的初始权值、阈值,从而增强BP神经网络的鲁棒性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MAT之GA:GA優化BP神經網絡的初始權值、閾值,從而增強BP神經網絡的魯棒性
?
目錄
輸出結果
實現代碼
?
?
輸出結果
?
實現代碼
global p global t global R global S1 global S2 global S S1 = 10;p = [0.01 0.01 0.00 0.90 0.05 0.00;0.00 0.00 0.00 0.40 0.50 0.00;0.80 0.00 0.10 0.00 0.00 0.00;0.00 0.20 0.10 0.00 0.00 0.10]'; t = [1.00 0.00 0.00 0.00;0.00 1.00 0.00 0.00;0.00 0.00 1.00 0.00;0.00 0.00 0.00 1.00]';P_test = [0.05 0 0.9 0.12 0.02 0.02;0 0 0.9 0.05 0.05 0.05;0.01 0.02 0.45 0.22 0.04 0.06;0 0 0.4 0.5 0.1 0;0 0.1 0 0 0 0]';net = newff(minmax(p),[S1,4],{'tansig','purelin'},'trainlm'); net.trainParam.show = 10; net.trainParam.epochs = 2000; net.trainParam.goal = 1.0e-3; net.trainParam.lr = 0.1;[net,tr] = train(net,p,t);s_bp = sim(net,P_test) R = size(p,1); S2 = size(t,1); S = R*S1 + S1*S2 + S1 + S2; aa = ones(S,1)*[-1,1];popu = 50; initPpp = initializega(popu,aa,'gabpEval',[],[1e-6 1]); gen = 100; [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-'); title( 'GA優化BP神經網絡,繪制均方誤差變化曲線—Jason niu') hold on plot(trace(:,1),1./trace(:,2),'b-'); xlabel('Generation'); ylabel('Sum-Squared Error');figure(2) plot(trace(:,1),trace(:,3),'r-'); title( 'GA優化BP神經網絡,繪制適應度函數變化曲線—Jason niu') hold on plot(trace(:,1),trace(:,2),'b-'); xlabel('Generation'); ylabel('Fittness');[W1,B1,W2,B2,val] = gadecod(x);net.IW{1,1} = W1; net.LW{2,1} = W2; net.b{1} = B1; net.b{2} = B2;net = train(net,p,t);s_ga = sim(net,P_test)?
?相關文章
GA:GA優化BP神經網絡的初始權值、閾值,從而增強BP神經網絡的魯棒性
?
總結
以上是生活随笔為你收集整理的MAT之GA:GA优化BP神经网络的初始权值、阈值,从而增强BP神经网络的鲁棒性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dataset之IRIS:莺尾(Iris
- 下一篇: MAT之PSO:利用PSO实现对一元函数