BP算法實(shí)現(xiàn)字母識(shí)別_第1頁
BP算法實(shí)現(xiàn)字母識(shí)別_第2頁
BP算法實(shí)現(xiàn)字母識(shí)別_第3頁
BP算法實(shí)現(xiàn)字母識(shí)別_第4頁
BP算法實(shí)現(xiàn)字母識(shí)別_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于BP網(wǎng)絡(luò)多層感知機(jī)的字母識(shí)別摘要:本次實(shí)驗(yàn)主要使用了BP神經(jīng)網(wǎng)絡(luò)方法對(duì)給定的英文字母A-Z進(jìn)行識(shí)別,并對(duì)應(yīng)輸出0-25表示識(shí)別成功??紤]的干擾因素的存在,在實(shí)驗(yàn)中分別測試了隱藏16%和33%樣本數(shù)據(jù)的效果,使得網(wǎng)絡(luò)具有一定的容錯(cuò)能力。本次實(shí)驗(yàn)程序的編寫主要使用了C語言。關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);模式識(shí)別;C語言1、 實(shí)驗(yàn)?zāi)康?. 了解BP神經(jīng)網(wǎng)絡(luò)的原理與實(shí)現(xiàn)方法。 2. 了解BP神經(jīng)網(wǎng)絡(luò)各種優(yōu)化算法的特點(diǎn)。3. 通過實(shí)驗(yàn)分析BP網(wǎng)絡(luò)的識(shí)別和容錯(cuò)性能。 4. 熟悉C語言編程的基本方法。2、 實(shí)驗(yàn)工具與方法1. BP網(wǎng)絡(luò)簡介20世紀(jì)80年代中期,學(xué)者Rumelhart、McCl

2、elland和他們的同事提出了多層前饋網(wǎng)絡(luò)MFNN(MutltilayerFeedforward Neural Networks)的反向傳播學(xué)習(xí)算法,簡稱BP網(wǎng)絡(luò)(Back Propagation Network)學(xué)習(xí)算法。BP網(wǎng)絡(luò)是對(duì)非線性可微分函數(shù)進(jìn)行權(quán)值訓(xùn)練的多層前向網(wǎng)絡(luò)。在人工神經(jīng)網(wǎng)絡(luò)的實(shí)際應(yīng)用中,80%90%的模型都采用BP網(wǎng)絡(luò)或其變化形式。BP網(wǎng)絡(luò)主要作用于以下幾個(gè)方面:(1)函數(shù)逼近:用輸入矢量和相應(yīng)的輸出矢量訓(xùn)練一個(gè)網(wǎng)絡(luò)來逼近一個(gè)函數(shù)。(2)模式識(shí)別:用一個(gè)特定的輸出矢量將它與輸入矢量聯(lián)系起來。(3)分類:把輸入矢量以所定義的合適的方式進(jìn)

3、行分類。(4)數(shù)據(jù)壓縮:減少輸出矢量的維數(shù)以便于數(shù)據(jù)傳輸或存儲(chǔ)。2.BP算法實(shí)現(xiàn)具體步驟BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)的主要特點(diǎn)是信號(hào)前向傳遞,誤差反向傳播。在前向傳遞中,輸入信號(hào)從輸入層經(jīng)隱含層逐層處理,直至輸出層。每一層的神經(jīng)元狀態(tài)只影響下一層神經(jīng)元狀態(tài)。如果輸出層得不到期望輸出,則轉(zhuǎn)入反向傳播,根據(jù)預(yù)測誤差調(diào)整網(wǎng)絡(luò)權(quán)值和閾值,從而使BP神經(jīng)網(wǎng)絡(luò)預(yù)測輸出不斷逼近期望輸出。BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖1所示。 P1w1w2T1P2。 。 。 。 。 Tm Pn 輸入層 隱藏層 輸出層 圖1 BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖圖1中P1,P2,Pn是BP神經(jīng)網(wǎng)絡(luò)的輸入值,T1,T2,Tm是BP神

4、經(jīng)的預(yù)測值,w1和w2為BP神經(jīng)網(wǎng)絡(luò)權(quán)值。從圖1可以看出,BP神經(jīng)網(wǎng)絡(luò)可以看成一個(gè)非線性函數(shù),網(wǎng)絡(luò)輸入值和預(yù)測值分別為該函數(shù)的自變量和因變量。當(dāng)輸入節(jié)點(diǎn)數(shù)為n,輸出節(jié)點(diǎn)數(shù)為m時(shí),BP神經(jīng)網(wǎng)絡(luò)就表達(dá)了從n個(gè)自變量到m個(gè)因變量的函數(shù)映射關(guān)系。BP神經(jīng)網(wǎng)絡(luò)預(yù)測前首先要訓(xùn)練網(wǎng)絡(luò),通過訓(xùn)練使網(wǎng)絡(luò)具有聯(lián)想記憶和預(yù)測能力。BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程包括以下幾個(gè)步驟。 步驟1:網(wǎng)絡(luò)初始化。根據(jù)系統(tǒng)輸入輸出序列(p,t)確定網(wǎng)絡(luò)輸入層節(jié)點(diǎn)數(shù)n,隱含層節(jié)點(diǎn)數(shù)x,輸出層節(jié)點(diǎn)數(shù)m。初始化輸入層、隱含層和輸出層神經(jīng)元之間的連接權(quán)值w、偏值b和學(xué)習(xí)速度a,還需要選擇合適的激勵(lì)函數(shù)。一般而言,初試權(quán)值和偏值是隨機(jī)產(chǎn)生

