神經網(wǎng)絡原理及應用_第1頁
已閱讀1頁,還剩64頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、BP神經網(wǎng)絡原理及應用,數(shù)學建模工作室,房恩岳,2012.11.07,Contents,神經網(wǎng)絡概述BP神經網(wǎng)絡應用實例在matlab中的實現(xiàn)BP 網(wǎng)絡模型改進,神經網(wǎng)絡簡介,什么是神經網(wǎng)絡?,人類的神經網(wǎng)絡,神經網(wǎng)絡(NNs)它是一種模擬動物神經網(wǎng)絡行為特征,進行分布式并行信息處理的算法。這種網(wǎng)絡依靠系統(tǒng)的復雜程度,通過調整內部大量節(jié)點之間相互連接的關系,從而達到處理信息的目的。,神經網(wǎng)絡基礎知識,構成:大量簡單的基本元件——

2、神經元相互連接 工作原理:模擬生物的神經處理信息的方式 功能:進行信息的并行處理和非線性轉化,特點:比較輕松地實現(xiàn)非線性映射過程 具有大規(guī)模的計算能力,神經網(wǎng)絡的本質,神經網(wǎng)絡的本質就是利用計算機語言模擬人類大腦做決定的過程,做決定,,,,距離,味道,價格,生物神經元結構:,那怎樣用機器語言來模擬呢?,神經元結構模型,xj為輸入信號, 為閾值, 表示與神經元 xj 連接的權值 yi

3、表示輸出值,,判斷 是否大于閥值,什么是閥值?,臨界值。比如有一頭驢,往它身上壓稻草,一根一根地壓,當壓到N根時,還沒有被壓倒,又壓了一根,倒了,這時所有壓在驢身上的稻草的多少,就是壓倒這頭驢的閾值。,神經網(wǎng)絡是模仿大腦的神經元,當外界刺激達到一定的閥值時,神經元才會受刺激,影響下一個神經元。,判斷 是否大于閥值,若 大于閥值 ,則此神經元接受此信息,輸出若

4、 小于閥值 ,則此神經元不接受此信息的傳遞,,,,,系統(tǒng)本身/黑盒子,,,,知道,不知道,,,y=x^2,機場,輸入:x,輸出:y,幾種代表性的網(wǎng)絡模型,單層前向神經網(wǎng)絡——線性網(wǎng)絡階躍網(wǎng)絡多層前向神經網(wǎng)絡(反推學習規(guī)則即BP神經網(wǎng)絡)Elman網(wǎng)絡、Hopfield網(wǎng)絡、雙向聯(lián)想記憶網(wǎng)絡、自組織競爭網(wǎng)絡等等,神經網(wǎng)絡能干什么?,運用這些網(wǎng)絡模型可實現(xiàn)函數(shù)逼近、數(shù)據(jù)聚類、模式分類、優(yōu)化計算等功能 。因此,神經網(wǎng)絡

5、廣泛應用于人工智能、自動控制、機器人、統(tǒng)計學等領域的信息處理中。雖然神經網(wǎng)絡的應用很廣,但是在具體的使用過程中到底應當選擇哪種網(wǎng)絡結構比較合適是值得考慮的。這就需要我們對各種神經網(wǎng)絡結構有一個較全面的認識,應用范圍,,醫(yī)學:疾病識別圖像:識別、去噪、增強、配準、融合金融:股票和有價證券的預測分析、資本收益的預測和分析、風險管理、信用評估等等,神經網(wǎng)絡,BP(Back-Propagation)神經網(wǎng)絡,BP 神經網(wǎng)絡是一種按誤差逆?zhèn)鞑?/p>

6、算法訓練的多層前饋網(wǎng)絡,是目前應用最廣泛的神經網(wǎng)絡模型之一。BP網(wǎng)絡能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數(shù)學方程。它的學習規(guī)則是使用最速下降法,通過反向傳播來不斷調整網(wǎng)絡的權值和閾值,使網(wǎng)絡的誤差平方和最小。BP神經網(wǎng)絡模型拓撲結構包括輸入層(input)隱層(hide layer)和輸出層(output layer),BP神經網(wǎng)絡,特點:多層前饋神經網(wǎng)絡,信號向前傳播,誤差向后傳播。結構:,中間

7、層:輸入輸出,輸出層:輸入輸出,傳遞函數(shù),閾值型,線性型,S型,傳遞函數(shù)(激活函數(shù))logsig(S型函數(shù)):,MATLAB按此函數(shù)計算:,調用格式:A=logsig(N),如:n=-10:0.1:10 ;a=logsig(n)plot(n,a) grid on,圖形如下:,tansig(雙曲正切S型傳遞函數(shù)):,調用格式:A=tansig(n),如:n=-10:0.1:10 a=t

