通信工程設(shè)計(jì)報(bào)告任務(wù)書_第1頁
通信工程設(shè)計(jì)報(bào)告任務(wù)書_第2頁
通信工程設(shè)計(jì)報(bào)告任務(wù)書_第3頁
通信工程設(shè)計(jì)報(bào)告任務(wù)書_第4頁
通信工程設(shè)計(jì)報(bào)告任務(wù)書_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、武漢理工大學(xué)通信工程應(yīng)用技術(shù)課程設(shè)計(jì)課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 專業(yè)班級(jí): 指導(dǎo)教師: 工作單位: 武漢理工大學(xué) 題 目: 模式識(shí)別 初始條件:MATLAB 軟件要求完成的主要任務(wù): (包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說明書撰寫等具體要求)利用BP(Back-propagation)網(wǎng)絡(luò)對(duì)于10個(gè)阿拉伯?dāng)?shù)字(用七段碼表示)進(jìn)行訓(xùn)練,將訓(xùn)練好的網(wǎng)絡(luò)對(duì)于污染的數(shù)字進(jìn)行識(shí)別。要求:學(xué)習(xí)BP算法;將數(shù)字用7維矢量表示;設(shè)計(jì)BP網(wǎng)絡(luò)(7輸入1輸出);參考MATLAB軟件神經(jīng)網(wǎng)絡(luò)工具箱。時(shí)間安排:2014年1月 6日 布置任務(wù);2014年1月 7日10日 查閱資料,確定設(shè)計(jì)方案;2014年1月 11日1

2、6日 完成仿真、制作實(shí)物等;2014年1月 17日 完成答辯。指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日目錄摘要3Abstract41 神經(jīng)網(wǎng)絡(luò)發(fā)展歷史及其應(yīng)用51.1 神經(jīng)網(wǎng)絡(luò)發(fā)展歷史51.2 神經(jīng)網(wǎng)絡(luò)的應(yīng)用52. BP神經(jīng)網(wǎng)絡(luò)62.1 BP神經(jīng)網(wǎng)絡(luò)簡(jiǎn)介62.2 BP 神經(jīng)網(wǎng)絡(luò)的工作原理62.3 BP 神經(jīng)網(wǎng)絡(luò)的基本算法72.4 BP 神經(jīng)網(wǎng)絡(luò)算法的基本步驟102.5 BP 神經(jīng)網(wǎng)絡(luò)算法的主要特點(diǎn)133. MATLAB 實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)133.1 MATLAB 的BP神經(jīng)網(wǎng)絡(luò)及其函數(shù)介紹133.2 BP 神經(jīng)網(wǎng)絡(luò)中幾種重要函數(shù)及其功能144程序設(shè)計(jì)及仿真結(jié)果154.1

3、程序設(shè)計(jì)154.2 仿真結(jié)果175心得與體會(huì)256 參考文獻(xiàn)26附錄274武漢理工大學(xué)通信工程應(yīng)用技術(shù)綜合訓(xùn)練與實(shí)習(xí)報(bào)告摘要BP網(wǎng)絡(luò)是神經(jīng)網(wǎng)絡(luò)的一個(gè)重要分支。它又稱多層感知機(jī)或誤差信號(hào)反饋網(wǎng)絡(luò),是目前較流行,應(yīng)用最廣的神經(jīng)網(wǎng)絡(luò)模型。BP網(wǎng)絡(luò)的主要特點(diǎn)是能夠?qū)崿F(xiàn)從n維到m維的非線性映射。也可以說,經(jīng)過訓(xùn)練它可以完成簡(jiǎn)單的模糊分類工作。BP神經(jīng)網(wǎng)絡(luò)的主要優(yōu)點(diǎn)是:良好的容錯(cuò)能力、分類能力強(qiáng)、并行處理能力和自學(xué)習(xí)能力。因而,采用神經(jīng)網(wǎng)絡(luò)識(shí)別數(shù)字是一種很好的選擇。本文首先對(duì)神經(jīng)網(wǎng)絡(luò)的發(fā)展歷史及應(yīng)用做了簡(jiǎn)單的介紹,接著對(duì)BP網(wǎng)絡(luò)的相關(guān)知識(shí)做了概括性的介紹。最后在MATLAB 軟件中,編寫了進(jìn)行相關(guān)識(shí)別數(shù)字

