人工智能matlab仿真_第1頁
人工智能matlab仿真_第2頁
人工智能matlab仿真_第3頁
人工智能matlab仿真_第4頁
人工智能matlab仿真_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——人工智能matlab仿真min(objV)%尋覓當(dāng)前微小值minY=min(objV);

[y,i]=min(objV);

x=bs2rv(Chrom,FieldD);xmin(1,:)=x(i,:);

disp(['對應(yīng)最小自變量取值:',num2str(x(i,:))])%輸出最優(yōu)個體disp(['對應(yīng)最小值:',num2str(y)])%輸出最優(yōu)個體end

ifmaxYmin(objV)%尋覓當(dāng)前最優(yōu)個體minY=min(objV);end

trace(gen,1)=minY;%保存當(dāng)前最優(yōu)個體end

%%結(jié)果輸出

[Y,I]=min(objV);X=bs2rv(Chrom,FieldD);Xmin(1,:)=X(I,:);

disp(['對應(yīng)自變量取值:',num2str(X(I,:))])%輸出最優(yōu)個體m=size(Data,1);

fori=1:m%輸出最優(yōu)個體的函數(shù)擬合值Y(i,1)=Xmin(1,1)*(exp((-1)*Xmin(1,2)*(Data(i,1)))-exp((-1)*Xmin(1,3)*(Data(i,1))));

ARE(i,1)=Data(i,2)-Y(i,1);end

RESM=variance(Data(:,2),Y);%計算方差disp(['方差:',num2str(RESM)])%%畫圖

figure(1)%畫進(jìn)化過程圖plot(1:gen,trace(:,1));

figure(2);%畫出期望值與擬合值曲線plot(Data(:,1),Data(:,2),'rd-');holdon

plot(Data(:,1),Y,'b*-')xlabel('時間');ylabel('酒精含量');

legend('期望值','擬合值');figure(3)

plot(Data(:,1),ARE,'rd-')xlabel('時間');ylabel('誤差');

(4)運行結(jié)果

進(jìn)行20次的多項式擬合后圖如下:

所以,對應(yīng)自變量取值:k=113.3353q=0.1841013r=2.206932

方差:3.3748

3.設(shè)計一個神經(jīng)網(wǎng)絡(luò),并對輸入信號進(jìn)行預(yù)計。輸入為一線性調(diào)頻信號,信號采樣時間為2s,采樣頻率為1000Hz,起始到信號的瞬時為0Hz,1s時的瞬時頻率為150Hz。

(1)此題采用三層BP神經(jīng)網(wǎng)絡(luò)。

第一步,網(wǎng)絡(luò)初始化。給各連接權(quán)值分別賦一個區(qū)間內(nèi)的隨機數(shù),設(shè)定誤差函數(shù)e,給定計算精度值和最大學(xué)習(xí)次數(shù)M。

其次步,隨機選取第2000個輸入樣本,前1900作為訓(xùn)練樣本最終100做測試。

第三步,計算隱含層各神經(jīng)元的輸入和輸出。第四步,利用網(wǎng)絡(luò)期望輸出和實際輸出,計算誤差函數(shù)對輸出層的各神經(jīng)元

的偏導(dǎo)數(shù)a。

第五步利用隱含層到輸出層的連接權(quán)值、輸出層和隱含層a的輸出計算誤差函數(shù)對隱含層各神經(jīng)元的偏導(dǎo)數(shù)b。

第六步,利用輸出層各神經(jīng)元的a和隱含層各神經(jīng)元的輸出來修正連接權(quán)值w。第七步:利用隱含層各神經(jīng)元的a和輸入層各神經(jīng)元的輸入修正連接權(quán)。(2)神經(jīng)網(wǎng)絡(luò)算法流程圖:

初始化加輸入和期望輸出計算隱層和輸出層的輸出調(diào)理輸出層和隱層的鏈接權(quán)值改變訓(xùn)練樣板N訓(xùn)練終止?Y迭代次數(shù)加1N迭代終止?Y

(3)試驗程序

%%設(shè)計一個神經(jīng)網(wǎng)絡(luò),并對輸入信號進(jìn)行預(yù)計

%%信號采樣時間為2s,采樣頻率為1000Hz,起始到信號的瞬時為0Hz,1s時的瞬時

頻率為150Hzclc;clear;

time=0:0.001:2;

y=chirp(time,0,1,150,'linear');y=y';

time=time';m=size(y,1);