8、ansig(n)plot(n,a) grid on 如右圖所示,BP神經網(wǎng)絡原理,基本BP算法包括兩個方面:信號的前向傳播和誤差的反向傳播。即計算實際輸出時按從輸入到輸出的方向進行,而權值和閾值的修正從輸出到輸入的方向進行。利用輸出后的誤差來估計輸出層的直接前一層的誤差,再用這個誤差估計更前一層的誤差,如此一層一層的反傳下去,就獲得了所有其他各層的誤差估計。,BP神經網(wǎng)絡工作原理誤差向后傳播,BP神經網(wǎng)絡工作流程,

9、1.網(wǎng)絡初始化:根據(jù)訓練數(shù)據(jù)確定網(wǎng)絡的輸入神經元數(shù)n,隱含神經元數(shù)l,輸出神經元數(shù)m,初始化各層神經元之間的連接權值 和 ,初始化隱含層和輸出層的閾值 a和b,給定學習速率和神經元傳遞函數(shù)。2.隱含層輸出計算 :根據(jù)輸入向量X,輸入層和隱含層連接權值 以及隱含層閾值a,計算隱含層輸出H,3.輸出層輸出計算。根據(jù)隱含層輸出的H,連接權值 和閾值b,計算BP神經網(wǎng)絡的預測輸出O.4.誤差計算根據(jù)預測輸出

10、O和期望輸出Y計算網(wǎng)絡預測誤差e5.權值更新根據(jù)網(wǎng)絡誤差更新網(wǎng)絡權值 ,6.閾值更新,根據(jù)網(wǎng)絡誤差網(wǎng)絡e,神經元閾值a,b7.判斷算法迭代是否結束,若沒有結束返回步驟2,正向傳播:輸入樣本---輸入層---各隱層---輸出層判斷是否轉入反向傳播階段:若輸出層的實際輸出與期望的輸出(教師信號)不符誤差反傳誤差以某種形式在各層表示----修正各層單元的權值網(wǎng)絡輸出的誤差減少到可接受的程度進行到預先設定的學習次

11、數(shù)為止,,,,,,BP網(wǎng)絡的標準學習算法-學習過程,BP標準算法步驟,網(wǎng)絡結構輸入層有n個神經元,隱含層有p個神經元,輸出層有q個神經元變量定義輸入向量:隱含層輸入向量:隱含層輸出向量:輸出層輸入向量:輸出層輸出向量:期望輸出向量:,BP標準算法步驟,變量定義輸入層與中間層的連接權值:隱含層與輸出層的連接權值:隱含層各神經元的閾值:輸出層各神經元的閾值:樣本數(shù)據(jù)個數(shù):激活函數(shù):誤差函數(shù):,BP標準算法步驟,

12、1. 網(wǎng)絡初始化 給各連接權值分別賦一個區(qū)間(-1,1)內的隨機數(shù),設定誤差函數(shù)e,給定計算精度值 和最大學習次數(shù)M。,,2. 隨機選取一個輸入樣本及對應期望輸出,BP標準算法步驟,3.計算隱含層和輸出層各神經元的輸入和輸出,BP標準算法步驟,4.利用網(wǎng)絡期望輸出和實際輸出,計算誤差函數(shù)對輸出層的各神經元的偏導數(shù)。,BP標準算法步驟,5. 利用隱含層到輸出層的連接權值、輸出層的輸出和隱含層的輸出,計算誤差函數(shù)對隱含層各神經元的偏導數(shù)。

13、,BP標準算法步驟,BP標準算法步驟,6. 利用輸出層各神經元的和隱含層各神經元的輸出來修正連接權值。,BP標準算法步驟,7. 利用隱含層各神經元的和輸入層各神經元的輸入修正連接權。,BP標準算法步驟,8. 計算全局誤差,9. 判斷網(wǎng)絡誤差是否滿足要求。當誤差達到預設精度或學習次數(shù)大于設定的最大次數(shù),則結束算法。否則,選取下一個學習樣本及對應的期望輸出,返回到第三步,進入下一輪學習。,,,梯度下降法,情況一、直觀表達 當誤差對權值的

14、偏導數(shù)大于零時,權值調整量為負,實際輸出大于期望輸出,權值向減少方向調整,使得實際輸出與期望輸出的差減少。,BP標準算法直觀解釋,情況二、直觀表達當誤差對權值的偏導數(shù)小于零時,權值調整量為正,實際輸出少于期望輸出,權值向增大方向調整,使得實際輸出與期望輸出的差減少。,BP標準算法直觀解釋,應用實例,分類識別數(shù)據(jù)預測醫(yī)學診斷,蠓蟲的分類識別,思路,1、觸角長和翼長作為輸入信息,分別記x1,x2 目標

