人工神經(jīng)網(wǎng)絡(luò)matlab程序_第1頁
人工神經(jīng)網(wǎng)絡(luò)matlab程序_第2頁
人工神經(jīng)網(wǎng)絡(luò)matlab程序_第3頁
人工神經(jīng)網(wǎng)絡(luò)matlab程序_第4頁
人工神經(jīng)網(wǎng)絡(luò)matlab程序_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——人工神經(jīng)網(wǎng)絡(luò)matlab程序神經(jīng)網(wǎng)絡(luò)MATLAB程序

%根據(jù)預(yù)計(jì)方法得到輸入向量和目標(biāo)向量

P=[0.44130.47070.69530.81330.43790.46770.69810.80020.45170.47250.70060.8201;0.43790.46770.69810.80020.45170.47250.70060.82010.45570.47900.70190.8211;0.45170.47250.70060.82010.45570.47900.70190.82110.46010.48110.71010.8298;]';T=[0.45570.47900.70190.8211;0.46010.48110.71010.8298;0.46120.48450.71880.8312]';

%輸入向量的取值范圍為[01],用threshold來標(biāo)記threshold=[01;01;01;01;01;01;01;01;01;01;01;01];

%創(chuàng)立一個(gè)Elman神經(jīng)網(wǎng)絡(luò),隱含層的神經(jīng)元個(gè)數(shù)為17個(gè),4個(gè)輸出層神經(jīng)元,隱含層激活函

%數(shù)為tansig,輸出層激活函數(shù)為purelin

net=newelm(threshold,[17,4],{'tansig','purelin'});net.trainParam.epochs=3000;net=init(net);net=train(net,P,T);%輸入測(cè)試數(shù)據(jù)

P_test=[0.45570.47900.70190.82110.46010.48110.71010.82980.46120.48450.71880.8312]';

T_test=[0.46150.48910.72010.8330]';y=sim(net,P_test)

%在測(cè)試數(shù)據(jù)下,計(jì)算網(wǎng)絡(luò)的輸出和實(shí)際目標(biāo)向量之間的差值error=y-T_test;

%在坐標(biāo)平面上畫出差值曲線plot(1:4,error,'-');程序運(yùn)行后,結(jié)果如圖2-29所示,命令行窗口中的結(jié)果如下:……

TRAINGDX,Epoch2950/3000,MSE2.65822e-005/0,Gradient0.000916222/1e-006TRAINGDX,Epoch2975/3000,MSE2.64788e-005/0,Gradient0.000221814/1e-006TRAINGDX,Epoch3000/3000,MSE2.6293e-005/0,Gradient0.000102435/1e-006TRAINGDX,Maximumepochreached,performancegoalwasnotmet.y=0.47610.49160.72170.8344

1

Hopfield

%數(shù)字1的點(diǎn)陣表示

one=[-1-1-11111-1-1-1-1-1-11111-1-1-1-1-1-11111-1-1-1-1-1-11111-1-1-1-1-1-11111-1-1-1-1-1-11111-1-1-1-1-1-11111-1-1-1-1-1-11111-1-1-1-1-1-11111-1-1-1-1-1-11111-1-1-1];%數(shù)字2的點(diǎn)陣表示

two=[11111111-1-111111111-1-1-1-1-1-1-1-111-1-1-1-1-1-1-1-111-1-111111111-1-111111111-1-111-1-1-1-1-1-1-1-111-1-1-1-1-1-1-1-111111111-1-111111111-1-1];%設(shè)定網(wǎng)絡(luò)的目標(biāo)向量T=[one;two]';

%創(chuàng)立一個(gè)Hopfield神經(jīng)網(wǎng)絡(luò)net=newhop(T);

%給定一個(gè)受噪聲污染的數(shù)字2的點(diǎn)陣,所謂噪聲是指數(shù)字點(diǎn)陣中某些本應(yīng)為1的方塊變成了-1

