人工神經(jīng)網(wǎng)絡設計課程報告byHHU_第1頁
人工神經(jīng)網(wǎng)絡設計課程報告byHHU_第2頁
人工神經(jīng)網(wǎng)絡設計課程報告byHHU_第3頁
人工神經(jīng)網(wǎng)絡設計課程報告byHHU_第4頁
人工神經(jīng)網(wǎng)絡設計課程報告byHHU_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、人工神經(jīng)網(wǎng)絡課程報告姓名:張進 學號:151307040035 專業(yè):計算機科學與技術指導老師:曾曉勤 2015年12月基于BP神經(jīng)網(wǎng)絡的英文字母識別技術報告摘要:本技術報告主要介紹了利用BP神經(jīng)網(wǎng)絡進行英文字母的識別主要過程,為了檢測網(wǎng)絡的容錯性能和抗干擾能力,試驗中我還準備了隱藏16%和33%樣本數(shù)據(jù),因為題目中沒有特別要求,故本次實驗程序的編寫主要使用了作者較為熟悉的JAVA語言。關鍵詞:BP神經(jīng)網(wǎng)絡;噪聲干擾;模式識別;JAVA語言一、項目設計題目用多層感知機網(wǎng)絡實現(xiàn)對樣本圖像A-Z的識別,輸出相應的數(shù)值0-25,通過分析實驗結果討論感知機網(wǎng)絡的識別和容錯性能。二、實驗設計概要1、 實

2、驗數(shù)據(jù)預處理模式識別應用的領域非常廣泛,其中字母的識別是一個經(jīng)常研究的課題。由于在不同的課題中,由于具體的條件不同,解決的方法也不盡相同,因而字符識別的研究仍具有理論和實踐意義。這里討論的是用BP神經(jīng)網(wǎng)絡對26個英文字母的識別,BP網(wǎng)絡算法是學者Rumelhart、McClelland和他們的同事在20世紀80年代中期提出的多層前饋網(wǎng)絡MFNN(MutltilayerFeedforward Neural Networks)的反向傳播學習算法。BP網(wǎng)絡是對非線性可微分函數(shù)進行權值訓練的多層前向網(wǎng)絡。在對字母進行識別之前,需要將字母進行預處理,即將待識別的26個字母中的每一個字

3、母都通過的方格形式進行數(shù)字化處理,其有數(shù)據(jù)的位置設為1,其他位置設為-1。如圖1給出了字母A、B和C的數(shù)字化過程。下面給出了字母A的數(shù)字化處理結果,是用一個1*30向量表示,其結果為:P030=-1,-1,1,1,1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,1,1,1;其他字母對應的向量也做類似的處理。最終的標準輸入矩陣P2630,包含26個字母向量。-1-11-1-1-11-11-11-1-1-11111111-1-1-111-1-1-11-1111-11-1-1-111-1-1-1-11-1-1-1-11-1-1-

4、11-1111-11111-11-1-1-111111-11-1-1-111-1-1-111111-1 A B C圖1 字母數(shù)字化樣式2、 網(wǎng)絡的初始設計本次網(wǎng)絡主要選擇如圖2所示的網(wǎng)絡結構,其中有一個輸入層,一個隱含層,一個輸出層,網(wǎng)絡結構為30-30-1,其中,。圖2 網(wǎng)絡結構本次如圖2所示的網(wǎng)絡中,p為待輸入的學習(識別)向量,因為每個字母都有30個元素的向量表示,所以p的維數(shù)為30*1,w1為第一層權值,維數(shù)30*30,w2為第二層權值,維數(shù)30*1,b1為第一層偏值,維數(shù)30*1,b2為第二層偏值,維數(shù)1*1,a1為第一層輸出,維數(shù)30*1,a2為網(wǎng)絡最后的輸出,至此基本的網(wǎng)絡結構初

5、始設計完畢。3、 初始化各項參數(shù)本次初始化參數(shù)主要包括初始化隱含層第一層的權值w13030和偏置值b130,初始換隱含層第二層的權值w230和偏置值b2,本次實驗選取的初始值為0-0.5之間的隨機實數(shù)。其中隨機實數(shù)可以通過調用JAVA語言的random()方法得到。對于學習速度可以先設置為:=0.01,當然,也可以在后面的實驗過程中不斷的調節(jié)的值使得學習的更快更好,具體代碼實現(xiàn)見附錄。4、 前向傳播設計在前面工作完成的基礎上,首先需要根據(jù)BP算法的公式和計算第一層網(wǎng)絡的輸出a1,然后根據(jù)公式計算出最后輸出層的a2,這就是BP神經(jīng)網(wǎng)絡的前向傳播過程。最后根據(jù)計算出誤差e,具體代碼實現(xiàn)見附錄。5、