4、的程序,并進(jìn)行了仿真。 關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò) BP網(wǎng)絡(luò) 數(shù)字識(shí)別AbstractThe Back-propagation network is a branch of neural network. It is also called Multi-Layer Perception or Error Back-propagation Net. It is a neural network model which is widely used and in vogue present. The main characteristic of BP neural network is that it ca

5、n implement nonlinear mapping from n dimension to m dimension. In other words, it can implement simply blurry classify. The brief advantage of BP Net is: Nicer tolerance capacities, Powerful classify capacities, Parallel disposal capacity and self-study capacity. So it is a very good choice using BP

6、 Net to recognize number figure. This article first introduces a developmental history and application of the neural network. Then we give a brief introduction of BP-neural network. Finally, in the MATLAB environment, we give the preparation of procedures for characteristic recognition, and simulati

7、on. Key words: neural network, BP neural network, character recognition,1 神經(jīng)網(wǎng)絡(luò)的發(fā)展歷史及其應(yīng)用1.1 神經(jīng)網(wǎng)絡(luò)的發(fā)展歷史自1943年,心里學(xué)家McCulloch教授與數(shù)學(xué)家Pitts教授提出神經(jīng)元生物學(xué)模型(簡(jiǎn)稱MP-模型)以來,至今已有半個(gè)多世紀(jì)的發(fā)展歷史了。在這半個(gè)多世紀(jì)里,它的發(fā)展大體可以分為以下幾個(gè)階段 :自1943年MP-模型產(chǎn)生起,到60年代止,這一段時(shí)間為神經(jīng)網(wǎng)絡(luò)系統(tǒng)的初期階段,這時(shí)的主要特點(diǎn)是多種網(wǎng)絡(luò)模型的產(chǎn)生與學(xué)習(xí)算法的確定。60年代末至70年代,神經(jīng)網(wǎng)絡(luò)系統(tǒng)理論的發(fā)展處于一個(gè)低潮時(shí)期,造成這個(gè)情

8、況的原因是神經(jīng)網(wǎng)絡(luò)系統(tǒng)理論的發(fā)展出現(xiàn)了本質(zhì)上的困難。80年代末至90年代,由于智能計(jì)算機(jī)的發(fā)展,神經(jīng)網(wǎng)絡(luò)系統(tǒng)理論形成一個(gè)發(fā)展熱點(diǎn)。1.2 神經(jīng)網(wǎng)絡(luò)的應(yīng)用神經(jīng)網(wǎng)絡(luò)在很多科學(xué)領(lǐng)域里都有很多奇妙應(yīng)用,包括圖像處理、自動(dòng)控制、經(jīng)濟(jì)預(yù)測(cè)、模式識(shí)別、信號(hào)處理等等。神經(jīng)網(wǎng)絡(luò)理論的應(yīng)用研究主要在模式識(shí)別、優(yōu)化控制等方面;與數(shù)學(xué)、統(tǒng)計(jì)學(xué)中的多個(gè)學(xué)科分支發(fā)生聯(lián)系,有如線性與非線性規(guī)劃問題、數(shù)值逼近、統(tǒng)計(jì)計(jì)算等等,其內(nèi)容十分豐富。總而言之,神經(jīng)網(wǎng)絡(luò)技術(shù)是一種應(yīng)用廣泛的科學(xué)計(jì)算,具有很高的研究?jī)r(jià)值。2 BP神經(jīng)網(wǎng)絡(luò)2.1 BP神經(jīng)網(wǎng)絡(luò)簡(jiǎn)介BP算法是80年代中期,由Rumelhart 和McCulloch教授為首提出了