5、的較小實(shí)數(shù)。w步驟2:一輪學(xué)習(xí)結(jié)束時(shí),初始化各層前向輸出值和各層敏感性,主要完成置0工作。步驟3:前向傳播計(jì)算。根據(jù)公式,a0=p0,an=fn(wn*an-1+bn)計(jì)算網(wǎng)絡(luò)最終輸出值an,更新實(shí)際誤差e。步驟4:敏感性計(jì)算。根據(jù)公式,首先逆推出sn,然后依次反向計(jì)算出sn-1-s1。步驟5:權(quán)值、偏值更新。根據(jù)步驟4所得各層敏感性更新權(quán)值w和對(duì)應(yīng)偏值b。步驟6:一輪迭代結(jié)束后,驗(yàn)證平均誤差:e是否滿足誤差要求E,若滿足要求,則訓(xùn)練學(xué)習(xí)完成;若不滿足誤差要求,就返回步驟2進(jìn)行下一輪迭代,如此反復(fù)直到滿足誤差要求或者達(dá)到最大迭代次數(shù),最終訓(xùn)練學(xué)習(xí)完成。3、 實(shí)驗(yàn)內(nèi)容1. 網(wǎng)絡(luò)的設(shè)計(jì)與實(shí)驗(yàn)前的預(yù)

6、處理工作網(wǎng)絡(luò)的設(shè)計(jì):網(wǎng)絡(luò)的選擇如圖2所示:圖2 網(wǎng)絡(luò)的結(jié)構(gòu)如圖2所示,本次實(shí)驗(yàn)所用的網(wǎng)絡(luò)有一個(gè)輸入層,一個(gè)隱含層,一個(gè)輸出層,網(wǎng)絡(luò)結(jié)構(gòu)為30-30-1。p為待輸入的學(xué)習(xí)(識(shí)別)向量,維數(shù)為30*1,w1為第一層權(quán)值,維數(shù)30*30,w2為第二層權(quán)值,維數(shù)30*1,b1為第一層偏值,維數(shù)30*1,b2為第二層偏值,維數(shù)1*1,a1為第一層輸出,維數(shù)30*1,a2為網(wǎng)絡(luò)最后的輸出。激勵(lì)函數(shù)分為兩種,第一種是S型函數(shù),另一種是y=x直線函數(shù)。基本思想:利用反向傳播算法實(shí)現(xiàn)對(duì)A-Z圖像的識(shí)別,使得輸入圖像A-Z,對(duì)應(yīng)輸出0-25。再次基礎(chǔ)上討論下BP的性能和容錯(cuò)能力。預(yù)處理工作:字符識(shí)別是模式識(shí)別領(lǐng)域

7、的一項(xiàng)傳統(tǒng)課題,這是因?yàn)樽址R(shí)別不是一個(gè)孤立的問題,而是模式識(shí)別領(lǐng)域中大多數(shù)課題都會(huì)遇到的基本問題,并且在不同的課題中,由于具體的條件不同,解決的方法也不盡相同,因而字符識(shí)別的研究仍具有理論和實(shí)踐意義。這里討論的是用BP神經(jīng)網(wǎng)絡(luò)對(duì)26個(gè)英文字母的識(shí)別。在對(duì)字母進(jìn)行識(shí)別之前,首先必須將字母進(jìn)行預(yù)處理,即將待識(shí)別的26個(gè)字母中的每一個(gè)字母都通過的方格形式進(jìn)行數(shù)字化處理,其有數(shù)據(jù)的位置設(shè)為1,其他位置設(shè)為-1。如圖3給出了字母A、B和C的數(shù)字化過程,然后用一個(gè)1×30的向量表示。例如圖3中字母A的數(shù)字化處理結(jié)果所得對(duì)應(yīng)的向量為:P030=-1,-1,1,1,1,1,-1,1,-1,1,-1