15、輸出:(1,0) 、(0,1)。 Af類記為 (1,0),Apf類記為(0,1)。,輸出層有兩個神經元,2、通過已知樣本訓練出合適的權值使輸出為(0,1)或(1,0)。,3、將待區(qū)分的蠓蟲數(shù)據(jù)輸入網(wǎng)絡,求值。,權值求法:向后傳播法理想輸出 Af類(1,0),Apf類(0,1)記為 則有誤差:,使得E(w)最小的 作為所需的權值,,運用神經網(wǎng)絡進行預測,例:現(xiàn)給出一藥品商店一年當中12個月的藥品銷

16、售量(單位:箱)如下:,訓練一個BP網(wǎng)絡,用當前的所有數(shù)據(jù)預測下一個月 的藥品銷售量。,拋開神經網(wǎng)絡,對于預測問題我們會首先想到線性擬合的方法,,首先我們看一下這些數(shù)據(jù)的離散分布圖,但線性擬合有它的局限性,從圖中可以明顯看出月份與藥品銷量不存在線性關系,對于離散程度特別高的數(shù)據(jù),它們不存在線性關系,所以用線性擬合做出來的誤差會很大,對于預測問題我們還可以用灰色系統(tǒng)、時間序列來預測,思路二,我們用前三個

17、月的銷售量預測下一個月的銷售量,也就是用1-3月的銷售量預測第4個月的銷售量,用2-4個月的銷售量預測第5個月的銷售量,如此循環(huán)下去,直到用9-11月預測12月份的銷售量。這樣訓練BP神經網(wǎng)絡后,就可以用10-12月的數(shù)據(jù)預測來年一月的銷售量。,譫妄的診斷,譫妄是由于各種原因引起的急性腦器質性綜合癥,其特點是急性發(fā)病,意識水平變化,病程波動,定向力、注意力、思維、精神運動、行為和情感改變。根據(jù)國外1980年以后的有關譫妄研究文獻的報道,

18、譫妄的發(fā)病率為4%~25%。目前對譫妄的發(fā)病機制還了解不多,診斷的方式常采用多個指標綜合評價。,如對老年人譫妄,通常采用檢查表的方式確診,檢查表中的11個項目包含:急性起?。翰∪说木駹顩r有急性變化的證據(jù)嗎?注意障礙:患者的注意力難以集中嗎?思維混亂:患者的思維是凌亂或是不連貫嗎?意識水平的改變:總體上看,您如何評價該患者的意識水平?定向障礙:在會面的任何時間患者存在定向障礙嗎?記憶力減退:在面談時患者表現(xiàn)出記憶方面的問題嗎

19、?知覺障礙:患者有知覺障礙的證據(jù)嗎?精神運動性興奮:面談時患者的行為活動有不正常的增加嗎?精神運動性遲緩:面談時患者有運動行為水平的異常減少嗎?波動性:患者的精神狀況(注意力、思維、定向、記憶力)在面談前或者在面談中有波動嗎?睡眠-覺醒周期的改變:患者有睡眠-覺醒周期紊亂的證據(jù)嗎?,譫妄的診斷,針對以上11個問題,醫(yī)生對病人進行觀察和提問,每項分4個等級打分:不存在—1分;輕度存在—2分;中度存在—3分;嚴重存在—4分。

20、 數(shù)據(jù)為一個醫(yī)生對96名測試人員的觀察和提問,并通過計分方式記錄下來的直觀診斷。診斷標準為:22分以上可診斷為譫妄,在量表診斷一列中記為Y(否則記為N)。這樣的標準是否合理?,譫妄的診斷,譫妄的診斷,實際上已經知道,前48個數(shù)據(jù)來自臨床診斷的病人,后48個數(shù)據(jù)來自正常人??梢钥闯?,量表診斷一共出了10例誤診病例,占測試人員的10.4%,這是一個比較高的錯誤率?,F(xiàn)在有神經網(wǎng)絡解決這個問題。該如果解決?,譫妄的診斷,思路,