6、 敏感性計算由于在計算敏感性之前需要用到傳輸函數(shù)的導數(shù),故需要提前計算出來。具體導數(shù)推導如式(5.1)和式(5.2)所示: (5.1) (5.2)然后根據(jù)式(5.1)和式(5.2)可以得到s2的計算公式和第一層敏感性s1的計算公式,具體代碼實現(xiàn)見附錄。6、 權值和偏值的更新這里需要用到我之前設置的學習速度,實驗中可以嘗試修改的值,觀察實驗效果。具體的權值偏值計算可以根據(jù)公式(6.1)、公式(6.2)、公式(6.3)、公式(6.4)計算得到,具體代碼實現(xiàn)見附錄。 (6.1) (6.2) (6.3) (6.4)7、 測試網(wǎng)絡性能BP算法需要不停地迭代去更新權值和偏置直至某次迭代后誤差e滿足了實驗的

7、要求或者達到了最大的迭代次數(shù)。學習后預期的效果應當是當使用訓練樣本給BP網(wǎng)絡識別時,它能夠識別出字母A-Z,輸出對應的數(shù)字0-25;當使用隱藏部分數(shù)據(jù)的樣本給它識別時,如果它能夠識別多數(shù)A-Z破損數(shù)據(jù),說明該BP網(wǎng)絡的抗干擾、容錯能力較強,反之如果大部分無法識別,則說明本網(wǎng)絡容錯能力較差。3、 實驗結果展示1、實驗一學習速度a=0.1,誤差e=0.01,迭代次數(shù)m=2000,學習結束效果如圖3所示。圖3 實驗一結果部分展示2、實驗二學習速度a=0.01,誤差e=0.01,迭代次數(shù)m=2000,實驗結果如圖4所示。圖4 實驗二結果部分展示3、實驗三學習速度a=0.01,誤差e=0.0001,迭代

8、次數(shù)m=2000,實驗結果如圖5所示。圖5 實驗三結果部分展示4、實驗四學習速度a=0.015,誤差e=0.0001,迭代次數(shù)m=3000,實驗結果如圖6所示。圖6 實驗四結果部分展示通過觀察四次實驗的效果圖可以清楚的發(fā)現(xiàn),學習速度,誤差標準和迭代次數(shù)對識別的效果都有影響。顯然本次實驗最合適的學習速度a=0.015,可以發(fā)現(xiàn)當學習速度不變時,誤差選取的越小,迭代次數(shù)越大,則識別的效果越好。5、實驗五為了簡單的驗證一下BP網(wǎng)絡的容錯能力,下面進行實驗五,在原始數(shù)據(jù)p基礎上隱藏最后一行(隱藏16%)進行識別,具體參數(shù)為:a=0.015,e=0.0001,m=3000,實驗結果如圖7所示。圖7 實驗

9、五結果部分展示由圖7可以發(fā)現(xiàn),絕大部分破碎的數(shù)據(jù)無法被正確識別,小部分字母可以被識別。因此可以說明本次實驗構造的BP網(wǎng)絡的容錯性較差。4、 實驗總結本次實驗主要實現(xiàn)基于BP網(wǎng)絡的字母識別功能,通過實驗我深入了解了BP算法的原理,能夠通過編程搭建一個簡單的BP網(wǎng)絡。在實驗中通過調整學習速度,迭代次數(shù),誤差大小,實現(xiàn)了對BP網(wǎng)絡性能的優(yōu)化。通過本次實驗,我也體會到了BP算法還有有它很大的局限性的,比如:訓練次數(shù)多使得學習效率較低,算法的收斂速度較慢,易形成局部極小而得不到全局最優(yōu)等。在實驗中,我發(fā)現(xiàn)當學習速度設為0.1的時候,算法的震蕩較為驗證,結果不好,并且需要的迭代次數(shù)大,但是當學習速度設為0