8、,-1,1,-1,-1,1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,1,1,1;其他字母對(duì)應(yīng)的向量也做類似的處理。最終的標(biāo)準(zhǔn)輸入矩陣P2630,包含26個(gè)字母向量。-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-11-1111-11111-11-1-1-111111-11-1-1-111-1-1-111111-1 A B C圖3 字母數(shù)字化樣式2. 初始化權(quán)值、偏值和學(xué)習(xí)速度隨機(jī)的設(shè)定w13030、w230、b130和b2的初始值,本次實(shí)驗(yàn)選取的初始值為

9、0-0.5之間的隨機(jī)實(shí)數(shù)。因?yàn)镃語言的stdlib庫中提供有rand()方法,所以可以輕松地實(shí)現(xiàn)隨機(jī)的賦值。對(duì)于學(xué)習(xí)速度a可以先設(shè)置為:a=0.1,a的值可以在后面的實(shí)驗(yàn)過程中再修改。3. 編程實(shí)現(xiàn)識(shí)別功能由于代碼在后面將具體給出,所以在這里只說明實(shí)現(xiàn)的步驟與大概思想。程序主要包含了兩大部分,第一部分實(shí)現(xiàn)網(wǎng)絡(luò)的迭代學(xué)習(xí),第二部分開始正式的識(shí)別。第一部分又可以分為三個(gè)主要分支,即前向傳播、敏感性計(jì)算(反向傳播)和權(quán)值偏值的更新。第一步,在前面工作完成的基礎(chǔ)上,首先需要計(jì)算第一層網(wǎng)絡(luò)的輸出a1,然后在計(jì)算出最后輸出層的a2,這就是網(wǎng)絡(luò)的前向傳播過程。因?yàn)檎`差e=t-a2,所以誤差也可以計(jì)算出來。

10、第二步,在計(jì)算敏感性之前需要用到傳輸函數(shù)的導(dǎo)數(shù)信息,需要提前計(jì)算出來。然后根據(jù)給出的公式可以計(jì)算出s2,再逆推到第一層敏感性s1。傳輸函數(shù)導(dǎo)數(shù): 第三步,權(quán)值和偏值的更新。這里開始用到學(xué)習(xí)速度a,實(shí)驗(yàn)中可以嘗試修改a的值,觀察實(shí)驗(yàn)效果。具體的權(quán)值偏值計(jì)算可以根據(jù)下面的公式。最后學(xué)習(xí)結(jié)束的條件是,某次迭代后誤差e滿足了實(shí)驗(yàn)的要求或者達(dá)到了最大的迭代次數(shù)。學(xué)習(xí)后預(yù)期的效果,當(dāng)使用訓(xùn)練樣本給BP網(wǎng)絡(luò)識(shí)別時(shí),它能夠識(shí)別出字母A-Z,輸出對(duì)應(yīng)的數(shù)字0-25;當(dāng)使用隱藏部分?jǐn)?shù)據(jù)的樣本給它識(shí)別時(shí),如果它能夠識(shí)別多數(shù)A-Z破損數(shù)據(jù),說明該BP網(wǎng)絡(luò)的抗干擾、容錯(cuò)能力較強(qiáng),反之如果大部分無法識(shí)別,則說明本網(wǎng)絡(luò)容錯(cuò)

11、能力較差。4、 實(shí)驗(yàn)結(jié)果1. 學(xué)習(xí)速度a=0.1,誤差e=0.01,迭代次數(shù)m=1300,學(xué)習(xí)結(jié)束效果如圖4所示。因?yàn)槌绦蚴巧舷驴v向顯示,截圖一個(gè)屏不夠,所以只好拼在一起分段顯示。 圖4 實(shí)驗(yàn)1效果2. 學(xué)習(xí)速度a=0.01,誤差e=0.01,迭代次數(shù)m=1300,實(shí)驗(yàn)結(jié)果如圖5所示。圖5 實(shí)驗(yàn)2效果3. 學(xué)習(xí)速度a=0.01,誤差e=0.0001,迭代次數(shù)m=1300,實(shí)驗(yàn)結(jié)果如圖6所示圖6 實(shí)驗(yàn)3效果4. 學(xué)習(xí)速度a=0.018,誤差e=0.0001,迭代次數(shù)m=5200,實(shí)驗(yàn)結(jié)果如圖7所示。圖7 實(shí)驗(yàn)4效果通過觀察四次測試的效果圖可以清楚的發(fā)現(xiàn),學(xué)習(xí)速度,誤差標(biāo)準(zhǔn)和迭代次數(shù)對(duì)識(shí)別的效果都

12、有影響。顯然本次實(shí)驗(yàn)最合適的學(xué)習(xí)速度a=0.018,可以發(fā)現(xiàn)當(dāng)學(xué)習(xí)速度不變時(shí),誤差選取的越小,迭代次數(shù)越大,則識(shí)別的效果越好。5. 為了簡單的驗(yàn)證一下BP網(wǎng)絡(luò)的容錯(cuò)能力,下面進(jìn)行實(shí)驗(yàn)5,在原始數(shù)據(jù)p基礎(chǔ)上隱藏最后一行(隱藏16%)進(jìn)行識(shí)別,具體參數(shù)為:a=0.018,e=0.0001,m=5200,實(shí)驗(yàn)結(jié)構(gòu)如圖8所示。圖8 實(shí)驗(yàn)5結(jié)果由圖8可以發(fā)現(xiàn),大部分破碎的數(shù)據(jù)無法識(shí)別,小部分字母(7個(gè)左右)可以被識(shí)別。因此可以說明本次實(shí)驗(yàn)構(gòu)造的BP網(wǎng)絡(luò)的容錯(cuò)性較差。5、 實(shí)驗(yàn)的分析本次實(shí)驗(yàn)主要實(shí)現(xiàn)基于BP網(wǎng)絡(luò)的字母識(shí)別功能,通過實(shí)驗(yàn)我了解了BP算法的原理,學(xué)會(huì)了搭建一個(gè)簡單的BP網(wǎng)絡(luò)。實(shí)驗(yàn)中通過調(diào)整學(xué)習(xí)

13、速度,迭代次數(shù),誤差大小,實(shí)現(xiàn)了對(duì)BP網(wǎng)絡(luò)性能的優(yōu)化。通過本次實(shí)驗(yàn)我也體會(huì)到了BP算法的局限性,比如:算法的收斂速度慢,可能存在多個(gè)局部極小值點(diǎn),以及網(wǎng)絡(luò)結(jié)構(gòu)的不確定性對(duì)網(wǎng)絡(luò)的影響。6、 源代碼#include<stdio.h>#include<math.h>#include<stdlib.h>void main()float p2630=-1,-1,1,1,1,1,-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,

14、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,-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,-

15、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,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

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,-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

17、,-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,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,

18、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,-1,-1,-1,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,-

19、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,-1,1,-1,-1,-1,1,

20、-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/原始A-Z數(shù)據(jù)float p_test_332630=-1,-1,1,1,-1,-1,-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,-

21、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,-1,-1,1,-1,1,-1,-1,-1,1,-1,

22、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,1,-1,-1,-1,-1,-1,1,1,

23、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,-1,-1,-1,-1,-1,

24、-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,1,-1,-1,

25、-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,-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 /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,-

27、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,-1,-1,-1,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ù)fl

28、oat p_test_162630=-1,-1,1,1,1,-1,-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,-1,-1,-1,1,-1,-1,1,-1 /c,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 /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,-1,1,-1,-1,1,1,-1,-1,1,-1,1,1,-1 /g,1,1,1,1,1,-1,-1,-

30、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,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,-1,-1,-1,-

31、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 /n,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1

32、,-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,-1,-1,-1,-1,-1 /r,-1,1,1,-1,-

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 /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,-1,-1,-1,-1,-1,-1,-1

34、,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,-1,1,-1,1,-1,-1,1,-

35、1,-1,1,-1,1,-1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1; /z/標(biāo)準(zhǔn)輸出0-25數(shù)據(jù)int i,j,k,m,n;for(i=0;i<26;i+) /輸出原數(shù)據(jù)for(j=0;j<6;j+) for(k=0;k<5;k+) if(pij+6*k=1) printf("*"); else printf(" "); printf("n"); printf("nn");float w13030=0; /網(wǎng)絡(luò)第一層權(quán)值矩陣w1float w230=0;

36、/網(wǎng)絡(luò)第二層權(quán)值矩陣w2float a130=0; /網(wǎng)絡(luò)第一層輸出a1float a2=0; /網(wǎng)絡(luò)最終輸出a2float b130=0; /網(wǎng)絡(luò)第一層偏值b1float b2=0; /網(wǎng)絡(luò)第二層偏值b2float s130=0; /網(wǎng)絡(luò)第一層敏感性s1float s2=0; /網(wǎng)絡(luò)第二層敏感性s2float e_true=1; /一次迭代真實(shí)誤差e_truefloat a=0; /學(xué)習(xí)速度afloat e=0; /一輪迭代的平均誤差efloat temp3030=0; /第一層輸出導(dǎo)數(shù)的對(duì)角矩陣tempint num=0; /用于接收一個(gè)10以內(nèi)隨機(jī)正整數(shù)a=0.018; for(i=0;i<30;i+) /給權(quán)值和偏值賦初值(w1,w2,b1,b2) for(j=0;j<30;j+) num=rand()%10; w1ij=num/5.0; num=rand()%10; w2i=num/5.0; b1i=num/5.0;b2=0.1;for(m=0;m<5200;m+) /m是迭代次數(shù) for(i=0;i<30;i+) /一輪結(jié)束初始化a1,a2,s1,s2 a1i=0; s1i=0;a2=0;s2=0;if(

溫馨提示

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