




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、. . . . 基于MATLAB的神經網絡算法研究與仿真摘要:人工神經網絡以其具有信息的分布存儲、并行處理以與自學習能力等優點, 已經在模式識別、信號處理、智能控制與系統建模等領域得到越來越廣泛的應用。MATLAB中的神經網絡工具箱是以人工神經網絡理論為基礎, 利用MATLAB 語言構造出許多典型神經網絡的傳遞函數、網絡權值修正規則和網絡訓練方法,網絡的設計者可根據自己的需要調用工具箱中有關神經網絡的設計與訓練的程序, 免去了繁瑣的編程過程。采用Matlab軟件編程實現BP神經網絡算法,將神經網絡算法應用于函數逼近和樣本含量估計問題中,并分析相關參數對算法運行結果的影響。關鍵詞:神經網絡;BP
2、神經網絡;函數逼近1 緒論人工神經網絡(Artificial Neural Networks,NN)是由大量的、簡單的處理單元(稱為神經元)廣泛地互相連接而形成的復雜網絡系統,它反映了人腦功能的許多基本特征,是一個高度復雜的非線性動力學系統。神經網絡具有大規模并行、分布式存儲和處理、自組織、自適應和自學習能力,特別適合處理需要同時考慮許多因素和條件的、不精確和模糊的信息處理問題。神經網絡的發展與神經科學、數理科學、認知科學、計算機科學、人工智能、信息科學、控制論、機器人學、微電子學、心理學、微電子學、心理學、光計算、分子生物學等有關,是一門新興的邊緣交叉學科。神經網絡具有非線性自適應的信息處理
3、能力,克服了傳統人工智能方法對于直覺的缺陷,因而在神經專家系統、模式識別、智能控制、組合優化、預測等領域得到成功應用。神經網絡與其他傳統方法相組合,將推動人工智能和信息處理技術不斷發展。近年來,神經網絡在模擬人類認知的道路上更加深入發展,并與模糊系統、遺傳算法、進化機制等組合,形成計算智能,成為人工智能的一個重要方向。MATLAB是一種科學與工程計算的高級語言,廣泛地運用于包括信號與圖像處理,控制系統設計,系統仿真等諸多領域。為了解決神經網絡問題中的研究工作量和編程計算工作量問題,目前工程領域中較為流行的軟件MATLAB,提供了現成的神經網絡工具箱(Neural Network Toolbox
4、,簡稱NNbox),為解決這個矛盾提供了便利條件。神經網絡工具箱提供了很多經典的學習算法,使用它能夠快速實現對實際問題的建模求解。在解決實際問題中,應用MATLAB 語言構造典型神經網絡的激活傳遞函數,編寫各種網絡設計與訓練的子程序,網絡的設計者可以根據需要調用工具箱中有關神經網絡的設計訓練程序,使自己能夠從煩瑣的編程中解脫出來,減輕工程人員的負擔,從而提高工作效率。2 神經網絡結構與BP神經網絡2.1 神經元與網絡結構人工神經網絡(artificial neural network,ANN)是模仿生物神經網絡功能的一種經驗模型。生物神經元受到傳入的刺激,其反應又從輸出端傳到相聯的其它神經元,
5、輸入和輸出之間的變換關系一般是非線性的。神經網絡是由若干簡單(通常是自適應的)元件與其層次組織,以大規模并行連接方式構造而成的網絡,按照生物神經網絡類似的方式處理輸入的信息。模仿生物神經網絡而建立的人工神經網絡,對輸入信號有功能強大的反應和處理能力。神經網絡是由大量的處理單元(神經元)互相連接而成的網絡。為了模擬大腦的基本特性,在神經科學研究的基礎上,提出了神經網絡的模型。但是,實際上神經網絡并沒有完全反映大腦的功能,只是對生物神經網絡進行了某種抽象、簡化和模擬。神經網絡的信息處理通過神經元的互相作用來實現,知識與信息的存儲表現為網絡元件互相分布式的物理聯系。神經網絡的學習和識別取決于各種神經
6、元連接權系數的動態演化過程。若干神經元連接成網絡,其中的一個神經元可以接受多個輸入信號,按照一定的規則轉換為輸出信號。由于神經網絡中神經元間復雜的連接關系和各神經元傳遞信號的非線性方式,輸入和輸出信號間可以構建出各種各樣的關系,因此可以用來作為黑箱模型,表達那些用機理模型還無法精確描述、但輸入和輸出之間確實有客觀的、確定性的或模糊性的規律。因此,人工神經網絡作為經驗模型的一種,在化工生產、研究和開發中得到了越來越多的用途。神經網絡連接的幾種基本形式:1)前向網絡 前向網絡結構如圖2.1所示,網絡中的神經元是分層排列的,每個神經元只與前一層的神經元相連接。神經元分層排列,分別組成輸入層、中間層(
7、也稱為隱含層,可以由若干層組成)和輸出層。每一層的神經元只接受來自前一層神經元的輸入,后面的層對前面的層沒有信號反饋。輸入模式經過各層次的順序傳播,最后在輸出層上得到輸出。感知器網絡和BP網絡均屬于前向網絡。圖2.1前向網絡結構2)從輸出到輸入有反饋的前向網絡其結構如圖2.2所示,輸出層對輸入層有信息反饋,這種網絡可用于存儲某種模式序列,如神經認知機和回歸BP網絡都屬于這種類型。圖2.2有反饋的前向網絡結構3) 層互連前向網絡 其結構如圖2.3所示,通過層神經元的相互結合,可以實現同一層神經元之間的橫向抑制或興奮機制。這樣可以限制每層可以同時動作的神經元素,或者把每層的神經元分為若干組,讓每一
8、組作為一個整體進行運作。例如,可利用橫向抑制機理把某層的具有最大輸出的神經元挑選出來,從而抑制其他神經元,使之處于無輸出狀態。圖2.3有相互結合的前向網絡結構4) 相互結合型網絡相互結合型網絡結構如圖2.4所示,這種網絡在任意兩個神經元之間都可能有連接。Hopfield 網絡和Boltzmann 機均屬于這種類型。在無反饋的前向網絡中,信號一旦通過某神經元,該神經元的處理就結束了。而在相互結合網絡中,信號要在神經元之間反復傳遞,網絡處于一種不斷變化狀態的動態之中。信號從某初始狀態開始,經過若干次變化,才會達到某種平衡狀態。根據網絡的結構和神經元的特性,網絡的運行還有可能進入周期振蕩或其他如混沌
9、平衡狀態。圖2.4結合型網絡結構綜上,可知神經網絡有分層網絡、層連接的分層網絡、反饋連接的分層網絡、互連網絡等四種結構,其神經網絡模型有感知器網絡,線性神經網絡,BP神經網絡,徑向基函數網絡,反饋神經網絡等,本文主要學習研究了BP神經網絡,以與BP神經網絡在函數逼近和樣本含量估計兩個實例中的應用分析。2.2 BP神經網絡與其原理2.2.1 BP神經網絡定義BP (Back Propagation)神經網絡是一種神經網絡學習算法。其由輸入層、中間層、輸出層組成的階層型神經網絡,中間層可擴展為多層。相鄰層之間各神經元進行全連接,而每層各神經元之間無連接,網絡按有教師示教的方式進行學習,當一對學習模
10、式提供給網絡后,各神經元獲得網絡的輸入響應產生連接權值(Weight)。然后按減小希望輸出與實際輸出誤差的方向,從輸出層經各中間層逐層修正各連接權,回到輸入層。此過程反復交替進行,直至網絡的全局誤差趨向給定的極小值,即完成學習的過程。2.2.2 BP神經網絡模型與其基本原理BP神經網絡是誤差反向傳播神經網絡的簡稱,它由一個輸入層,一個或多個隱含層和一個輸出層構成,每一次由一定數量的的神經元構成。這些神經元如同人的神經細胞一樣是互相關聯的。其結構如圖2.5所示:圖2.5 BP神經網絡模型生物神經元信號的傳遞是通過突觸進行的一個復雜的電化學等過程, 在人工神經網絡中是將其簡化模擬成一組數字信號通過
11、一定的學習規則而不斷變動更新的過程,這組數字儲存在神經元之間的連接權重。網絡的輸入層模擬的是神經系統中的感覺神經元,它接收輸入樣本信號。輸入信號經輸入層輸入, 通過隱含層的復雜計算由輸出層輸出,輸出信號與期望輸出相比較,若有誤差,再將誤差信號反向由輸出層通過隱含層處理后向輸入層傳播。在這個過程中,誤差通過梯度下降算法,分攤給各層的所有單元,從而獲得各單元的誤差信號,以此誤差信號為依據修正各單元權值,網絡權值因此被重新分布。此過程完成后, 輸入信號再次由輸入層輸入網絡,重復上述過程。這種信號正向傳播與誤差反向傳播的各層權值調整過程周而復始地進行著,直到網絡輸出的誤差減少到可以接受的程度,或進行到
12、預先設定的學習次數為止。權值不斷調整的過程就是網絡的學習訓練過程。BP 神經網絡的信息處理方式具有如下特點: 1)信息分布存儲。人腦存儲信息的特點是利用突觸效能的變化來調整存儲容, 即信息存儲在神經元之間的連接強度的分布上, B P神經網絡模擬人腦的這一特點,使信息以連接權值的形式分布于整個網絡。2) 信息并行處理。人腦神經元之間傳遞脈沖信號的速度遠低于·諾依曼計算機的工作速度,但是在很多問題上卻可以做出快速的判斷、決策和處理,這是由于人腦是一個大規模并行與串行組合的處理系統。BP神經網絡的基本結構模仿人腦,具有并行處理的特征,大大提高了網絡功能。3)具有容錯性。生物神經系統部分不嚴
13、重損傷并不影響整體功能,BP神經網絡也具有這種特性,網絡的高度連接意味著少量的誤差可能不會產生嚴重的后果,部分神經元的損傷不破壞整體,它可以自動修正誤差。這與現代計算機的脆弱性形成鮮明對比。4)具有自學習、自組織、自適應的能力。BP神經網絡具有初步的自適應與自組織能力,在學習或訓練中改變突觸權值以適應環境,可以在使用過程中不斷學習完善自己的功能,并且同一網絡因學習方式的不同可以具有不同的功能,它甚至具有創新能力,可以發展知識,以至超過設計者原有的知識水平。3 BP神經網絡在實例中的應用快速發展的Matlab軟件為神經網絡理論的實現提供了一種便利的仿真手段。Matlab神經網絡工具箱的出現,更加
14、拓寬了神經網絡的應用空間。神經網絡工具箱將很多原本需要手動計算的工作交給計算機,一方面提高了工作效率,另一方面,還提高了計算的準確度和精度,減輕了工程人員的負擔。神經網絡工具箱是在MATLAB環境下開發出來的許多工具箱之一。它以人工神經網絡理論為基礎,利用MATLAB編程語言構造出許多典型神經網絡的框架和相關的函數。這些工具箱函數主要為兩大部分。一部分函數特別針對某一種類型的神經網絡的,如感知器的創建函數、BP網絡的訓練函數等。而另外一部分函數則是通用的,幾乎可以用于所有類型的神經網絡,如神經網絡仿真函數、初始化函數和訓練函數等15。這些函數的MATLAB實現,使得設計者對所選定網絡進行計算過
15、程,轉變為對函數的調用和參數的選擇,這樣一來,網絡設計人員可以根據自己的的需要去調用工具箱中有關的設計和訓練程序,從煩瑣的編程中解脫出來,集中精力解決其他問題,從而提高了工作效率。3.1 基于MATLAB的BP神經網絡工具箱函數最新版本的神經網絡工具箱幾乎涵蓋了所有的神經網絡的基本常用模型,如感知器和BP網絡等。對于各種不同的網絡模型,神經網絡工具箱集成了多種學習算法,為用戶提供了極大的方便。Matlab神經網絡工具箱中包含了許多用于BP網絡分析與設計的函數,BP網絡的常用函數如表3.1所示。表3.1 BP網絡的常用函數表函數類型函數名稱函數用途前向網絡創建函數newcf創建級聯前向網絡New
16、ff創建前向BP網絡傳遞函數logsigS型的對數函數tansigS型的正切函數purelin純線性函數 學習函數learngd基于梯度下降法的學習函數learngdm梯度下降動量學習函數性能函數 mse均方誤差函數msereg均方誤差規化函數顯示函數plotperf繪制網絡的性能plotes繪制一個單獨神經元的誤差曲面plotep繪制權值和閾值在誤差曲面上的位置errsurf計算單個神經元的誤差曲面3.1.1BP網絡創建函數1) newff該函數用于創建一個BP網絡。調用格式為:net=newffnet=newff(PR,S1 S2.SN1,TF1 TF2.TFN1,BTF,BLF,PF)其
17、中,net=newff;用于在對話框中創建一個BP網絡。net為創建的新BP神經網絡;PR為網絡輸入向量取值圍的矩陣;S1 S2SNl表示網絡隱含層和輸出層神經元的個數;TFl TF2TFN1表示網絡隱含層和輸出層的傳輸函數,默認為tansig;BTF表示網絡的訓練函數,默認為trainlm;BLF表示網絡的權值學習函數,默認為learngdm;PF表示性能數,默認為mse。 2)newcf函數用于創建級聯前向BP網絡,newfftd函數用于創建一個存在輸入延遲的前向網絡。3.1.2 神經元上的傳遞函數傳遞函數是BP網絡的重要組成部分。傳遞函數又稱為激活函數,必須是連續可微的。BP網絡經常采用
18、S型的對數或正切函數和線性函數。1) logsig該傳遞函數為S型的對數函數。調用格式為:A=logsig(N)info=logsig(code)其中,N:Q個S維的輸入列向量;A:函數返回值,位于區間(0,1)中;2)tansig該函數為雙曲正切S型傳遞函數。調用格式為:A=tansig(N)info=tansig(code)其中,N:Q個S維的輸入列向量;A:函數返回值,位于區間(-1,1)之間。3)purelin該函數為線性傳遞函數。調用格式為:A=purelin(N)info=purelin(code)其中,N:Q個S維的輸入列向量;A:函數返回值,A=N。3.1.3 BP網絡學習函數
19、1)learngd該函數為梯度下降權值閾值學習函數,它通過神經元的輸入和誤差,以與權值和閾值的學習效率,來計算權值或閾值的變化率。調用格式為:dW,ls=learngd(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)db,ls=learngd(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)info=learngd(code)2)learngdm函數為梯度下降動量學習函數,它利用神經元的輸入和誤差、權值或閾值的學習速率和動量常數,來計算權值或閾值的變化率。3.1.4 BP網絡訓練函數1)train神經網絡訓練函數,調用其他訓練函數,對網絡進行訓練。該函數的調用
20、格式為:net,tr,Y,E,Pf,Af=train(NET,P,T,Pi,Ai)net,tr,Y,E,Pf,Af=train(NET,P,T,Pi,Ai,VV,TV)2) traingd函數為梯度下降BP算法函數。traingdm函數為梯度下降動量BP算法函數。3.2BP網絡在函數逼近中的應用BP 網絡是一種多層前饋神經網絡,由輸入層、隱層和輸出層組成。BP 網絡模型結構見圖3.1。網絡同層節點沒有任何連接,隱層節點可以由一個或多個。網絡的學習過程由正向和反向傳播兩部分組成。在正向傳播中,輸入信號從輸入層節點經隱層節點逐層傳向輸出層節點。每一層神經元的狀態只影響到下一層神經元網絡,如輸出層不
21、能得到期望的輸出,那么轉入誤差反向傳播過程,將誤差信號沿原來的連接通路返回,通過修改各層神經元的權值,逐次地向輸入層傳播去進行計算,在經正向傳播過程,這兩個過程反復運用,使得誤差信號最小或達到人們所期望的要求時,學習過程結束。圖3.1 BP 網絡模型結構利用神經網絡工具箱進行設計和仿真的具體步驟:1. 確定信息表達方式:將實際問題抽象成神經網絡求解所能接受的數據形式;2. 確定網絡模型:選擇網絡的類型、結構等;3. 選擇網絡參數:如神經元數,隱含層數等;4. 確定訓練模式:選擇訓練算法,確定訓練步數,指定訓練目標誤差等;5. 網絡測試:選擇合適的訓練樣本進行網絡測試。3.2.1第一步問題的提出
22、設計一個簡單的BP 網絡,實現對非線性函數的逼近,通過改變BP 網絡的隱層神經元的數目,采用不同的訓練方法來觀察訓練時間和訓練誤差的變化情況。假設將要將要逼近的函數為正弦函數,其頻率參數N=1,繪制此函數見圖3.2 所示。N=1;p= - 1:0.05:1 ;t=sin (N*pi*p) ;%假設N=1,繪制此函數曲線plot (p,t,'r*')title ('要逼近的非線性函數')xlabel ('時間') ;3.2.2第二步網絡建立應用newff () 建立兩層的BP 網絡,隱層神經元數目可以改變,此時S=8 ,輸出層一個神經元,隱層和輸出
23、層的傳遞函數分別為tansig 和purelin ,學習算法采用Levenberg - Marquadt ( trainlm) 。用sim() 觀察初始化網絡輸出如圖3.3 所示。S=8;net=newff (minmax (p) , S,1 , 'tansig','purelin' ,'trainlm') ;y1=sim (net,p) ;figure;plot (p,t, 'r* ',p,y1,'b- ')title ('未訓練網絡的輸出結果')xlabel ('時間') ;ylabel ('仿真輸出- 原函數*') ;legend ('要逼近的非線性函數','未訓練網絡的輸出結果')圖3.2要逼近的非線性函數圖3.3未訓練時網絡的輸出結果3.2.3第三步網絡訓練將訓練時間設為10,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年騰訊服務合同模板
- 2025企業實習生勞動合同樣本
- 2025自然人借款合同
- 2025市中心商業區房屋租賃合同模板
- 特種車輛雇傭合同協議
- 電動液壓租賃合同協議
- 玻璃運輸裝卸服務合同協議
- 電池電解液采購合同協議
- 玉米秸稈定購合同協議
- 電動送料機采購合同協議
- 物業小區保潔清潔方案
- 雙盤摩擦壓力機的設計(全套圖紙)
- 國家開放大學《西方經濟學(本)》章節測試參考答案
- 原地面高程復測記錄表正式版
- 高等學校建筑學專業本科(五年制)教育評估標準
- 品質周報表(含附屬全套EXCEL表)
- 商鋪裝修工程施工方案.
- MQ2535門座起重機安裝方案
- 一針療法高樹中著精校版本
- 第六課-吸煙者的煩惱-《橋梁》實用漢語中級教程(上)課件
- 吊籃作業安全監理專項實施細則
評論
0/150
提交評論