10、.01時。算法明顯穩(wěn)定很多,結果處理的好,需要的迭代次數(shù)少,能較快的給出相應的正確的結果。附錄public class BP_Algorithm public static void main(String args) /BP主方法Data data = new Data();show(data.p);/輸出元數(shù)據(jù)BP_init(data);/初始化參數(shù)BP_learn(data, 3000); /調用BP學習算法,5200為學習迭代次數(shù),可以調節(jié)BP_test(data,data.p); /測試BP算法的正確性BP_test(data,data.p_test_16); /測試隱藏了16%數(shù)據(jù)

11、的正確性BP_test(data,data.p_test_33); /測試隱藏了33%數(shù)據(jù)的正確性static void show(float p) /根據(jù)矩陣用*打印出字幕圖像 的方法 int i,j,k; for(i=0;i<26;i+)for(j=0;j<6;j+) for(k=0;k<5;k+) if(pij+6*k=1) System.out.print("*"); else System.out.print(" "); System.out.println(); System.out.println(); static vo

12、id BP_init(Data data) /初始化參數(shù)方法,給權值和偏值賦初值(w1,w2,b1,b2)int i,j;for(i=0;i<30;i+) for(j=0;j<30;j+) /調用java的random方法生成00.5之間的實數(shù) data.w1ij=(float) (Math.random()/2.0); data.w2i=(float) (Math.random()/2.0); data.b1i=(float) (Math.random()/2.0);data.b2=0.48f;static void BP_learn(Data data,int count) /

13、BP算法的學習過程,其中m為迭代次數(shù) int i,j,m;for(m=0;m<count;m+)/BP算法的學習過程 for(i=0;i<30;i+) /對于某一個字母 一輪結束初始化a1,a2,s1,s2 data.a1i=0; data.s1i=0;data.a2=0;data.s2=0;if(m%26=0&&m!=0&&(data.e/26)>=0&&(data.e/26)<=0.0001) /滿足誤差要求,結束迭代 System.out.println("OK,誤差為: "+data.e); b