no2={[111-111-11-1-111111111-1-1-11-11-1-111-1-1-1-11-11-111-1-111111111-1-111111111-1-111-1-1-1-1-1-1-1-111-1-1-1-1-1-1-1-1111-11111-1-111-111111-1-1]'};%對(duì)網(wǎng)絡(luò)進(jìn)行仿真,網(wǎng)絡(luò)的仿真步數(shù)為5tu2=sim(net,{1,5},{},no2)

%輸出仿真結(jié)果向量矩陣中的第3列向量,并將其轉(zhuǎn)置tu2{3}'

程序運(yùn)行后,在命令行窗口得到下面的結(jié)果:ans=

Columns1through21

11111111-1-111111111-1-1-1Columns22through42

-1-1-1-1-111-1-1-1-1-1-1-1-111-1-111Columns43through63

111111-1-111111111-1-111-1Columns64through84

-1-1-1-1-1-1-111-1-1-1-1-1-1-1-11111Columns85through100

1111-1-111111111-1-1

由結(jié)果可以看出所得到的點(diǎn)陣與數(shù)字2的正常點(diǎn)陣是一致的,說明網(wǎng)絡(luò)可以從受到污染的數(shù)字2的點(diǎn)陣中識(shí)別出數(shù)字2,證明網(wǎng)絡(luò)是有效的。

2

自組織網(wǎng)絡(luò)學(xué)習(xí)算法

建立一個(gè)自組織神經(jīng)網(wǎng)絡(luò)對(duì)上述數(shù)據(jù)分類,給定某個(gè)地區(qū)的男、女出生比例分別為0.5,0.5,測(cè)試訓(xùn)練后的自組織神經(jīng)網(wǎng)絡(luò)的性能,判斷其屬于哪個(gè)類別。解答:MATLAB代碼如下:P=[0.55120.51230.50870.50010.60120.52980.50000.49650.51030.5003;0.44880.48770.49130.49990.39880.47020.50000.50350.48970.4997];

%創(chuàng)立一個(gè)自組織神經(jīng)網(wǎng)絡(luò),[01;01]表示輸入數(shù)據(jù)的取值范圍在[0,1]之%間,[3,4]表示競(jìng)爭(zhēng)層組織結(jié)構(gòu)為34,其余參數(shù)取默認(rèn)值net=newsom([01;01],[34]);net.trainParam.epochs=500;net=init(net);net=train(net,P);y=sim(net,P);

%獲取訓(xùn)練后的自組織神經(jīng)網(wǎng)絡(luò)的權(quán)值w1=net.IW{1,1};

%繪出訓(xùn)練后自組織神經(jīng)網(wǎng)絡(luò)的權(quán)值分布圖plotsom(w1,net.layers{1}.distances);%輸入測(cè)試數(shù)據(jù)p=[0.5;0.5];

%對(duì)網(wǎng)絡(luò)進(jìn)行測(cè)試y_test=sim(net,p);

%將測(cè)試數(shù)據(jù)所得到的將單值向量組變換成下標(biāo)向量y_test=vec2ind(y_test)

程序運(yùn)行后得到訓(xùn)練后的權(quán)值分布如圖2-24所示,在命令行窗口得到下面結(jié)果:%使用TRAINR作為訓(xùn)練函數(shù),最大訓(xùn)練次數(shù)為500次>>TRAINR,Epoch0/500TRAINR,Epoch25/500TRAINR,Epoch50/500TRAINR,Epoch75/500……

TRAINR,Epoch475/500TRAINR,Epoch500/500

TRAINR,Maximumepochreached.%訓(xùn)練終止后的結(jié)果y=41010121612121012%輸入測(cè)試數(shù)據(jù)后所得到的結(jié)果y_test=12

3

LVQ

%輸入向量P及其對(duì)應(yīng)的類別向量C

P=[-6-4-20000246;02-212-212-20];C=[1112222111];

%將類別向量C轉(zhuǎn)換為目標(biāo)向量TT=ind2vec(C);

%繪制輸入向量P,如圖2-26所示,用顏色將輸入向量分為兩類plotvec(P,C,'*r');

%輸入向量繪制在一個(gè)橫坐標(biāo)在[-88]之間,縱坐標(biāo)在[-33]之間的坐標(biāo)平面內(nèi)axis([-88-33]);

%創(chuàng)立一個(gè)LVQ神經(jīng)網(wǎng)絡(luò),隱含層有5個(gè)神經(jīng)元,[0.60.4]表示在隱含層的權(quán)值中,有60%的

%列的第一行的值為1,40%的列的第一行值為1,也就是說有60%的列屬于第一類,40%屬于

%其次類,網(wǎng)絡(luò)的其他參數(shù)取默認(rèn)值net=newlvq(minmax(P),5,[0.60.4]);net.trainParam.epochs=100;net=train(net,P,T);

%給定數(shù)據(jù),輸出網(wǎng)絡(luò)的分類結(jié)果測(cè)試網(wǎng)絡(luò)的性能p=[01;0.20];y=sim(net,p);yc=vec2ind(y)程序運(yùn)行后,在命令行窗口中得到下面結(jié)果:

%用TRAINR作為訓(xùn)練函數(shù),最大訓(xùn)練次數(shù)為100次>>TRAINR,Epoch0/100TRAINR,Epoch4/100

TRAINR,Performancegoalmet.

%對(duì)給定數(shù)據(jù),一個(gè)歸于第2類,一個(gè)歸于第1類yc=

21

4

RBF

%輸入從0開始變化到5,每次變化幅度為0.1x=0:0.1:5;y=sqrt(x);

%建立一個(gè)目標(biāo)誤差為0,徑向基函數(shù)的分布密度為%0.5,隱含層神經(jīng)元個(gè)數(shù)的最大值為20,每增加5個(gè)%神經(jīng)元顯示一次結(jié)果net=newrb(x,y,0,0.5,20,5);t=sim(net,x);

%在以輸入x和函數(shù)值與網(wǎng)絡(luò)輸出之間的差值y-t坐標(biāo)%上繪出誤差曲線,并用"*"來標(biāo)記函數(shù)值與網(wǎng)絡(luò)輸%出之間的差值plot(x,y-t,'*-');

%關(guān)閉繪圖句柄下次的圖和已經(jīng)繪制的圖將不在現(xiàn)一張圖上holdoff

%開啟一張新的繪圖面figure

%以x、y為橫縱坐標(biāo),以藍(lán)色的“*〞繪圖plot(x,y,'b*');holdon

%以x、t為橫縱坐標(biāo),以紅色的“-〞繪圖plot(x,t,'r-');

溫馨提示

  • 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)論