9、多層前饋網(wǎng)絡(luò)(MFNN)的反向傳播學(xué)習(xí)算法,簡(jiǎn)稱BP算法,是一種有教師的學(xué)習(xí)算法。2.2 BP神經(jīng)網(wǎng)絡(luò)的工作原理BP網(wǎng)絡(luò)是一種有教師的學(xué)習(xí)網(wǎng)絡(luò),它首先要以一定的學(xué)習(xí)準(zhǔn)則學(xué)習(xí),然后才能工作,下面簡(jiǎn)要描述一下它的學(xué)習(xí)方法。以BP網(wǎng)絡(luò)對(duì)手寫A、B兩個(gè)字母的識(shí)別為例進(jìn)行說明:規(guī)定當(dāng)“A”輸入網(wǎng)絡(luò)時(shí),應(yīng)該輸出“1”,而當(dāng)“B”輸入網(wǎng)絡(luò)時(shí),應(yīng)該輸出“0”,所以BP網(wǎng)絡(luò)的學(xué)習(xí)準(zhǔn)則應(yīng)該是:如果BP網(wǎng)絡(luò)做出錯(cuò)誤的判決,則通過網(wǎng)絡(luò)權(quán)值的調(diào)整,使得BP網(wǎng)絡(luò)減少下次再出錯(cuò)的可能性。首先,給BP網(wǎng)絡(luò)的各連接權(quán)值賦予(0,1)區(qū)間內(nèi)的隨機(jī)值,將“A”所對(duì)應(yīng)的圖像模式輸入給BP網(wǎng)絡(luò),BP網(wǎng)絡(luò)將收到的輸入模式加權(quán)求和、與門限

10、比較、再進(jìn)行非線性運(yùn)算,得到BP網(wǎng)絡(luò)的輸出。在此情況下,BP網(wǎng)絡(luò)輸出為“0”和“1”的概率各為百分之五十。也就是說完全隨機(jī)的。這時(shí)如果輸出為“1”(結(jié)果正確),則使連接權(quán)值增大,以便使BP網(wǎng)絡(luò)是再次遇到“A”模式輸入時(shí),仍然能夠做出正確的判斷。如果輸出為“0”(即結(jié)果正確),則把BP網(wǎng)絡(luò)連接權(quán)值朝著減小綜合輸入加權(quán)值的方向調(diào)整,其目的在于使BP網(wǎng)絡(luò)是再次遇到“A”模式輸入時(shí),減小犯同樣錯(cuò)誤的可能性。如此操作調(diào)整,當(dāng)給BP網(wǎng)絡(luò)輪番輸入若干個(gè)手寫字母“A”、“B”后,經(jīng)過BP網(wǎng)絡(luò)按以上學(xué)習(xí)方法進(jìn)行若干次學(xué)習(xí)后,BP網(wǎng)絡(luò)判斷的正確率將大大提高。這說明BP網(wǎng)絡(luò)對(duì)這兩個(gè)模式的學(xué)習(xí)已經(jīng)取得了巨大成功。它已

11、經(jīng)將這兩個(gè)模式分布的記憶在BP網(wǎng)絡(luò)的各個(gè)連接權(quán)值上。當(dāng)BP網(wǎng)絡(luò)再次遇到其中任何一個(gè)模式時(shí),能夠做出迅速、準(zhǔn)確的判斷和識(shí)別。一般說來,BP網(wǎng)絡(luò)中所含的神經(jīng)元個(gè)數(shù)越多,則它能記憶、判斷、識(shí)別的模式也就越多。簡(jiǎn)言之,它的中心細(xì)想就是調(diào)整權(quán)值,以便使網(wǎng)絡(luò)總誤差最小。也就是采用梯度搜索技術(shù),以期使網(wǎng)絡(luò)的實(shí)際輸出值與期望輸出值的誤差均方值為最小。多層網(wǎng)絡(luò)運(yùn)用BP 學(xué)習(xí)算法時(shí),實(shí)際上包含了正向和反向傳播兩個(gè)階段。在正向傳播過程中,輸入信息從輸入層經(jīng)隱含層逐層處理,并傳向輸出層,每一層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。如果在輸出層不能得到期望輸出,則轉(zhuǎn)入反向傳播,反向傳播時(shí),把誤差信號(hào)按原來正向傳播的通路

