遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)MATLAB實(shí)現(xiàn)-_第1頁
遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)MATLAB實(shí)現(xiàn)-_第2頁
遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)MATLAB實(shí)現(xiàn)-_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)建模 (1)主程序 %清空環(huán)境變量 clc clear %讀取數(shù)據(jù) load data.mat %節(jié)點(diǎn)個(gè)數(shù) inputnum=4; hiddennum=5; outputnum=1; %訓(xùn)練數(shù)據(jù)和預(yù)測數(shù)據(jù) input_train=input(1:150,:' input_test=input(151:200,:' output_train=output(1:150' output_test=output(151:200' %選連樣本輸入輸出數(shù)據(jù)歸一化 inputn,inputps=mapminmax(input_train; outpu

2、tn,outputps=mapminmax(output_train; %構(gòu)建網(wǎng)絡(luò) net=newff(inputn,outputn,hiddennum; % 遺傳算法參數(shù)初始化 maxgen=200; %進(jìn)化代數(shù),即迭代次數(shù) sizepop=30; %種群規(guī)模 pcross=0.9; %交叉概率選擇,0和1之間 pmutation=0.1; %變異概率選擇,0和1之間 %節(jié)點(diǎn)總數(shù) numsum=inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum; lenchrom=ones(1,numsum; bound=-3*ones(nu

3、msum,1 3*ones(numsum,1; %數(shù)據(jù)范圍 %-種群初始化-%- - individuals=struct('fitness',zeros(1,sizepop, 'chrom',; %將種群信息定義為一個(gè)結(jié)構(gòu)體 %avgfitness=; %每一代種群的平均適應(yīng)度 bestfitness=; %每一代種群的最佳適應(yīng)度 bestchrom=; %適應(yīng)度最好的染色體 %初始化種群 for i=1:sizepop %隨機(jī)產(chǎn)生一個(gè)種群 individuals.chrom(i,:=Code(lenchrom,bound; %編碼 x=individuals

4、.chrom(i,:; %計(jì)算適應(yīng)度 individuals.fitness(i=fun(x,inputnum,hiddennum,outputnum,net,inputn,outputn; %染色體的適應(yīng)度 end %找最好的染色體 bestfitness bestindex=min(individuals.fitness; bestchrom=individuals.chrom(bestindex,:; %最好的染色體 %avgfitness=sum(individuals.fitness/sizepop; %染色體的平均適應(yīng)度 % 記錄每一代進(jìn)化中最好的適應(yīng)度和平均適應(yīng)度 %trace=

5、avgfitness bestfitness; % 迭代求解最佳初始閥值和權(quán)值 % 進(jìn)化開始 for i=1:maxgen i % 選擇 individuals=Select(individuals,sizepop; % avgfitness=sum(individuals.fitness/sizepop; %交叉 individuals.chrom=Cross(pcross,lenchrom,individuals.chrom,sizepop,bound; % 變異 individuals.chrom=Mutation(pmutation,lenchrom,individuals.chrom

6、,sizepop,i,maxgen,bound; % 計(jì)算適應(yīng)度 for j=1:sizepop x=individuals.chrom(j,:; %解碼 individuals.fitness(j=fun(x,inputnum,hiddennum,outputnum,net,inputn,outputn; end %找到最小和最大適應(yīng)度的染色體及它們?cè)诜N群中的位置 newbestfitness,newbestindex=min(individuals.fitness; worestfitness,worestindex=max(individuals.fitness; % 代替上一次進(jìn)化中最

7、好的染色體 if bestfitness>newbestfitness bestfitness=newbestfitness; bestchrom=indi 行性 flag2=test(lenchrom,bound,chrom(index(2,:; %檢驗(yàn)染色體2的可行性 if flag1*flag2=0 flag=0; else flag=1; end %如果兩個(gè)染色體不是都可行,則重新交叉 end end ret=chrom; (6變異操作Mutation.m function ret=Mutation(pmutation,lenchrom,chrom,sizepop,num,max

8、gen,bound % 本函數(shù)完成變異操作 % pcorss input : 變異概率 % lenchrom input : 染色體長度 % chrom input : 染色體群 % sizepop input : 種群規(guī)模 % opts input : 變異方法的選擇 % pop input : 當(dāng)前種群的進(jìn)化代數(shù)和最大的進(jìn)化代數(shù)信息 % bound input : 每個(gè)個(gè)體的上屆和下屆 % maxgen input :最大迭代次數(shù) % num input : 當(dāng)前迭代次數(shù) % ret output : 變異后的染色體 for i=1:sizepop %每一輪for循環(huán)中,可能會(huì)進(jìn)行一次變異

9、操作,染色體是隨機(jī)選擇的,變異位置也是隨機(jī)選擇的, %但該輪for循環(huán)中是否進(jìn)行變異操作則由變異概率決定(continue控制) % 隨機(jī)選擇一個(gè)染色體進(jìn)行變異 pick=rand; while pick=0 pick=rand; end index=ceil(pick*sizepop; % 變異概率決定該輪循環(huán)是否進(jìn)行變異 pick=rand; if pick>pmutation continue; end flag=0; while flag=0 % 變異位置 pick=rand; while pick=0 pick=rand; end pos=ceil(pick*sum(lenchrom; %隨機(jī)選擇了染色體變異的位置,即選擇了第pos個(gè)變量進(jìn)行變異 pick=rand; %變異開始 fg=(rand*(1-num/maxgen2; if pick>0.5 chrom(i,pos=chrom(i,pos+(bound(pos,2-c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論