21、1. 將表中1~40號數(shù)據(jù)和59~96號數(shù)據(jù)作為學習數(shù)據(jù),41~58號數(shù)據(jù)作為檢驗數(shù)據(jù)。2. 選用較為簡單的2層且隱含層有4個神經元的BP算法神經網(wǎng)絡。,在Matlab中的實現(xiàn),newff 創(chuàng)建一個BP網(wǎng)絡,其調用格式為:,net=newffnet=newff(PR,[S1 S2 …SN1],{TF1 TF2…TFN1},BTF,BLF,PF),其中,,net=newff :用于在對話框中創(chuàng)建一個BP網(wǎng)絡PR :

22、由每組輸入(共有R組輸入)元素的最大值和最小值組成的R×2維的矩陣;Si :第i層神經元的個數(shù),共計N1層TFi:第i層的傳遞函數(shù),默認為“tansig”BTF:BP網(wǎng)絡的訓練函數(shù),默認為“trainlm”;BLF:權值和閾值的BP學習算法,默認為“l(fā)earngdm”PF:網(wǎng)絡的性能函數(shù),默認為“mse”,,train 用于對神經網(wǎng)絡進行訓練。調用格式為:[net,tr,Y,E,Pf,Af]=train

23、(NET,P,T,Pi,Ai)其中,NET:待訓練的神經網(wǎng)絡;P:網(wǎng)絡的輸入信號;T:網(wǎng)絡的目標,默認值為0;Pi:初始的輸入延遲,默認為0;Ai:初始的層次延遲,默認為0;net:函數(shù)返回值,訓練后的神經網(wǎng)絡;tr:函數(shù)返回值,訓練記錄(包括步數(shù)和性能);Y:函數(shù)返回值,神經網(wǎng)絡的輸出信號;E:函數(shù)返回值,神經網(wǎng)絡的誤差;Pf:函數(shù)返回值,最終輸入延遲;Af:函數(shù)返回值,最終層延遲。,常見參數(shù):net.tra

24、inParam.show 顯示中間結果的周期(25)net.trainParam.lr 整批學習中的學習效率(0.01)net.trainParam.mc 勢能學習規(guī)則(traingdm)勢能率(0.9)net.trainParam.epochs 整批學習迭代次數(shù)上限(100)net.trainParam.goal 最小二乘目標誤差設定值(0),神經網(wǎng)絡仿真函數(shù)sim 調用格式為:[Y,Pf,Af,E,perf]=sim(

25、net,P,Pi,Ai,T)其中,Y:函數(shù)返回值,網(wǎng)絡輸出;Pf:函數(shù)返回值,最終輸出延遲;Af:函數(shù)返回值,最終的層延遲;E:函數(shù)返回值,網(wǎng)絡誤差;perf:函數(shù)返回值,網(wǎng)絡性能;net:待仿真的神經網(wǎng)絡;P:網(wǎng)絡輸入;Pi:初始輸入延遲,默認為0;Ai:初始的層延遲,默認為0;T:網(wǎng)絡目標,默認為0.,BP神經網(wǎng)絡的改進,一、基本BP算法的缺陷二、隱含層的層數(shù)與節(jié)點數(shù)的改進三、用遺傳算法優(yōu)化BP神經網(wǎng)絡

26、,基本BP算法的缺陷,BP算法因其簡單、易行、計算量小、并行性強等優(yōu)點,目前是神經網(wǎng)絡訓練采用最多也是最成熟的訓練算法之一。其算法的實質是求解誤差函數(shù)的最小值問題,由于它采用非線性規(guī)劃中的最速下降方法,按誤差函數(shù)的負梯度方向修改權值,因而通常存在以下問題:學習效率低,收斂速度慢易陷入局部極小狀態(tài),隱含層的層數(shù)與節(jié)點數(shù)的改進,BP神經網(wǎng)絡的構建必須注意隱含層神經元數(shù)的選擇。如果隱含層神經元數(shù)過少,BP神經網(wǎng)絡難以建立復雜的映射關系,

27、網(wǎng)絡預測誤差較大,如果隱含層神經元數(shù)過多,網(wǎng)絡學習的時間增加,并且可能出現(xiàn)過擬合的現(xiàn)象,就是把樣本中非規(guī)律性的內容(如噪聲等)也學會記牢,從而出現(xiàn)訓練樣本準確,但是其他樣本預測誤差較大。,隱含層的層數(shù)與節(jié)點數(shù)的改進,那怎么確定隱含層的神經元個數(shù)呢?現(xiàn)在還沒有什么成熟的定理能確定各層神經元的神經元個數(shù)和含有幾層網(wǎng)絡,大多數(shù)還是靠經驗,隱含層的層數(shù)與節(jié)點數(shù)的改進,最佳隱含層神經元數(shù)選擇可參考如下經驗公式:m為隱含層神經元數(shù),n為輸入

溫馨提示

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

評論

0/150

提交評論