12、反向傳回,并對(duì)每個(gè)隱層的各個(gè)神經(jīng)元的權(quán)系數(shù)進(jìn)行修改,以望誤差信號(hào)趨向最小。2.3 BP神經(jīng)網(wǎng)絡(luò)的基本算法 圖2.3.1 BP網(wǎng)絡(luò)示意圖圖2.3.1是一個(gè)BP網(wǎng)絡(luò)的示意圖,如圖所示,BP網(wǎng)絡(luò)在輸入與輸出層之間增加若干層(一層或多層)神經(jīng)元,這些神經(jīng)元稱為隱單元,它們與外界沒有直接聯(lián)系,但是如果它們的狀態(tài)發(fā)生變化,則能影響輸入與輸出之間的關(guān)系。 圖2.3.2 信息正向傳播圖2.3.3 信息反向傳播設(shè)有圖2.3.2及圖2.3.3所示的3層神經(jīng)網(wǎng)絡(luò),其中第K層的第j個(gè)神經(jīng)元的輸入總和為,輸出總和為,K-1層的第i個(gè)神經(jīng)元與第K層的第j個(gè)神經(jīng)元的連接權(quán)值為,則有以下公式: (2.3.1) (2.3.2)

13、對(duì)于給定的任一輸入模式,若網(wǎng)絡(luò)的第K層的第j個(gè)神經(jīng)元的輸入誤差為,則使權(quán)值沿著誤差的負(fù)梯度方向變化,即有以下公式: (2.3.3)式中的是權(quán)值調(diào)整因子。這個(gè)算法的學(xué)習(xí)過程,由正向傳播和反向傳播組成,正向傳播過程,輸入模式從輸入層,經(jīng)隱單元層逐層處理,并傳向輸出層,每一層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。如果在輸出層不能得到期望的輸出,則轉(zhuǎn)入反向傳播,將誤差信號(hào)沿著原來的連接通路返回,通過修改各神經(jīng)元的權(quán)值,使得誤差信號(hào)最小。 具體的,其調(diào)整規(guī)則為對(duì)于每一樣本p 的輸入模式對(duì)的二次型誤差函數(shù)為: 則系統(tǒng)對(duì)所有N 個(gè)訓(xùn)練樣本的總誤差函數(shù)為: 式中, N 為模式樣本對(duì)數(shù); L 為網(wǎng)絡(luò)輸出節(jié)點(diǎn)數(shù)。

14、一般來說,基于Jp 還是基于J 來完成加權(quán)系數(shù)空間的梯度搜索會(huì)獲得不同的結(jié)果。在Rumelhart 等人的學(xué)習(xí)加權(quán)的規(guī)則中,學(xué)習(xí)過程按使誤差函數(shù)Jp減小最快的方向調(diào)整加權(quán)系數(shù)直到獲得滿意的加權(quán)系數(shù)集為止。這里的加權(quán)系數(shù)的修正時(shí)順序操作的,網(wǎng)絡(luò)對(duì)各模式對(duì)一個(gè)一個(gè)地順序輸入并不斷進(jìn)行學(xué)習(xí),類似于生物神經(jīng)網(wǎng)絡(luò)的處理過程,但不是真正的梯度搜索過程。對(duì)于給定的一個(gè)樣本p ,可根據(jù)誤差要求調(diào)整網(wǎng)絡(luò)的加權(quán)系數(shù)使其滿足要求;對(duì)于給定的另一個(gè)樣本,再根據(jù)誤差要求調(diào)整網(wǎng)絡(luò)的加權(quán)系數(shù)使其滿足要求,直到所有樣本作用下的誤差都滿足要求為止。這種計(jì)算過程稱為在線學(xué)習(xí)過程。如果學(xué)習(xí)過程按使誤差函數(shù)J 減小最快的方向調(diào)整加權(quán)

15、系數(shù),采用類似的推導(dǎo)過程可得輸出層和隱含層的任意神經(jīng)元k 和i 在所有樣本作用時(shí)的加權(quán)系數(shù)增量公式為: (2.3.4) (2.3.5)根據(jù)式(2.3.4)和(2.3.5)所得權(quán)值的修正是在所有樣本輸入后,計(jì)算完總的誤差后進(jìn)行的,這種修正稱為批處理學(xué)習(xí)或稱為離線學(xué)習(xí)。批處理修正可保證其總誤差J 向減少的方向變化,在樣本多的時(shí)候,它比在線學(xué)習(xí)的收斂速度快。2.4 BP神經(jīng)網(wǎng)絡(luò)算法的基本步驟BP算法的基本步驟如下:1. 選取學(xué)習(xí)算子,一個(gè)小的正數(shù);2. 網(wǎng)絡(luò)權(quán)值初始化,即將較小隨機(jī)數(shù)賦給權(quán)值;3. 取得訓(xùn)練樣本及對(duì)應(yīng)的教師;4. 計(jì)算由輸入層到隱含層的每個(gè)神經(jīng)元的加權(quán)和;5. 計(jì)算由隱含層到輸入層的

