




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、武漢理工大學通信工程應用技術課程設計課程設計任務書學生姓名: 專業班級: 指導教師: 工作單位: 題 目: 模式識別 初始條件:matlab 軟件要求完成的主要任務: (包括課程設計工作量及其技術要求,以及說明書撰寫等具體要求)利用bp(back-propagation)網絡對于10個阿拉伯數字(用七段碼表示)進行訓練,將訓練好的網絡對于污染的數字進行識別。要求:學習bp算法;將數字用7維矢量表示;設計bp網絡(7輸入1輸出);參考matlab軟件神經網絡工具箱。時間安排:指導教師簽名: 年 月 日系主任(或責任教師)簽名: 年 月 日目錄摘要3abstract41 神經網絡發展歷史及其應用5
2、1.1 神經網絡發展歷史51.2 神經網絡的應用52. bp神經網絡62.1 bp神經網絡簡介62.2 bp 神經網絡的工作原理62.3 bp 神經網絡的基本算法72.4 bp 神經網絡算法的基本步驟102.5 bp 神經網絡算法的主要特點133. matlab 實現bp神經網絡133.1 matlab 的bp神經網絡及其函數介紹133.2 bp 神經網絡中幾種重要函數及其功能144程序設計及仿真結果154.1 程序設計154.2 仿真結果175心得與體會256 參考文獻26附錄272武漢理工大學通信工程應用技術綜合訓練與實習報告摘要bp網絡是神經網絡的一個重要分支。它又稱多層感知機或誤差信號
3、反饋網絡,是目前較流行,應用最廣的神經網絡模型。bp網絡的主要特點是能夠實現從n維到m維的非線性映射。也可以說,經過訓練它可以完成簡單的模糊分類工作。bp神經網絡的主要優點是:良好的容錯能力、分類能力強、并行處理能力和自學習能力。因而,采用神經網絡識別數字是一種很好的選擇。本文首先對神經網絡的發展歷史及應用做了簡單的介紹,接著對bp網絡的相關知識做了概括性的介紹。最后在matlab 軟件中,編寫了進行相關識別數字的程序,并進行了仿真。 關鍵詞:神經網絡 bp網絡 數字識別abstractthe back-propagation network is a branch of neural net
4、work. 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 can implement nonlinear mapping from n dimension to m dimension. in other words, it can implem
5、ent 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 net to recognize number figure. this article first introduces a developmental history and a
6、pplication 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 simulation. key words: neural network, bp neural network, character recognition,1 神經網絡的發展歷史及其應用1.1 神
7、經網絡的發展歷史自1943年,心里學家mcculloch教授與數學家pitts教授提出神經元生物學模型(簡稱mp-模型)以來,至今已有半個多世紀的發展歷史了。在這半個多世紀里,它的發展大體可以分為以下幾個階段 :自1943年mp-模型產生起,到60年代止,這一段時間為神經網絡系統的初期階段,這時的主要特點是多種網絡模型的產生與學習算法的確定。60年代末至70年代,神經網絡系統理論的發展處于一個低潮時期,造成這個情況的原因是神經網絡系統理論的發展出現了本質上的困難。80年代末至90年代,由于智能計算機的發展,神經網絡系統理論形成一個發展熱點。1.2 神經網絡的應用神經網絡在很多科學領域里都有很多
8、奇妙應用,包括圖像處理、自動控制、經濟預測、模式識別、信號處理等等。神經網絡理論的應用研究主要在模式識別、優化控制等方面;與數學、統計學中的多個學科分支發生聯系,有如線性與非線性規劃問題、數值逼近、統計計算等等,其內容十分豐富。總而言之,神經網絡技術是一種應用廣泛的科學計算,具有很高的研究價值。2 bp神經網絡2.1 bp神經網絡簡介bp算法是80年代中期,由rumelhart 和mcculloch教授為首提出了多層前饋網絡(mfnn)的反向傳播學習算法,簡稱bp算法,是一種有教師的學習算法。2.2 bp神經網絡的工作原理bp網絡是一種有教師的學習網絡,它首先要以一定的學習準則學習,然后才能工
9、作,下面簡要描述一下它的學習方法。以bp網絡對手寫a、b兩個字母的識別為例進行說明:規定當“a”輸入網絡時,應該輸出“1”,而當“b”輸入網絡時,應該輸出“0”,所以bp網絡的學習準則應該是:如果bp網絡做出錯誤的判決,則通過網絡權值的調整,使得bp網絡減少下次再出錯的可能性。首先,給bp網絡的各連接權值賦予(0,1)區間內的隨機值,將“a”所對應的圖像模式輸入給bp網絡,bp網絡將收到的輸入模式加權求和、與門限比較、再進行非線性運算,得到bp網絡的輸出。在此情況下,bp網絡輸出為“0”和“1”的概率各為百分之五十。也就是說完全隨機的。這時如果輸出為“1”(結果正確),則使連接權值增大,以便使
10、bp網絡是再次遇到“a”模式輸入時,仍然能夠做出正確的判斷。如果輸出為“0”(即結果正確),則把bp網絡連接權值朝著減小綜合輸入加權值的方向調整,其目的在于使bp網絡是再次遇到“a”模式輸入時,減小犯同樣錯誤的可能性。如此操作調整,當給bp網絡輪番輸入若干個手寫字母“a”、“b”后,經過bp網絡按以上學習方法進行若干次學習后,bp網絡判斷的正確率將大大提高。這說明bp網絡對這兩個模式的學習已經取得了巨大成功。它已經將這兩個模式分布的記憶在bp網絡的各個連接權值上。當bp網絡再次遇到其中任何一個模式時,能夠做出迅速、準確的判斷和識別。一般說來,bp網絡中所含的神經元個數越多,則它能記憶、判斷、識
11、別的模式也就越多。簡言之,它的中心細想就是調整權值,以便使網絡總誤差最小。也就是采用梯度搜索技術,以期使網絡的實際輸出值與期望輸出值的誤差均方值為最小。多層網絡運用bp 學習算法時,實際上包含了正向和反向傳播兩個階段。在正向傳播過程中,輸入信息從輸入層經隱含層逐層處理,并傳向輸出層,每一層神經元的狀態只影響下一層神經元的狀態。如果在輸出層不能得到期望輸出,則轉入反向傳播,反向傳播時,把誤差信號按原來正向傳播的通路反向傳回,并對每個隱層的各個神經元的權系數進行修改,以望誤差信號趨向最小。2.3 bp神經網絡的基本算法設第k層的第j個神經元的輸入總和為,輸出總和為,k-1層的第i個神經元與第k層的
12、第j個神經元的連接權值為,則有以下公式: (2.3.1) (2.3.2)對于給定的任一輸入模式,若網絡的第k層的第j個神經元的輸入誤差為,則使權值沿著誤差的負梯度方向變化,即有以下公式: (2.3.3)式中的是權值調整因子。這個算法的學習過程,由正向傳播和反向傳播組成,正向傳播過程,輸入模式從輸入層,經隱單元層逐層處理,并傳向輸出層,每一層神經元的狀態只影響下一層神經元的狀態。如果在輸出層不能得到期望的輸出,則轉入反向傳播,將誤差信號沿著原來的連接通路返回,通過修改各神經元的權值,使得誤差信號最小。 具體的,其調整規則為對于每一樣本p 的輸入模式對的二次型誤差函數為: 則系統對所有n 個訓練樣
13、本的總誤差函數為: 式中, n 為模式樣本對數; l 為網絡輸出節點數。一般來說,基于jp 還是基于j 來完成加權系數空間的梯度搜索會獲得不同的結果。在rumelhart 等人的學習加權的規則中,學習過程按使誤差函數jp減小最快的方向調整加權系數直到獲得滿意的加權系數集為止。這里的加權系數的修正時順序操作的,網絡對各模式對一個一個地順序輸入并不斷進行學習,類似于生物神經網絡的處理過程,但不是真正的梯度搜索過程。對于給定的一個樣本p ,可根據誤差要求調整網絡的加權系數使其滿足要求;對于給定的另一個樣本,再根據誤差要求調整網絡的加權系數使其滿足要求,直到所有樣本作用下的誤差都滿足要求為止。這種計算
14、過程稱為在線學習過程。如果學習過程按使誤差函數j 減小最快的方向調整加權系數,采用類似的推導過程可得輸出層和隱含層的任意神經元k 和i 在所有樣本作用時的加權系數增量公式為: (2.3.4) (2.3.5)根據式(2.3.4)和(2.3.5)所得權值的修正是在所有樣本輸入后,計算完總的誤差后進行的,這種修正稱為批處理學習或稱為離線學習。批處理修正可保證其總誤差j 向減少的方向變化,在樣本多的時候,它比在線學習的收斂速度快。2.4 bp神經網絡算法的基本步驟bp算法的基本步驟如下:1. 選取學習算子,一個小的正數;2. 網絡權值初始化,即將較小隨機數賦給權值;3. 取得訓練樣本及對應的教師;4.
15、 計算由輸入層到隱含層的每個神經元的加權和;5. 計算由隱含層到輸入層的每個神經元的加權和,(4、5兩步是正向傳播過程);6. 將輸出層和教師進行比較,求得誤差。如果誤差不滿足要求,就根據此誤差調整各層權值;7. 重復3到6,直到網絡收斂。經過學習大量的樣本,記錄調整后的權值,使用此權值數據對新的樣本進行識別并計算識別率。其算法流程圖可如下表示:自動修正網絡權值及偏置否是結束求出誤差輸出識別結果識別率是否滿足要求對網絡進行測試再次利用原始標準樣本訓練網絡利用加入噪聲的樣本訓練網絡利用原始標準樣本訓練網絡生成bp神經網絡開始 圖2.4 網絡流程圖2.5 bp神經網絡算法的主要特點bp神經網絡具有
16、以下幾個特點:1. 能夠實現非線性映射;2. 采用梯度下降法實現快速收斂;3. 使用學習算子調整收斂速度,學習算子也可以稱為收斂因子,在不引起震蕩的情況下可以適當增大;4. 不足之處:a) 由于是非線性優化,不可避免的存在局部極小問題;b) 隱層以及隱層節點數的選擇沒有理論指導,只能猜測;c) 學習算法的收斂速度慢;d) 新加入的樣本會影響到已經學習好的樣本;e) “壞”樣本對總體的訓練結果有比較大的影響,因此必須慎重選擇訓練樣本。3 matlab實現bp網絡3.1 matlab的bp神經網絡及其函數介紹matlab 神經網絡工具箱提供了豐富的演示實例,用matlab 語言構造了典型的神經網絡
17、的激活函數,編寫了各種網絡設計與訓練的子程序。網絡的設計者可以根據自己的需要調用工具箱中有關bp神經網絡設計的訓練程序。matlab 神經網絡工具箱提供了許多進行神經網絡設計和分析的工具函數,這給用戶帶來了極大的方便,即使不了解算法的本質,也可以直接應用功能豐富的函數來實現自己的目的。有關這些工具函數的使用可以通過help 命令得到。3.2 bp神經網絡中幾種重要函數及其功能(1) bp 神經網絡初始化函數initff()在設計一個bp 網絡時,只要已知網絡的輸入網絡的取值范圍、各層的神經元的個數及傳輸函數,就可以利用初始化函數initff()對bp 神經網絡網絡進行初始化。函數initff(
18、)可最多對三層神經網絡進行初始化即可得到每層的權值和偏值。其調用格式為 w1,b1,w2,b2=initff(xr,s1,tf1,s2,tf2)w1,b1,w2,b2=initff(xr,s1,tf1,s2,tf2,s3,tf3)式中,xr 為一個向量矩陣,它決定了輸入向量的最小值和最大值的取值范圍;s,si 為各層神經元的個數;tf,tfi 為各層的傳輸函數;w 和wi 為初始化后各層權值矩陣;b 和bi 為初始化后各層的偏值向量。另外,輸出層神經元的個數s 或si 可以用對應的向量t來代替,此時輸出神經元數根據t 中的行數來設置。(2)利用bp 算法訓練前后網絡函數trainbp()bp
19、神經網絡學習規則為調整網絡的權值和偏值使網絡誤差的平方和為最小。這是通過在梯度下降方向上不斷地調整網絡的權值和偏值來達到的。該函數的調用格式為w1,b1,w2,b2,te,tr=trainbp(w1,b1,tf1w2,b2,tf2,x,t,tp)式中,w 和w(及wi 和wi)分別為訓練前后的權值矩陣;b 和b(及bi 和bi)分別為訓練前后的偏值向量;te 為實際訓練次數;tr 為網絡訓練誤差平方和的行向量;tf 和tfi為傳輸函數;x 為輸入向量;t 為目標向量;tp=disp_frep max_epoch err_goal lr是訓練控制參數,其作用是設定如何進行訓練,其中tp1)顯示間
20、隔次數,默認值為25;2)顯示最大循環次數,默認值為100;3)為目標誤差平方和,默認值為0.02;(3)用快速bp 算法訓練前向網絡函數trainbpx( )使用動量因子時,bp 算法可找到更好的解,而自適應學習率也可以使訓練時間大大縮短。該函數的調用格式為w1,b1,w2,b2,te,tr=trainbpx(w1,b1,tf1,w2,b2,tf2,x,t,tp)式中,w 和w(及wi 和wi)分別為訓練前后的權值矩陣;b 和b(及bi 和bi)分別為訓練前后的偏值向量;te 為實際訓練次數;tr 為網絡訓練誤差平方和的行向量;tf 和tfi 為傳輸函數;x 為輸入向量;t 為目標向量;tp
21、 是訓練控制參數,其作用是設定如何訓練。(4)bp網絡學習規則函數learnbp( ) bp 神經網絡學習規則為調整網絡的權值和偏值使網絡誤差的平方和達到最小。這是通過在梯度下降法最陡方向上不斷地調整網絡的權值和偏值來達到的,計算網絡輸出層的誤差矢量導數,然后反饋回網絡,直到每個隱含層的誤差導數都達到要求,這可根據函數deltatan()、deltalin()、和deltalog()計算。根據bp 準則,每一層的權值矩陣w 利用本層的誤差導數矢量和輸入向量來更新。該函數的調用格式為 dw,db=learnbp(x,delta,lr)。式中,x 為本層的輸入向量;delta 為誤差導數矢量;lr
22、 為學習速率;dw 為權值修正陣;db 為偏值修正向量。(5)bp 神經網絡仿真函數simuff()bp 神經網絡由一系列網絡層組成。每一層都從前一層得到輸入數據。simuff()函數可仿真最多三層前向網絡。其調用格式為y=simuff(x,w,b,tf,)或y1,y2=simuff(x,w1,b1,tf1,w2,b2,tf2)式中,x 為輸入向量;w,wi 為權值矩陣;b,bi 為偏值矩陣;tf,tfi 為傳輸函數;y,yi為各層的輸入向量矩陣4 程序設計及仿真結果4.1 程序設計(1)首先創建一個兩層網絡。先用理想的輸入信號對網絡進行訓練,直到平方和誤差足夠小。接下來,用理想信號和帶有噪聲
23、的信號對網絡進行訓練。在輸入帶有誤差的向量時,要輸入兩倍重復的無誤差信號,這樣做的目的是為了保證網絡的穩定性。(2)對無噪聲信號的訓練。使用原始標準的信號對網絡進行訓練,當訓練時間達到1000個時間單位或者是網絡平方和誤差小于0.01時停止網絡的訓練。(3)對含有噪聲信號的訓練。用標準的數字向量和加噪聲的信號向量分別訓練網絡,設置噪聲信號平均值分別為0.1和0.2。(4)再次對無噪聲信號進行訓練。為了保證網絡總是能夠正確地對理想輸入進行分類,我們需要再一次用無噪聲的理想信號對網絡進行訓練(5)對污染數字進行識別。4.2 仿真結果 圖4.2.1 訓練過程圖1 圖4.2.2 訓練過程圖2 圖4.2
24、.3 訓練過程圖3 圖4.2.4 訓練過程圖4 圖4.2 訓練過程圖(1)對原始標準信號的訓練結果:(2)對含有噪聲的信號的訓練結果 圖4.3 對污染數字的識別圖 此時,error=0.45. 可以看出,大部分被污染的數字都可以被識別出來。但有一個識別錯誤,將8識別成了6, 進一步說明了bp神經網絡的局限性。5 心得體會本次課程設計主要任務是完成bp神經網絡的設計,對我來說這個題目還是很有挑戰性的,因為自己對matlab中有關bp神經網絡的設計知識了解較少,但正是這種有挑戰性的題目才能提高自己的能力,才有研究價值,入手這個題目后我查閱了相關的資料,也從網上獲得了不少有關matlab設計bp神經
25、網絡的資料,加上自己之間對matlab有一定的了解,因而設計思路漸漸明朗,經過自己的不斷嘗試和探索,終于弄明白了bp神經網絡的工作原理,通過查閱相關資料和研究matlab中提供的幫助信息,我也明白了bp神經網絡設計相關的一些函數的使用方法,并用它們來設計bp神經網絡,最終完成了題目。在設計過程中,我也遇到了很多不懂的地方,程序經常出現錯誤,但經過自己的不斷努力和嘗試,最終還是解決了問題。總之,通過本次課程設計,我收獲很大,不只是學會了用matlab設計bp神經網絡,而是學會了自己學習新知識的一種方法。通過這次學習,我不但掌握了bp神經網絡的基本知識及其實際應用,而且還學會了一些matlab編程
26、語言,對這款軟件也有了更深刻的認識。最后,我認為學校開設這門課設對我們來說是很有用的,能夠提高我們獨立去做一個工程的能力,體會將來我們要面對的實際問題,這對日后我們走進社會,參加工作是非常重要的。6 參考文獻1 曹旭帆,胡同森. 基于bp 神經網絡的含噪字符識別系統及matlab 實現.2 李士勇. 模糊控制神經控制和智能控制論m. 哈爾濱: 哈爾并工業大學出版社,3 李曉歌,邵麗紅,李娜. 人工神經網絡bp 算法的實現4 曲婷婷. 基于bp神經網絡的有噪數字識別5 黃巧巧. 基于bp神經網絡的手寫數字識別系統研究附錄設計代碼如下:number0= 0 0 1 0 0 0 0 1 0 0 0
27、0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 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
28、0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 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
29、1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 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;%下面創建一個兩層網絡。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;ne
30、t.b2=net.b2*0.01;%下面對原始標準信號進行訓練%訓練結束條件:最大次數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);%下面進行含噪聲信號的訓練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);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西省朔州市朔城區四中學2025年初三下學期期末質量調查語文試題含解析
- 山東省菏澤市鄆城縣侯咽集鎮2024-2025學年數學四下期末質量跟蹤監視模擬試題含解析
- 響水縣2024-2025學年小升初總復習數學測試題含解析
- 內蒙集寧二中2025屆高三下學期第三次調考英語試題含解析
- 山西省太原志達中學2025年初三第六次質量檢測試題語文試題含解析
- 產品銷售代理合同協議書實例
- 房屋采購合同范本共
- 企業間租賃合同的優異典范
- Brand KPIs for pet supply online shop Zen Animal in Brazil-外文版培訓課件(2025.2)
- 小班藝術《魚眾不同》+教案
- 2024年鄭州鐵路職業技術學院單招職業技能測試題庫及答案解析
- 家政服務平臺的綠色發展與可持續發展研究
- 17-軟件版本說明-GJB438C模板
- 38鉻鉬鋁熱處理工藝
- 醫院醫療機構醫療風險管理工作方案(完整版)
- 京東商城的物流體系分解
- 世界文化遺產萬里長城課件
- 2024年貴州高速公路集團有限公司招聘筆試參考題庫含答案解析
- 急性腦卒中的早期識別和急診處理
- 軟件使用授權書
- 第四章社會醫療保險基金的測算
評論
0/150
提交評論