14、reak;else if(m%26=0&&m!=0) /一輪結束,重置均誤差data.e=0;for(i=0;i<30;i+) /前向傳播for(j=0;j<30;j+) data.a1i+=data.w1ij*data.pm%26j; for(i=0;i<30;i+) /使用s型函數(shù) 計算第一層結果值 data.a1i=data.a1i+data.b1i; data.a1i=(float)(1/(1+Math.pow(Math.E, -data.a1i);for(i=0;i<30;i+) /使用線性函數(shù)計算第二層結果值 data.a2=data.a2+

15、data.w2i*data.a1i;data.a2=data.a2+data.b2;data.e_true=(m%26)-data.a2;data.e=data.e+data.e_true; /累加一次迭代的真實誤差data.s2=(-2)*data.e_true; /計算s2敏感性 for(i=0;i<30;i+)/針對計算第一層敏感性初始化F(n) for(j=0;j<30;j+) if(i=j) data.tempij=(1-data.a1i)*data.a1i; for(i=0;i<30;i+) /計算s1 敏感性 data.s1i=data.tempii*data.

16、w2i;data.s1i=data.s1i*data.s2;for(i=0;i<30;i+) /第二層權值偏置值修正data.w2i=data.w2i-data.a*data.s2*data.a1i;data.b2=data.b2-data.a*data.s2;for(i=0;i<30;i+) /計算s2* a1 for(j=0;j<30;j+) data.tempij=data.s1i*data.pm%26j;for(i=0;i<30;i+) /第一層權值偏置值修正 for(j=0;j<30;j+) data.w1ij=data.w1ij-data.a*data

17、.tempij; for(i=0;i<30;i+)data.b1i=data.b1i-data.a*data.s1i;/BP測試方法,輸出結果static void BP_test(Data data,float p) int i,j,k; for(i=0;i<26;i+) for(j=0;j<6;j+) /展示測試數(shù)據(jù) for(k=0;k<5;k+) if(pij+6*k=1) System.out.print("*"); else System.out.print(" "); System.out.println(); for

18、(j=0;j<30;j+) /初始化網(wǎng)絡第一層第二層輸出 data.a1j=0; data.a2=0; for(j=0;j<30;j+) /前向傳播 for(k=0;k<30;k+) data.a1j+=data.w1jk*pik; for(j=0;j<30;j+) data.a1j=data.a1j+data.b1j; data.a1j=(float)(1/(1+Math.pow(Math.E, -data.a1j); for(j=0;j<30;j+) data.a2+=data.w2j*data.a1j; data.a2=data.a2+data.b2; Sy

19、stem.out.println("對應數(shù)字:"+data.a2); public class Data /原始A-Z數(shù)據(jù)protected float p= -1,-1,1,1,1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,1,1,1/A,1,1,1,1,1,1,1,-1,1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,1,-1,-1,1,-1,1,-1,1,1,-1 /B ,-1,1,1,1,1,-1,1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,1,1,-1,-1,-1

20、,-1,1,-1,1,-1,-1,1,-1 /C,1,1,1,1,1,1,1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,1,1,-1 /D,1,1,1,1,1,1,1,-1,1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,1,-1,-1,1 /E,1,1,1,1,1,1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,-1 /F,-1,1,1,1,1,-1,1,-1,-1,-1,-1,1,1,-1,-1,1,-1,

21、1,1,-1,-1,1,1,-1,-1,1,-1,1,1,1 /G,1,1,1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,1,1,1,1,1 /H,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1 /I,-1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 /J,1,1,1,1,1,1,-1,-1,1,1

22、,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1 /K,1,1,1,1,1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1 /L,1,1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,1,1,1,1,-1 /M,1,1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,1,1,1,1,-1

23、/N,-1,1,1,1,1,-1,1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,1,1,-1 /O,1,1,1,1,1,1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1 /P,-1,1,1,1,1,-1,1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,1,-1,-1,-1,1,1,-1,1,1,1,1,1 /Q,1,1,1,1,1,1,1,-1,1,1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,-1,1,-1,-

24、1,-1,-1,-1,-1 /R,-1,1,1,-1,-1,1,1,-1,-1,1,-1,1,1,-1,-1,1,-1,1,1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1 /S,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1 /T,1,1,1,1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,1,1,1,1,1,-1 /U,1,1,1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,

25、-1,-1,1,-1,-1,-1,-1,1,-1,1,1,1,1,-1,-1 /V,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,1,1,1,1,-1 /W,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,1,-1,-1,1,-1,-1,-1,1,-1 /X,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1 /Y,1,-1,-1,-

26、1,1,1,1,-1,-1,1,-1,1,1,-1,1,-1,-1,1,1,1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1; /Z/隱去33%的A-Z數(shù)據(jù) protected float p_test_33=-1,-1,1,1,-1,-1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,1,-1,-1 /A,1,1,1,1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,1,-1,-1 /B,-1,1,1,1,-1,-1,1,-1,-1,-1

27、,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1 /C,1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,1,-1,-1 /D,1,1,1,1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1 /E,1,1,1,1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,1,-1,-1,-1,-1

28、,-1 /F,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,-1,1,-1,1,-1,-1 /G,1,1,1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,1,1,1,-1,-1 /H,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 /I,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,1,1,

29、1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 /J,1,1,1,1,-1,-1,-1,-1,1,1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 /K,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 /L,1,1,1,1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,1,1,1,-1,-1 /

30、M,1,1,1,1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,1,1,1,-1,-1 /N,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,1,-1,-1 /O,1,1,1,1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1 /P,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,

31、-1,-1,-1,-1,-1,-1,1,1,1,-1,-1 /Q,1,1,1,1,-1,-1,1,-1,1,1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 /R,-1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1 /S,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1 /T,1,1,1,1,-1,-1,

32、-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,-1,-1 /U,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,-1,-1 /V,1,1,1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,1,1,1,-1,-1 /W,1,-1,-1,-1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,1,-1

33、,-1,1,-1,-1,-1,-1,-1 /X,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1 /Y,1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1; /Z/隱去16的A-Z的數(shù)據(jù) protected float p_test_16= -1,-1,1,1,1,-1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,-1,-1,1,-1,1,-1,-1,

34、-1,-1,1,1,1,-1/A,1,1,1,1,1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,1,1,-1 /B,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,-1 /C,1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,1,1,-1 /D,1,1,1,1,1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,

35、-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1 /E,1,1,1,1,1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,-1 /F,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1,1,1,-1 /G,1,1,1,1,1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,1,1,1,1,-1 /H,-1,-1,-1,-1,-1,-1,

36、1,-1,-1,-1,-1,-1,1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 /I,-1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,-1,1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 /J,1,1,1,1,1,-1,-1,-1,1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 /K,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,

37、-1,-1,-1,-1,-1,-1,-1 /L,1,1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,1,1,1,1,-1 /M,1,1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,1,1,1,1,-1 /N,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,1,1,-1 /O,1,1,1,1,1,-1,1,-1,1,-1,-1,-1,1,-1,

38、1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1 /P,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,-1 /Q,1,1,1,1,1,-1,1,-1,1,1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 /R,-1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1 /S,1,-1,-1,

39、-1,-1,-1,1,-1,-1,-1,-1,-1,1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1 /T,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,-1 /U,1,1,1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,1,1,1,1,-1,-1 /V,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,

40、-1,-1,1,1,1,1,1,-1 /W,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,1,-1,-1,1,-1,-1,-1,1,-1 /X,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1 /Y,1,-1,-1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1; /Zfloat w1 = new float303

41、0; /網(wǎng)絡第一層權值矩陣w1float w2=new float30; /網(wǎng)絡第二層權值矩陣w2float a1=new float30; /網(wǎng)絡第一層輸出a1float a2=0; /網(wǎng)絡最終輸出a2float b1=new float30; /網(wǎng)絡第一層偏值b1float b2=0; /網(wǎng)絡第二層偏值b2float s1=new float30; /網(wǎng)絡第一層敏感性s1float s2=0; /網(wǎng)絡第二層敏感性s2float e_true=1; /一次迭代真實誤差e_truefloat a=0.015f; /學習速度afloat e=0; /一輪迭代的平均誤差efloat temp=ne

42、w float3030; /第一層輸出導數(shù)的對角矩陣tempint num = 0; /用于接收一個10以內隨機正整數(shù) 自聯(lián)想與異聯(lián)想技術報告摘要:本次技術報告主要介紹了兩個實驗,第一個實驗是驗證02的線性自聯(lián)想的可行性,第二個實驗是實現(xiàn)AJ到09的異聯(lián)想。本次實現(xiàn)主要使用JAVA語言編程實現(xiàn),最后通過實驗結果分析基于有監(jiān)督的Hebb學習的線性聯(lián)想器的聯(lián)想和容錯性能,因為題目中沒有特別要求,故本次實驗程序的編寫主要使用了作者較為熟悉的JAVA語言。關鍵詞:Hebb學習;自聯(lián)想;異聯(lián)想;JAVA語言一、項目設計題目1、編程實現(xiàn)書中第7章7.2.4節(jié)中的例題的聯(lián)想器,驗證書中給出的結果(即實現(xiàn)02

43、的線性自聯(lián)想器)2、把輸入圖像的樣本從02擴大到09,實現(xiàn)從圖像09到圖像AJ的異聯(lián)想器,利用實驗結果分析線性聯(lián)想器的聯(lián)想和容錯性能。二、實驗設計概要8、 驗證02的自聯(lián)想自聯(lián)想神經(jīng)網(wǎng)絡(Auto-Associative Neural Network , 縮寫為AANN)是1992年Kramer提出的,是BP神經(jīng)網(wǎng)絡的一種特殊情形。其特點是有對稱拓撲結構,即輸出量等于輸入量。1.1數(shù)據(jù)預處理和網(wǎng)絡初始設計數(shù)據(jù)預處理主要是將02數(shù)字向量話,轉化為程序可以處理的數(shù)據(jù)。如圖1所示,本實驗將每個數(shù)字用一個6*5的表格表示。為了方便程序的處理,再將數(shù)字向量化,比如

44、數(shù)字0對應的向量形式為:P030=-1,1,1,1,1,-1,1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,-1,1,-1,1,1,1,1,-1。-1111-11-1-111-1-1-111-1-1-111-1-1-11-1111-1111-1-1-1-1-11-1-1-1-11-1-111-1-1-11-1-1-1-11111-111-1-1-1-11-1-1-1-11-1-1-1-11-1-1-1-11-1-1-1-11-1-1 A B C圖1 02圖像表格表示自聯(lián)想的網(wǎng)絡設計圖如2所示。p為待輸入的學習(識別)向量,因為每個字母都有30圖2 自聯(lián)想網(wǎng)絡設計圖個元素的向量表示,所以p的維數(shù)

溫馨提示

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

評論

0/150

提交評論