16、每個(gè)神經(jīng)元的加權(quán)和,(4、5兩步是正向傳播過程);6. 將輸出層和教師進(jìn)行比較,求得誤差。如果誤差不滿足要求,就根據(jù)此誤差調(diào)整各層權(quán)值;7. 重復(fù)3到6,直到網(wǎng)絡(luò)收斂。經(jīng)過學(xué)習(xí)大量的樣本,記錄調(diào)整后的權(quán)值,使用此權(quán)值數(shù)據(jù)對(duì)新的樣本進(jìn)行識(shí)別并計(jì)算識(shí)別率。其算法流程圖可如下表示:自動(dòng)修正網(wǎng)絡(luò)權(quán)值及偏置否是結(jié)束求出誤差輸出識(shí)別結(jié)果識(shí)別率是否滿足要求對(duì)網(wǎng)絡(luò)進(jìn)行測(cè)試再次利用原始標(biāo)準(zhǔn)樣本訓(xùn)練網(wǎng)絡(luò)利用加入噪聲的樣本訓(xùn)練網(wǎng)絡(luò)利用原始標(biāo)準(zhǔn)樣本訓(xùn)練網(wǎng)絡(luò)生成BP神經(jīng)網(wǎng)絡(luò)開始 圖2.4 網(wǎng)絡(luò)流程圖2.5 BP神經(jīng)網(wǎng)絡(luò)算法的主要特點(diǎn)BP神經(jīng)網(wǎng)絡(luò)具有以下幾個(gè)特點(diǎn):1. 能夠?qū)崿F(xiàn)非線性映射;2. 采用梯度下降法實(shí)現(xiàn)快速收斂

17、;3. 使用學(xué)習(xí)算子調(diào)整收斂速度,學(xué)習(xí)算子也可以稱為收斂因子,在不引起震蕩的情況下可以適當(dāng)增大;4. 不足之處:a) 由于是非線性優(yōu)化,不可避免的存在局部極小問題;b) 隱層以及隱層節(jié)點(diǎn)數(shù)的選擇沒有理論指導(dǎo),只能猜測(cè);c) 學(xué)習(xí)算法的收斂速度慢;d) 新加入的樣本會(huì)影響到已經(jīng)學(xué)習(xí)好的樣本;e) “壞”樣本對(duì)總體的訓(xùn)練結(jié)果有比較大的影響,因此必須慎重選擇訓(xùn)練樣本。3 MATLAB實(shí)現(xiàn)BP網(wǎng)絡(luò)3.1 MATLAB的BP神經(jīng)網(wǎng)絡(luò)及其函數(shù)介紹MATLAB 神經(jīng)網(wǎng)絡(luò)工具箱提供了豐富的演示實(shí)例,用MATLAB 語言構(gòu)造了典型的神經(jīng)網(wǎng)絡(luò)的激活函數(shù),編寫了各種網(wǎng)絡(luò)設(shè)計(jì)與訓(xùn)練的子程序。網(wǎng)絡(luò)的設(shè)計(jì)者可以根據(jù)自己的

18、需要調(diào)用工具箱中有關(guān)BP神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的訓(xùn)練程序。MATLAB 神經(jīng)網(wǎng)絡(luò)工具箱提供了許多進(jìn)行神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)和分析的工具函數(shù),這給用戶帶來了極大的方便,即使不了解算法的本質(zhì),也可以直接應(yīng)用功能豐富的函數(shù)來實(shí)現(xiàn)自己的目的。有關(guān)這些工具函數(shù)的使用可以通過help 命令得到。3.2 BP神經(jīng)網(wǎng)絡(luò)中幾種重要函數(shù)及其功能(1) BP 神經(jīng)網(wǎng)絡(luò)初始化函數(shù)initff()在設(shè)計(jì)一個(gè)BP 網(wǎng)絡(luò)時(shí),只要已知網(wǎng)絡(luò)的輸入網(wǎng)絡(luò)的取值范圍、各層的神經(jīng)元的個(gè)數(shù)及傳輸函數(shù),就可以利用初始化函數(shù)initff()對(duì)BP 神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)進(jìn)行初始化。函數(shù)initff()可最多對(duì)三層神經(jīng)網(wǎng)絡(luò)進(jìn)行初始化即可得到每層的權(quán)值和偏值。其調(diào)用格式為