%%網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)以前四個時刻預(yù)計第五個時刻fori=1:1896X(i,1)=y(i,1);X(i,2)=y(i+1,1);X(i,3)=y(i+2,1);X(i,4)=y(i+3,1);Y(i,1)=y(i+4,1);end

%%網(wǎng)絡(luò)訓(xùn)練s=size(Y,2);p=X';t=Y';

%數(shù)據(jù)歸一化

[pn,minX,maxX]=premnmx(p);%將數(shù)據(jù)歸一化[tn,minY,maxY]=premnmx(t);%將數(shù)據(jù)歸一化%訓(xùn)練網(wǎng)絡(luò)

net=newff(minmax(pn),[8,s],{'tansig','purelin'},'trainlm');net.trainParam.goal=0.001;net.trainParam.epochs=800;net=train(net,pn,tn);yn=sim(net,pn);

Yn=postmnmx(yn,minY,maxY);y_train=Yn';

%%訓(xùn)練誤差train_number=size(X,1);fori=1:train_number

ARE(i,1)=Y(i,1)-y_train(i,1);end

%%網(wǎng)絡(luò)測試數(shù)據(jù)fori=1:97

X_test(i,1)=y(i+1900,1);X_test(i,2)=y(i+1901,1);X_test(i,3)=y(i+1902,1);X_test(i,4)=y(i+1903,1);Y_test(i,1)=y(i+1904,1);end

%%網(wǎng)絡(luò)測試q=X_test';u=Y_test';

[qn]=tramnmx(q,minX,maxX);y_tr=sim(net,qn);

y_trr=postmnmx(y_tr,minY,maxY);y_test=y_trr';train_number=size(X,1);test_number=size(X_test,1);test_number=size(X_test,1);%%測試誤差

fori=1:test_number

ARE_1(i,1)=Y_test(i,1)-y_test(i,1);end

%%畫圖figure(1);plot(Y,'rd-');

holdon

plot(y_train,'b*-')

legend('訓(xùn)練樣本輸出期望值','訓(xùn)練樣本輸出預(yù)計值');axis([0500-1.51.5])figure(2);plot(Y,'rd-');holdon

plot(y_train,'b*-')

legend('訓(xùn)練樣本輸出期望值','訓(xùn)練樣本輸出預(yù)計值');axis([5011000-1.51.5])figure(3);plot(Y,'rd-');holdon

plot(y_train,'b*-')

legend('訓(xùn)練樣本輸出期望值','訓(xùn)練樣本輸出預(yù)計值');axis([10011500-1.51.5])figure(4);plot(Y,'rd-');holdon

plot(y_train,'b*-')

legend('訓(xùn)練樣本輸出期望值','訓(xùn)練樣本輸出預(yù)計值');axis([15011900-1.51.5])figure(5);

plot(ARE,'b*-');

axis([0500-0.20.2])figure(6);

plot(ARE,'b*-');

axis([5011000-0.20.2])figure(7);

plot(ARE,'b*-');

axis([10011500-0.20.2])figure(8);

plot(ARE,'b*-');

axis([15011900-0.20.2])figure(9);

plot(ARE_1,'b*-');figure(10);

plot(Y_test,'rd-');holdon

plot(y_test,'b*-')

(4)運行結(jié)果

下圖分別為0-1900樣本分成4組的訓(xùn)練過程

1.5訓(xùn)練樣本輸出期望值訓(xùn)練樣本輸出預(yù)計值10.50-0.5-1-1.50501001502023503003504004505001.5訓(xùn)練樣本輸出期望值訓(xùn)練樣本輸出預(yù)計值10.50-0.5-1-1.55506006507007508008509009501000

1.5訓(xùn)練樣本輸出期望值訓(xùn)練樣本輸出預(yù)計值10.50-0.5-1-1.51050110011501202325013001350140014501500

1.5訓(xùn)練樣本輸出期望值訓(xùn)練樣本輸出預(yù)計值10.50-0.5-1-1.51050110011501202325013001350140014501500

它們對應(yīng)的誤差變化圖像如下:

0.20.150.10.050-0.05-0.1-0.15-0.20.20.150.10.050-0.05-0.1-0.15-0.20501001502023503003504004505005506006507007508008509009501000

0.20.150.10.050-0.05-0.1-0.15-0.20.20.150.10.050-0.05-0.1-0.15-0.210501100115012023250130

溫馨提示

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

評論

0/150

提交評論