19、W1,B1,W2,B2=initff(Xr,S1,Tf1,S2,Tf2)W1,B1,W2,B2=initff(Xr,S1,Tf1,S2,Tf2,S3,Tf3)式中,Xr 為一個(gè)向量矩陣,它決定了輸入向量的最小值和最大值的取值范圍;S,Si 為各層神經(jīng)元的個(gè)數(shù);Tf,Tfi 為各層的傳輸函數(shù);W 和Wi 為初始化后各層權(quán)值矩陣;B 和Bi 為初始化后各層的偏值向量。另外,輸出層神經(jīng)元的個(gè)數(shù)S 或Si 可以用對(duì)應(yīng)的向量T來代替,此時(shí)輸出神經(jīng)元數(shù)根據(jù)T 中的行數(shù)來設(shè)置。(2)利用BP 算法訓(xùn)練前后網(wǎng)絡(luò)函數(shù)trainbp()BP 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)規(guī)則為調(diào)整網(wǎng)絡(luò)的權(quán)值和偏值使網(wǎng)絡(luò)誤差的平方和為最小。這是通過

20、在梯度下降方向上不斷地調(diào)整網(wǎng)絡(luò)的權(quán)值和偏值來達(dá)到的。該函數(shù)的調(diào)用格式為W1,B1,W2,B2,te,tr=trainbp(w1,b1,Tf1w2,b2,Tf2,X,T,tp)式中,w 和W(及wi 和Wi)分別為訓(xùn)練前后的權(quán)值矩陣;b 和B(及bi 和Bi)分別為訓(xùn)練前后的偏值向量;te 為實(shí)際訓(xùn)練次數(shù);tr 為網(wǎng)絡(luò)訓(xùn)練誤差平方和的行向量;Tf 和Tfi為傳輸函數(shù);X 為輸入向量;T 為目標(biāo)向量;tp=disp_frep max_epoch err_goal lr是訓(xùn)練控制參數(shù),其作用是設(shè)定如何進(jìn)行訓(xùn)練,其中tp1)顯示間隔次數(shù),默認(rèn)值為25;2)顯示最大循環(huán)次數(shù),默認(rèn)值為100;3)為目標(biāo)誤

21、差平方和,默認(rèn)值為0.02;(3)用快速BP 算法訓(xùn)練前向網(wǎng)絡(luò)函數(shù)trainbpx( )使用動(dòng)量因子時(shí),BP 算法可找到更好的解,而自適應(yīng)學(xué)習(xí)率也可以使訓(xùn)練時(shí)間大大縮短。該函數(shù)的調(diào)用格式為W1,B1,W2,B2,te,tr=trainbpx(w1,b1,Tf1,w2,b2,Tf2,X,T,tp)式中,w 和W(及wi 和Wi)分別為訓(xùn)練前后的權(quán)值矩陣;b 和B(及bi 和Bi)分別為訓(xùn)練前后的偏值向量;te 為實(shí)際訓(xùn)練次數(shù);tr 為網(wǎng)絡(luò)訓(xùn)練誤差平方和的行向量;Tf 和Tfi 為傳輸函數(shù);X 為輸入向量;T 為目標(biāo)向量;tp 是訓(xùn)練控制參數(shù),其作用是設(shè)定如何訓(xùn)練。(4)BP網(wǎng)絡(luò)學(xué)習(xí)規(guī)則函數(shù)lea

22、rnbp( ) BP 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)規(guī)則為調(diào)整網(wǎng)絡(luò)的權(quán)值和偏值使網(wǎng)絡(luò)誤差的平方和達(dá)到最小。這是通過在梯度下降法最陡方向上不斷地調(diào)整網(wǎng)絡(luò)的權(quán)值和偏值來達(dá)到的,計(jì)算網(wǎng)絡(luò)輸出層的誤差矢量導(dǎo)數(shù),然后反饋回網(wǎng)絡(luò),直到每個(gè)隱含層的誤差導(dǎo)數(shù)都達(dá)到要求,這可根據(jù)函數(shù)deltatan()、deltalin()、和deltalog()計(jì)算。根據(jù)BP 準(zhǔn)則,每一層的權(quán)值矩陣w 利用本層的誤差導(dǎo)數(shù)矢量和輸入向量來更新。該函數(shù)的調(diào)用格式為 dW,dB=learnbp(X,delta,lr)。式中,X 為本層的輸入向量;delta 為誤差導(dǎo)數(shù)矢量;lr 為學(xué)習(xí)速率;dW 為權(quán)值修正陣;dB 為偏值修正向量。(5)BP 神經(jīng)

23、網(wǎng)絡(luò)仿真函數(shù)simuff()BP 神經(jīng)網(wǎng)絡(luò)由一系列網(wǎng)絡(luò)層組成。每一層都從前一層得到輸入數(shù)據(jù)。Simuff()函數(shù)可仿真最多三層前向網(wǎng)絡(luò)。其調(diào)用格式為y=simuff(X,w,b,Tf,)或y1,y2=simuff(X,w1,b1,Tf1,w2,b2,Tf2)式中,X 為輸入向量;w,wi 為權(quán)值矩陣;b,bi 為偏值矩陣;Tf,Tfi 為傳輸函數(shù);y,yi為各層的輸入向量矩陣4 程序設(shè)計(jì)及仿真結(jié)果4.1 程序設(shè)計(jì)(1)首先創(chuàng)建一個(gè)兩層網(wǎng)絡(luò)。先用理想的輸入信號(hào)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,直到平方和誤差足夠小。接下來,用理想信號(hào)和帶有噪聲的信號(hào)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。在輸入帶有誤差的向量時(shí),要輸入兩倍重復(fù)的無誤差信號(hào)

24、,這樣做的目的是為了保證網(wǎng)絡(luò)的穩(wěn)定性。(2)對(duì)無噪聲信號(hào)的訓(xùn)練。使用原始標(biāo)準(zhǔn)的信號(hào)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,當(dāng)訓(xùn)練時(shí)間達(dá)到1000個(gè)時(shí)間單位或者是網(wǎng)絡(luò)平方和誤差小于0.01時(shí)停止網(wǎng)絡(luò)的訓(xùn)練。(3)對(duì)含有噪聲信號(hào)的訓(xùn)練。用標(biāo)準(zhǔn)的數(shù)字向量和加噪聲的信號(hào)向量分別訓(xùn)練網(wǎng)絡(luò),設(shè)置噪聲信號(hào)平均值分別為0.1和0.2。(4)再次對(duì)無噪聲信號(hào)進(jìn)行訓(xùn)練。為了保證網(wǎng)絡(luò)總是能夠正確地對(duì)理想輸入進(jìn)行分類,我們需要再一次用無噪聲的理想信號(hào)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練(5)對(duì)污染數(shù)字進(jìn)行識(shí)別。4.2 仿真結(jié)果 圖4.2.1 訓(xùn)練過程圖1 圖4.2.2 訓(xùn)練過程圖2 圖4.2.3 訓(xùn)練過程圖3 圖4.2.4 訓(xùn)練過程圖4 圖4.2 訓(xùn)練過程圖(1

25、)對(duì)原始標(biāo)準(zhǔn)信號(hào)的訓(xùn)練結(jié)果:(2)對(duì)含有噪聲的信號(hào)的訓(xùn)練結(jié)果 圖4.3 對(duì)污染數(shù)字的識(shí)別圖 此時(shí),error=0.45. 可以看出,大部分被污染的數(shù)字都可以被識(shí)別出來。但有一個(gè)識(shí)別錯(cuò)誤,將8識(shí)別成了6, 進(jìn)一步說明了BP神經(jīng)網(wǎng)絡(luò)的局限性。5 心得體會(huì)本次課程設(shè)計(jì)主要任務(wù)是完成BP神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì),對(duì)我來說這個(gè)題目還是很有挑戰(zhàn)性的,因?yàn)樽约簩?duì)MATLAB中有關(guān)BP神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)知識(shí)了解較少,但正是這種有挑戰(zhàn)性的題目才能提高自己的能力,才有研究?jī)r(jià)值,入手這個(gè)題目后我查閱了相關(guān)的資料,也從網(wǎng)上獲得了不少有關(guān)MATLAB設(shè)計(jì)BP神經(jīng)網(wǎng)絡(luò)的資料,加上自己之間對(duì)MATLAB有一定的了解,因而設(shè)計(jì)思路漸漸明朗

26、,經(jīng)過自己的不斷嘗試和探索,終于弄明白了BP神經(jīng)網(wǎng)絡(luò)的工作原理,通過查閱相關(guān)資料和研究MATLAB中提供的幫助信息,我也明白了BP神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)相關(guān)的一些函數(shù)的使用方法,并用它們來設(shè)計(jì)BP神經(jīng)網(wǎng)絡(luò),最終完成了題目。在設(shè)計(jì)過程中,我也遇到了很多不懂的地方,程序經(jīng)常出現(xiàn)錯(cuò)誤,但經(jīng)過自己的不斷努力和嘗試,最終還是解決了問題??傊ㄟ^本次課程設(shè)計(jì),我收獲很大,不只是學(xué)會(huì)了用MATLAB設(shè)計(jì)BP神經(jīng)網(wǎng)絡(luò),而是學(xué)會(huì)了自己學(xué)習(xí)新知識(shí)的一種方法。通過這次學(xué)習(xí),我不但掌握了BP神經(jīng)網(wǎng)絡(luò)的基本知識(shí)及其實(shí)際應(yīng)用,而且還學(xué)會(huì)了一些MATLAB編程語言,對(duì)這款軟件也有了更深刻的認(rèn)識(shí)。最后,我認(rèn)為學(xué)校開設(shè)這門課設(shè)對(duì)我們來

27、說是很有用的,能夠提高我們獨(dú)立去做一個(gè)工程的能力,體會(huì)將來我們要面對(duì)的實(shí)際問題,這對(duì)日后我們走進(jìn)社會(huì),參加工作是非常重要的。6 參考文獻(xiàn)1 曹旭帆,胡同森. 基于BP 神經(jīng)網(wǎng)絡(luò)的含噪字符識(shí)別系統(tǒng)及MATLAB 實(shí)現(xiàn).2 李士勇. 模糊控制神經(jīng)控制和智能控制論M. 哈爾濱: 哈爾并工業(yè)大學(xué)出版社,3 李曉歌,邵麗紅,李娜. 人工神經(jīng)網(wǎng)絡(luò)BP 算法的實(shí)現(xiàn)4 曲婷婷. 基于BP神經(jīng)網(wǎng)絡(luò)的有噪數(shù)字識(shí)別5 黃巧巧. 基于BP神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字識(shí)別系統(tǒng)研究附錄設(shè)計(jì)代碼如下:number0= 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0

28、0 0 0 1 0 0; % 11 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1; % 21 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1; % 31 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0; % 41 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1

29、1 1 1 1; % 51 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1; % 61 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1; % 71 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1; % 81 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0

30、0 1; % 91 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1; % 0number=number0; targets=eye(35); targets;%下面創(chuàng)建一個(gè)兩層網(wǎng)絡(luò)。S1=10;R,Q=size(number);S2,Q=size(targets);P=number;net=newff(minmax(P),S1,S2,'logsig' 'logsig','traingdx'); net.LW2,1=net.LW2,1*0.01;net.b2=n

31、et.b2*0.01;%下面對(duì)原始標(biāo)準(zhǔn)信號(hào)進(jìn)行訓(xùn)練%訓(xùn)練結(jié)束條件:最大次數(shù)1000,誤差平方和為0.01;P=number;T=targets;net.performFcn='sse'net.trainParam.goal=0.01; net.trainParam.show=10; net.trainParam.epochs=1000; net.trainParam.mc=0.95; net,tr=train(net,P,T);%下面進(jìn)行含噪聲信號(hào)的訓(xùn)練netn=net;netn.trainParam.goal=0.005;netn.trainParam.epochs=5000;T=targets targets targets targets;for i=1:10 P=number,number,(number+randn(R,Q)*0.1),(number+randn(R,Q)*0.2);netn,tr=train(netn,P,T);end%下面網(wǎng)絡(luò)再次對(duì)標(biāo)準(zhǔn)信號(hào)進(jìn)行訓(xùn)練P=num

溫馨提示

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