bp神經網絡范文
時間:2023-03-26 02:00:50
導語:如何才能寫好一篇bp神經網絡,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
1、bp(Back Propagation)網絡是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆傳播算法訓練的多層前饋網絡,是應用最廣泛的神經網絡模型之一。BP網絡能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網絡的權值和閾值,使網絡的誤差平方和最小。BP神經網絡模型拓撲結構包括輸入層(input)、隱層(hide layer)和輸出層(output layer)。
2、BP神經網絡算法是在BP神經網絡現有算法的基礎上提出的,是通過任意選定一組權值,將給定的目標輸出直接作為線性方程的代數和來建立線性方程組,解得待求權,不存在傳統方法的局部極小及收斂速度慢的問題,且更易理解。
(來源:文章屋網 )
篇2
關鍵字神經網絡,BP模型,預測
1引言
在系統建模、辨識和預測中,對于線性系統,在頻域,傳遞函數矩陣可以很好地表達系統的黑箱式輸入輸出模型;在時域,Box-Jenkins方法、回歸分析方法、ARMA模型等,通過各種參數估計方法也可以給出描述。對于非線性時間序列預測系統,雙線性模型、門限自回歸模型、ARCH模型都需要在對數據的內在規律知道不多的情況下對序列間關系進行假定。可以說傳統的非線性系統預測,在理論研究和實際應用方面,都存在極大的困難。相比之下,神經網絡可以在不了解輸入或輸出變量間關系的前提下完成非線性建模[4,6]。神經元、神經網絡都有非線性、非局域性、非定常性、非凸性和混沌等特性,與各種預測方法有機結合具有很好的發展前景,也給預測系統帶來了新的方向與突破。建模算法和預測系統的穩定性、動態性等研究成為當今熱點問題。目前在系統建模與預測中,應用最多的是靜態的多層前向神經網絡,這主要是因為這種網絡具有通過學習逼近任意非線性映射的能力。利用靜態的多層前向神經網絡建立系統的輸入/輸出模型,本質上就是基于網絡逼近能力,通過學習獲知系統差分方程中的非線性函數。但在實際應用中,需要建模和預測的多為非線性動態系統,利用靜態的多層前向神經網絡必須事先給定模型的階次,即預先確定系統的模型,這一點非常難做到。近來,有關基于動態網絡的建模和預測的研究,代表了神經網絡建模和預測新的發展方向。
2BP神經網絡模型
BP網絡是采用Widrow-Hoff學習算法和非線性可微轉移函數的多層網絡。典型的BP算法采用梯度下降法,也就是Widrow-Hoff算法。現在有許多基本的優化算法,例如變尺度算法和牛頓算法。如圖1所示,BP神經網絡包括以下單元:①處理單元(神經元)(圖中用圓圈表示),即神經網絡的基本組成部分。輸入層的處理單元只是將輸入值轉入相鄰的聯接權重,隱層和輸出層的處理單元將它們的輸入值求和并根據轉移函數計算輸出值。②聯接權重(圖中如V,W)。它將神經網絡中的處理單元聯系起來,其值隨各處理單元的聯接程度而變化。③層。神經網絡一般具有輸入層x、隱層y和輸出層o。④閾值。其值可為恒值或可變值,它可使網絡能更自由地獲取所要描述的函數關系。⑤轉移函數F。它是將輸入的數據轉化為輸出的處理單元,通常為非線性函數。
2.1基本算法
BP算法主要包含4步,分為向前傳播和向后傳播兩個階段:
1)向前傳播階段
(1)從樣本集中取一個樣本(Xp,Yp),將Xp輸入網絡;
(2)計算相應的實際輸出Op
在此階段,信息從輸入層經過逐級的變換,傳送到輸出層。這個過程也是網絡在完成訓練后正常運行時的執行過程。
2)向后傳播階段
(1)計算實際輸出Op與相應的理想輸出Yp的差;
(2)按極小化誤差的方式調整權矩陣。
這兩個階段的工作受到精度要求的控制,在這里取作為網絡關于第p個樣本的誤差測度,而將網絡關于整個樣本集的誤差測度定義為。圖2是基本BP算法的流程圖。
2.2動態BP神經網絡預測算法
在經典的BP算法以及其他的訓練算法中都有很多變量,這些訓練算法可以確定一個ANN結構,它們只訓練固定結構的ANN權值(包括聯接權值和結點轉換函數)。在自動設計ANN結構方面,也已有較多的嘗試,比如構造性算法和剪枝算法。前一種是先隨機化網絡,然后在訓練過程中有必要地增加新的層和結點;而剪枝法則正好相反。文獻[2]中提出了演化神經網絡的理念,并把EP算法與BP進行了組合演化;也有很多學者把遺傳算法和BP進行結合,但這些算法都以時間復雜度以及空間復雜度的增加為代價。根據Kolmogorov定理,對于任意給定的L2型連續函數f:[0,1]nRm,f可以精確地用一個三層前向神經網絡來實現,因而可以只考慮演化網絡的權值和結點數而不影響演化結果。基于此,在BP原有算法的基礎上,增加結點數演化因子,然后記錄每層因子各異時演化出的結構,最后選取最優的因子及其網絡結構,這樣就可以避免由于增加或剪枝得到的局部最優。根據實驗得知,不同的預測精度也影響網絡層神經元的結點數,所以可根據要求動態地建立預測系統。具體步驟如下:
(1)將輸入向量和目標向量進行歸一化處理。
(2)讀取輸入向量、目標向量,記錄輸入維數m、輸出層結點數n。
(3)當訓練集確定之后,輸入層結點數和輸出層結點數隨之而確定,首先遇到的一個十分重要而又困難的問題是如何優化隱層結點數和隱層數。實驗表明,如果隱層結點數過少,網絡不能具有必要的學習能力和信息處理能力。反之,若過多,不僅會大大增加網絡結構的復雜性(這一點對硬件實現的網絡尤其重要),網絡在學習過程中更易陷入局部極小點,而且會使網絡的學習速度變得很慢。隱層結點數的選擇問題一直受到神經網絡研究工作者的高度重視。Gorman指出隱層結點數s與模式數N的關系是:s=log2N;Kolmogorov定理表明,隱層結點數s=2n+1(n為輸入層結點數);而根據文獻[7]:s=sqrt(0.43mn+0.12nn+2.54m+0.77n+0.35)+0.51[7]。
(4)設置結點數演化因子a。為了快速建立網絡,可以對其向量初始化,并從小到大排序[4,7]。
(5)建立BP神經網絡。隱含層傳遞函數用tansig,輸出層用logsig,訓練函數采用動態自適應BP算法,并制訂停止準則:目標誤差精度以及訓練代數。
(6)初始化網絡。
(7)訓練網絡直到滿足停止判斷準則。
(8)用測試向量對網絡進行預測,并記錄誤差和逼近曲線,評估其網絡的適應性。其適應度函數采取規則化均方誤差函數。
(9)轉到(5),選取下一個演化因子,動態增加隱含層結點數,直到最后得到最佳預測網絡。
3基于神經網絡的預測原理[4]
3.1正向建模
正向建模是指訓練一個神經網絡表達系統正向動態的過程,這一過程建立的神經網絡模型稱為正向模型,其結構如圖3所示。其中,神經網絡與待辨識的系統并聯,兩者的輸出誤差用做網絡的訓練信號。顯然,這是一個典型的有導師學習問題,實際系統作為教師,向神經網絡提供算法所需要的期望輸出。當系統是被控對象或傳統控制器時,神經網絡多采用多層前向網絡的形式,可直接選用BP網絡或它的各種變形。而當系統為性能評價器時,則可選擇再勵學習算法,這時網絡既可以采用具有全局逼近能力的網絡(如多層感知器),也可選用具有局部逼近能力的網絡(如小腦模型控制器等)。3.2逆向建模
建立動態系統的逆模型,在神經網絡中起著關鍵作用,并且得到了廣泛的應用。其中,比較簡單的是直接逆建模法,也稱為廣義逆學習。其結構如圖4所示,擬預報的系統輸出作為網絡的輸入,網絡輸出與系統輸入比較,相應的輸入誤差用于訓練,因而網絡將通過學習建立系統的逆模型。但是,如果所辨識的非線性系統是不可逆的,利用上述方法將得到一個不正確的逆模型。因此,在建立系統時,可逆性應該先有所保證。
4應用實例分析
以我國西南某地震常發地區的地震資料作為樣本來源,實現基于動態神經網絡的地震預報。根據資料,提取出7個預報因子和實際發生的震級M作為輸入和目標向量。預報因子為半年內M>=3的地震累計頻度、半年內能量釋放積累值、b值、異常地震群個數、地震條帶個數、是否處于活動期內以及相關地震區地震級。在訓練前,對數據進行歸一化處理。由于輸入樣本為7維的輸入向量,一般情況下輸入層設7個神經元。根據實際情況,輸出層神經元個數為1。隱含層神經元的傳遞函數為S型正切函數,輸出層也可以動態選擇傳遞函數。實例數據來自文獻[4],將數據集分為訓練集、測試集和確定集。表1中的7×7數組表示歸一化后的訓練向量,第一個7表示預報因子數,第二個7表示樣本數。
表1歸一化后的訓練向量
在不同神經元數情況下,對網絡進行訓練和仿真,得到如圖5所示的一組預測誤差曲線。其中,曲線A表示隱層結點數為6時的預測誤差曲線,曲線B表示隱含層結點數為3時的預測誤差曲線,曲線C表示隱含層結點數為5時的預測誤差曲線,曲線D表示隱含層結點數為4時的預測誤差曲線。將五種情況下的誤差進行對比,曲線C表示的網絡預測性能最好,其隱含層神經元數為5,圖中曲線E表示的是隱含層結點數為15時的預測誤差曲線(文獻[4]中的最好結果)。同時也證明,在設計BP網絡時,不能無限制地增加層神經元的個數。若過多,不僅會大大增加網絡結構的復雜性,網絡在學習過程中更易陷入局部極小點,而且會使網絡的學習速度、預測速度變得很慢。
5結論
本文針對基本的BP神經網絡,提出了可動態改變神經元數(與精度相關)的BP神經網絡預測方法,可以根據實際情況建立預測系統。用此種方法可以建立最好的神經網絡,不會有多余的神經元,也不會讓網絡在學習過程中過早陷于局部極小點。
參考文獻
[1]YaoX,LiuY.FastEvolutionaryProgramming.inEvolutionaryProgrammingⅤ:Proc.5thAnnu.Conf.EvolutionaryProgram,L.Fogel,P.AngelineandT.Bäck,Eds.Cambridge,MA:MITPress,1996,451-460
[2]XinYao,YongLiu,ANewEvolutionarySystemforEvolvingArtificialNeuralNetworksIEEETRANSACTIONSONNEURALNETWORKS,VOL8,NO.31997,694-714
[3]潘正君,康立山,陳毓屏.演化計算[M].北京:清華大學出版社,1998
[4]飛思科技產品研發中心.神經網絡理論與實現.北京:電子工業出版社,2005
[5]蔡曉芬,方建斌.演化神經網絡算法.江漢大學學報,第33卷第3期,2005.9
篇3
[關鍵詞]數據挖掘 BP神經網絡 CPI預測
一、引言
目前,隨著居民收入的快速增長,中國居民消費能力不斷升級,尤其是近期我國居民消費價格總水平出現了明顯上漲,其中糧食、豬肉等食品價格屢創新高。對于相關部門來說,應努力做到關注國際形勢的同時,根據市場價格的變化情況進行科學分析,最終制定合理的綜合性措施。應用現代技術對CPI進行預測在當前來說是很有意義的,國內很多專家學者在這方面都做了研究。以往學者對CPI的預測更多的是運用計量經濟學方法,而通過數據挖掘方法進行CPI預測的研究不多,值得我們進一步探討。
BP神經網絡是一種應用最廣泛的人工神經預測網絡,它獨有的容錯性和泛化能力能較好地進行預測。本文選用SPSS公司的Clementine來進行BP網絡模型的實現,Clementine中的工具箱使BP網絡的建立、訓練以及預測都變得非常簡單,而且訓練過程及效果非常直觀,使神經網絡應用于實際具有更大的可行性。
二、BP神經網絡概述
BP網絡是在1974年由Worbos提出,1986年Rumelhart和McCelland等人對具有非線性連續轉移函數的多層前饋網絡的誤差反向傳播(Error Back Proragation)算法進行了詳盡的分析,實現了Minsky關于多層前饋網絡的設想。
BP算法基本思想:學習過程由信號的正向傳播與誤差的逆向傳播兩個過程組成,正向傳播時,模式作用于輸入層,經隱層處理后,傳向輸出層。若輸出層未能得到期望的輸出,則轉入誤差的逆向傳播階段,將輸出誤差按某種形式通過隱層向輸入層逐層返回,并分攤給各層的所有單元,從而獲得各層單元的誤差信號,以作為修改各單元權值的依據,這種信號正向傳播與誤差逆向傳播的各層權矩陣的修改過程是周而復始地進行的。權值不斷修改的過程,也就是網絡的學習過程。此過程一直進行到網絡輸出的誤差逐漸減少到可接受的程度或達到設定的學習次數為止。BP神經網絡在進行設計時,主要考慮以下因素。
1.網絡層數。一般BP網絡由一個輸入層,一個輸出層,及若干隱含層構成。實際應用中,通常利用一個隱含層就基本上能滿足大部分應用問題的需求,因為兩層的神經網絡可以逼近任何非線性函數。而盲目地增加隱含層層數,往往會使學習速度變慢,同時增加了結構的復雜性。
2.輸入層節點數。輸入層節點數由影響輸出變量的變量個數來決定,一般來說有幾個變量對輸出變量的結果有影響就選擇幾個輸入層節點。輸入網絡的節點過少,會使得網絡不能很好地獲得輸入與輸出數據的非線性關系,如果過多,就會增加過度適應的危險和增大了訓練集的大小。
3.輸出層節點數。輸出層節點數取決于輸出數據類型和表示該類型所需的具體數據。
4.隱層節點數。一個具有無限隱層節點的兩層BP網絡可以逼近任何非線性函數,但對于輸入與輸出均為有限個的網絡,并不需要無限個隱層節點,這就涉及到如何選擇隱層節點數的問題,而這一問題的復雜性,使得至今為止,尚未找到一個很好的解析式,隱層節點數往往根據前人設計所得的經驗和自己進行試驗來確定,也可從1、2、3開始。一般認為,隱層節點數與數據、尋找的模式以及網絡的類型都有直接的關系。另外,隱層節點數太多會導致學習時間過長;而隱層節點數太少,容錯性差,識別未經學習的樣本能力低,所以必須綜合多方面的因素進行設計。
隱層節點數的初始值可由(1)式來確定:
式中:m、n分別為輸入層結點數與輸出層結點數,l為隱層節點數。
5.傳遞函數。BP神經網絡中的傳遞函數通常采用S(sigmoid)型函數,即
上式中x為前面組合函數的結果,一般取進入單元的輸入加權和。
三、BP網絡在CPI預測中的應用實例
我國的CPI由食品、煙酒及用品、衣著、家庭設備用品及服務、醫療保健及個人用品、交通和通信、娛樂教育文化用品及服務、居住等類構成。CPI具有較強的非線性特性,要對其進行較為準確的預測,就應該采用能捕捉非線性變化規律的方法。筆者將BP神經網絡引入到CPI預測中來,用歷史數據預測未來CPI相對增長率,彌補傳統預測方法的不足。顯然,CPI相對增長率與類別各自的增長率有關,在本文中正是從這類別對CPI的影響來進行模型的構建。
1.數據讀取
本實例選取國家統計局的統計數據進行研究,同時采用Access作為數據庫平臺,前八個字段為當月CPI構成的類別指數,第九個字段為下月CPI,取部分記錄顯示,見表1:
表1 居民消費價格指數表
2.數據預處理
數據預處理對于數據挖掘是一個重要的問題,因為現實中的數據多半是不完整的、有噪聲的和不一致的。數據預處理包括數據清理、數據集成、數據變換和數據歸約。數據清理可以去掉數據中的臟數據,糾正不一致,包括空值處理、規范化數據格式、拆分數據等。數據集成將數據由多個源合并成一致的數據存儲。數據歸約可以通過聚集、刪除冗余特性或聚類等方法來壓縮數據。本文中數據預處理主要是對各輸入指標進行歸一化處理,以便進行BP神經網絡模型構建。即將數值限定在[0,1]區間內,歸一化公式為:
該步驟在Clementine中通過Field Ops部分的Derive組件實現。
3.模型構建及應用分析
本研究采用只含一隱層的BP網絡,選取輸入層節點數為8(分別為某個月的8個類別各自的相對增長率);輸出層節點數為1(為下個月的居民消費價格指數的相對增長率),同時根據前述經驗公式,選取隱層節點數為3,而傳遞函數則選取默認的S型函數。在本模型中,還需設置以下參數,動量因子0.8,初始學習速率0.4,最大訓練步數300。以上參數的選取以及模型的構建均在Clementine中實現,流程如圖1所示。
在本模型中,隨機抽取數據的70%作為訓練樣本,30%作為驗證樣本,來進行神經網絡模型的訓練,訓練過程見圖2。
圖1 模型流程圖
圖2 模型訓練過程
從圖2中可以看到該模型的準確度較高,誤差在允許的范圍內波動,故將該模型應用于CPI預測是切實可行的。緊接著,將上文構建出的神經網絡模型應用于2007年10月CPI預測中,因前半部分流程同圖1,故從居民消費指數節點開始截取,流程如圖3所示。
圖3 預測過程
表2 2007年10月CPI預測結果
通過模型應用,預測結果如表2所示。從表2的$N-下月居民消費價格指數歸一值字段中可以看到,2007年10月,居民消費價格指數歸一值為0.968,通過公式(3)逆推算出當月CPI原值為106.25。該值在一定程度上反應了近期宏觀政策制定的效果,從近期政策面及各方面反應來看,該預測結果基本符合該月的真實情況。總的來說,該模型的性能比較良好,可以達到對CPI進行預測的目的。
四、結論
通過上文我們能夠看到,BP神經網絡在CPI預測中具有較高的精度,在已知上月類別指數的情況下,通過該模型能夠很快地計算出較準確的當月CPI指數,這能夠給相關部門進行綜合性措施的制定提供較大的幫助,同時能夠提供較為科學的依據。本文初步嘗試采用CPI近幾年數據建立BP神經網絡模型,旨在提出一種進行CPI預測的新思路。但由于CPI指數近幾年來才按現行的標準進行統計,數據量有限,加上政策的制定對CPI的直接影響,所以在應用該模型進行預測時可能會出現一些大的誤差,但總體來說,該模型已基本能夠對CPI進行預測。當然,在應用該模型時,應隨著新數據的進一步加入調整模型的各項參數,以使模型訓練及預測能夠達到最理想的效果。
參考文獻:
[1]黃章樹,王前輝.基于數據挖掘的電信增值業務營銷策略研究[J].福州大學學報(社科版),2005,(4).
[2]黃章樹,王鳳英.基于決策樹技術的福州市居民出行特征分析[J].重慶工商大學學報(自然科學版),2007,(3).
篇4
【關鍵詞】BP神經網絡 管道缺陷 缺陷分類
目前,通過圖像處理的方式進行模式識別已成為新的研究熱點,并廣泛應用于識別汽車車牌、手寫漢字、水位線、水稻品質及各種工業產品等領域。在城市管道檢測技術方面,現多采用由管道機器人對待測管道進行內部信息采集,再由人工進行實時的觀測并進行判斷。但是,由人工對管道內部問題進行判斷,其判斷的主觀性與遺漏的可能性都是難以避免的。針對這一情況,通過人工智能算法―BP神經網絡對已獲取的圖像信息進行處理,從而得到管道內部的缺陷類型,不僅降低了系統操作人員的勞動強度,而且從整體上提高了缺陷分類軟件的易用性和可移植性。
監控中視頻處理的過程如圖1所示,本項目將在圖像處理技術的基礎上通過BP神經網絡著重對分類識別的部分進行研究,以達到機器智能檢測的目的。
1 圖像的預處理
1.1 管道內部缺陷樣本的采集
建立管道內部缺陷庫,是進行管道內部缺陷識別的必要條件。同時也是對識別方法進行客觀測試,估計其性能,評價其優缺點的根本依據。采集樣本時應符合大多數管道問題的實際情況,反映各種管道材料、直徑、形狀的特征等。
較差的學習樣本不但會導致網絡的錯誤映射關系,而且還可能會使該網絡的學習過程不收斂, 因此采集學習樣本對于BP神經網絡系統的學習和訓練尤為重要。本實驗采集學習樣本的原則為:
1.1.1 代表性
所用樣本需要起到以點帶面的作用,應當體現出輸入輸出關系,如選用特征突出的樣本,只有通過具有代表性的學習樣本所訓練出來的BP神經網絡才能很好的映射輸入輸出的關系。
1.1.2 廣泛性
所用樣本應能提供該BP網絡各種情況下的輸入,廣泛的樣本可使訓練出來的BP網絡具有良好的適應力,這對于管道內部缺陷識別與分類來說是非常重要的。
1.1.3 緊湊性
若學習樣本含有較多的無效成分會導致學習過程難以收斂,從而導致訓練出來的網絡會產生錯誤的映射,使網絡輸出過多偏向無效學習成分所形成的錯誤的映射關系。
1.2 歸一化處理
管道缺陷種類繁雜,缺陷特征各不相同,即使是常見缺陷也會因大小和分布的不同而有所差異,所以在進行缺陷識別前需要對其進行歸一化處理。缺陷的歸一化處理可分為線性和非線性兩種。進行歸一化處理是為了是消除由于管道自身缺陷而帶來的識別問題,從而進一步的為提取特征和分類器識別打下良好的基礎。
通過線性歸一化的方式將其歸一化為統一大小的圖像,歸一化后的圖像可以表示為:
其中,width和height分別表示未歸一化時原圖像的寬與高,W與H則表示規一化后圖像所對應的寬和高,A(水平)、B(垂直)分別表示原圖像的左上角與規一化后矩形框左上角的距離。
線性歸一化算法較為簡單,即將圖像按一定比例線性調整為同一尺寸,可以保有原圖像的形狀與特征(幾乎無失真),但是無法改變圖像的亮度與清晰度等屬性;非線性歸一化是按照管道內部的特征分布來處理、調整清晰度,削弱那些偏亮、偏暗的區域,或是像素密集的區域,壓縮像素分散的區域。
1.3 平滑去噪處理
各N噪聲可能存在于樣本圖像中,如高斯噪聲、白噪聲等。圖像的平滑化,即消除樣本圖像中的噪聲成分,是圖像增強技術中的一種。該操作可達到兩個目的:
(1)按特定的需要突出圖像中的特定信息;
(2)消除視頻圖像在輸入時混入的噪聲,以適應計算機的處理。
圖像平滑化處理的要求有:
(1)不能損壞圖像的邊緣輪廓及線條等重要信息;
(2)使圖像清晰。
平滑處理的方法分為:
(1)空間域法(時域),其中空間域法又分為線性和非線性濾波器;
(2)頻域法一般需要對圖像進行一次正向的數學變換(通常離散傅立葉變換,也可以為拉氏變換或Z變換)和一次反向的數學逆變換。
2 BP神經網絡的運用
許多學者對BP神經網絡的算法及結構進行過優化,有人提出:神經網絡好比是一種自適應機器,神經網絡是一個由若干簡單處理單元所共同組成的大型分布式處理器,因此具有存儲經驗知識(記憶性)和使之可用(有用性)的特性。神經網絡與人腦的相似之處有兩個:
(1)所獲取的知識都由外界環境學習而來;
(2)突觸權值(神經元間的相互連接強度)用于儲存所獲取的知識。
2.1 BP神經網絡的簡介
人工神經網絡是根據模仿動物神經網絡的行為特征,進行分布式并行處理算法的一種數學模型。這種網絡在處理信息時是通過調整內部大量節點之間相互連接的關系所實現的。而BP(Back Propagation)神經網絡模型是由Rumelhart和Mccdknd為首的科學家小組提出是一種按誤差逆傳播算法訓練的多層前饋網絡。其憑借著強大的聯想能力、容錯能力以及自組織能力,成為現階段應用最為廣泛的神經網絡之一 。BP神經網絡最大特點僅依靠樣本輸入、輸出數據,不借助系統的基本物理定律,就能實現由Rn空間(n個輸入節點)到Rm空間(m個輸出節點)的高度非線性映射。
2.2 BP網絡模型
BP神經網絡是一種反饋前向型的神經網絡,也是一種典型的多層前向型網絡,通過網絡內各層之間的權值與結構表示出復雜的非線性1/0映射關系,BP神經網絡同時具有較好的自我學習功能,能夠通過誤差的反饋算法,比照已有的樣本進行重復訓練,調整網絡內各層間的權值,直到該網絡的1/0關系在某個訓練指標下與樣本最為接近。一個典型的BP神經網絡應包含輸入層、中間層(也稱隱層)和輸出層,不同層之間相互連接,層內神經元之間無連接。其中隱含層可以為一層或多層。每一層都由互不連接的若干個神經元組成。相鄰兩層的每一個神經元之間的關系由權值所決定,權值的大小直觀地反映了兩個神經元間的連接強弱,整個BP網絡的計算流程是由輸入層-中間層-輸出層單向前進,因而屬于前向型網絡。
2.3 BP網絡原理
典型的BP網絡分為三層,即輸入層、隱含層和輸出層。其算法主要由以下四部分組成,即模式順傳播――誤差逆傳播――記憶訓練――學習收斂。
2.3.1 模式順傳播
2.3.2 誤差的逆傳播
根據輸出層產生的誤差,經中間層向輸入層傳播,在這個過程中,按照梯度下降原則對各層的權值和閾值進行誤差校正。
所以,按照梯度下降原則,可得到輸出層各單元的閾值調整量為:
(1)中間層到輸入層計算:
權值調整量計算:
按照梯度下降原則,可得到連接權值的調整量為:
閾值調整量計算:
按照梯度下降原則,可得到輸出層各單元的閾值調整量為:
以上的推導為標準差逆傳遞的算法,其中各連接權值的改變量分別與各個學習模式所對應的誤差Ek成比例變化。而相對于全局誤差
的連接權調整,需要在完成m個學習模式后統一進行,這是累積誤差逆傳遞的算法。一般來講,當樣本較少時,累積誤差傳遞算法要比標準誤差傳遞算法速度快。
2.3.3 記憶訓練
給出一組樣板反復進行學習,調整權值和閾值的大小以使輸出值滿足一定的精度要求。
2.3.4 網絡收斂
經由多次訓練,BP神經網絡的整體誤差趨向于最小值。
由于BP算法采用了按誤差函數梯度下降的方向進行收斂,因此,可能使迭代陷入局部極小點,BP網絡收斂依賴于樣本的初始位置,適當改變隱層單元個數,或給每個權值加上一個很小的隨機數,都可使收斂過程避免局部極小點。
3 結語
本文提出的基于圖像處理和BP神經網絡技術的管道缺陷識別方法,可以通過BP神經網絡完成機器視覺的學習,使管道機器人能夠自主判斷出管道內部是否存在缺陷,并進一步區分出管道接口滲漏、錯口、管道腐蝕、管身穿孔、支管、淤積、結垢、障礙物等缺陷類型,完成整個智能檢測。同時,該方法也存在一定的誤識別率,這與訓練樣本的豐富程度與待測管道的內部環境密切相關。
參考文獻
[1]張小偉,解智強,侯至群,等.一種基于BP神經網絡耦合排水管線信息的城市河道風險評價研究[J].測繪通報,2014(12):93-96.
[2]彭向前.產品表面缺陷在線檢測方法研究及系統實現[D].華中科技大學,2008.
[3]王雪梅.基于神經網絡的冷軋帶鋼表面缺陷識別分類技術研究[D].電子科技大學,2006.
[4]吳斌,齊文博,何存富,等.基于神經網絡的超聲導波鋼桿缺陷識別[J].工程力學,2013(02):470-476.
[5]童文俊.BP神經網絡在板形缺陷識別中的應用[D].江南大學,2008.
[6]劉彩紅.BP神經網絡學習算法的研究[J].西安工業大學學報,2012,32(09):723-727.
[7]弦.基于數據并行的BP神經網絡訓練算法[D].華中科技大學,2008.
[8]黃良炯.供水管道表面損傷特征提取及其評價技術研究[D].哈爾濱工業大學,2008.
[9]王賡.基于BP神經網絡的脫機手寫漢字識別研究[D].天津師范大學,2009.
[10]余本國.BP神經網絡局限性及其改進的研究[J].山西農業大學學報:自然科學版,2009,29(01):89-93.
[11]李炯城,黃漢雄.一種新的快速BP神經網絡算法――QLMBP[J].華南理工大學學報:自然科學版,2006,34(06):49-54.
[12]吳凌云.BP神經網絡學習算法的改進及其應用[J].信息技術,2003,27(07):42-44.
[13]彭松,方祖祥.BP神經網絡學習算法的聯合優化[J].電路與系統學報,2000,5(03):26-30.
篇5
關鍵詞:BP神經網絡;人臉識別;奇異值
中圖分類號:TP391 文獻標識碼:A文章編號:1007-9599 (2011) 13-0000-01
Face Recognition Based on the BP Neural Network
Liu Weiwei
(Chinese People's Public Security University,Beijing100872,China)
Abstract:In order to achieve the purpose of face recognition by classifying the feature vector of face image,a new methods for face recognition on neural networks is presented in this paper.Singular values features of face image matrix are used as features,Back-Propagation(BP)networks are used as recognition.Through the experiments,it show that the method of face recognition is reliable and have a ability of high maneuverability.
Kewwords:BP neural network;Face recognition;Singular values
一、引言
人臉識別的發展應用廣泛,利用人臉圖像進行識別身份容易被接受,具有非打擾性、直接性、唯一性。人臉識別主要是對人臉特征向量分類識別。神經網絡可以用做人臉特征的分類器。它是一種模擬人類大腦的思維方式和組織形式而建立的數學模型。具有強大的自適應、自學習、高度容錯能力,因此成功運用在模式識別和預測等領域。BP網絡是神經網絡中最完美的,采用BP神經網絡可以進行人臉特征向量識別分類。
二、BP神經網絡
BP網絡是一種單向傳播的多層前饋神經網絡,它包括一個輸入層、若干隱含層和一個輸出層,上下層之間實現全連接,而每層神經元之間沒有連接。利用BP神經網絡可以實現輸入向量 到輸出向量 的非線性映射。該網絡的前層和后層都有連接權值 ,每一層有閾值 ,這些值在初始時刻是隨機生成的。在具體的應用中,將特征值向量作為輸入向量,特征值所對應的結果作為輸出向量,BP網絡載入這些數據訓練和學習,從而對連接權值和閾值不斷進行修正,使網絡達到的最優狀態,完成網絡的學習和訓練過程,為后續的數據分類做準備。因此可以將BP神經網絡作為人臉特征向量的分類器,以達到人臉識別的目的。
三、基于BP神經網絡的人臉識別
人臉識別是基于人臉的唯一性進行識別,這里采用奇異值分解的方法提取人臉特征向量。本實驗的數據取自ORL人臉數據庫,該庫由40人、每人10幅、共400幅人臉圖像組成。這些照片包含測試者的不同面部表情。本實驗選擇兩個測試者進行識別,每個測試者的十幅圖像作為一個類,每個類的前九幅圖像的特征向量作為網絡的學習訓練樣本,第十幅圖像的特征向量作為測試數據。
(一)樣本數據的獲取
采用奇異值分解的方法提取人臉圖像的特征向量,這些特征向量作為BP網絡的學習和訓練樣本數據,對樣本數據進行歸一化后得到。例如 =(0.55650.53230.36750.40620.35990.38540.37030.3062)表示第一個測試者的第一副圖像的特征向量,在BP網絡中對應的輸出向量為(1,0)。
(二)BP神經網絡的建立
第一,確定隱含層的層數。對于一般的模式識別問題,三層網絡可以有效的解決此問題。本試驗采用三層網絡,輸入層的神經元個數為特征向量的維數n=8,隱含層的神經元個數為p=2n+1=17,輸出層的神經元個數為輸出向量的維數為m=2。隱含層神經元傳遞函數選用tansig,輸出層神經元傳遞函數選用logsig。輸出向量為(1,0)和(0,1)表示為第一個和第二個測試者。
第二,載入樣本數據學習和訓練。樣本數據包括輸入向量和輸出向量,通過學習和訓練不斷的修正網絡中的權值和閾值。訓練曲線的收斂情況如圖2.
在matlab環境下運行,采用測試樣本進行測試,實驗結果輸出為(0.98490.0027);(0.00270.9547),試驗結果接近(1,0)和(0,1),分別為一號和二號測試者,實驗達到預期結果。
圖1.訓練曲線
四、結語
運用BP人工神經網絡建立了人臉識別模型,解決了對人臉特征向量進行分類識別的問題,從而達到對人臉識別這一最終目的。識別結果表明,在小樣本空間下,運用BP神經網絡的人臉識別運算速度快、操作簡單、識別率高,BP神經網絡可以用于人臉識別系統中的識別部分,并且可以擴展到其他模式識別問題。
參考文獻:
[1]郝文化.MATLAB圖像圖像應用教程[M].中國水利水電出版社,2004
[2]邵擁軍等.基于BP神經網絡的湘西金礦成礦預測[J].中南大學學報,2007
[3]高全學等.SVD用于人臉識別存在的問題及解決方法[J].中國圖象圖形學報,2006
[4]楊天軍,張曉春等.基于BP神經網絡的城市道路交通安全評價研究[J].中國礦業大學學報,2005
篇6
【關鍵詞】彈性模量 力學分析 神經網絡 matlab
【中圖分類號】G250.72【文獻標識碼】A【文章編號】1672-5158(2013)07-0465-01
1 研究背景
本文所研究的梁的模型為伯努利梁,基于神經網絡對函數具有很好的逼近這一特性,希望能借助神經網絡獲得梁的撓度與彈性模量的對應關系。
2 問題的描述?即懸臂梁的受力模型和幾個參數是已知的,當懸臂梁采用不用的材料時,懸臂梁的變形情況是不同的,現在已知在幾種不同彈性模量E的情況下所對應的最右端的撓度值:
現在面臨的問題是,在不知道最右端撓度值和E、M、I關系的情形下,能利用的條件只有表1的一組數據,在已經測量到最右端撓度值w=0.0198的情況下,想預測材料的彈性模量E的數值。
3 BP網絡求解過程
上述問題可以通過神經網絡對數據的分析和預測來求解,利用撓度w作為網絡的輸入,E作為網絡的輸出,構建神經網絡,利用這一神經網絡來模擬w、E、M、I的相互關系,當有一個新的w輸入的情況下,神經網絡可以產生一個對應的輸出,比較這一輸出和通過計算所獲得解析解的誤差來分析神經網絡的預測能力。
用BP神經網絡求解問題的過程,可以分成如下步驟:1)原始數據輸入;2)數據的歸一化;3)網絡建立;4)對已有數據進行仿真;5)將仿真結果與實際結果對比并修正網絡;6)對新數據進行仿真。
下面給出具體程序,并對程序添加了注釋
P=[ 0.2500 0.2380 0.2270 0.2170 0.2080 0.2000 0.1920 0. 1850 0.1790 0.1720 0.1670];%以撓度w作為輸入矩陣,為了提高神經網絡隱含層函數對數據的識別能力,把撓度值w寫為w*10
T=[2.0000 2.1000 2.2000 2.3000 2.4000 2.5000 2.6000 2. 7000 2.8000 2.9000 3.0000]; %以彈性模量E作為目標矩陣,單位為E+11Pa
net=newff([0.1670 0.2500],[10 1],{’tansig’ ’purelin’});
net.trainParam.epochs=10000;
net=train(net,P,T);
x=[0.198];
y=sim(net,x)
TRAINLM, Epoch 0/10000, MSE 9.68058/0, Gradient 66. 1516/1e-010
TRAINLM, Epoch 4/10000, MSE 1.15301e-022/0, Gradient 5.68978e-012/1e-010
TRAINLM, Minimum gradient reached, performance goal was not met.
y=2.5132圖2 神經網絡訓練情況
上述y=2.5193即為神經網絡所預測得到的彈性模量數值,可以看到神經網絡僅僅訓練了4步,網絡的總體誤差為:MSE 1.15301e-022,下面分析這一網絡的預測精度。根據計算懸臂梁最右端撓度的計算公式得到
參考文獻
[1] 叢爽.面向Matlab工具箱的神經網絡理論與應用 中國科學技術大學出版社.2008.09
篇7
關于隱含層節點數的確定沒有一個明確的規定,需要進行實際的網絡訓練。隱含層節點數應選取在輸入層節點數與輸出層節點數之間,且更加靠近輸入層,這樣更有助于提高網絡收斂速度。隱含層節點數過多,會導致學習時間過長,且網絡容易訓練過度,降低網絡的總體性能。隱含層節點數過少,學習過程不收斂。因此為了選取最佳的隱含層神經元數,可以參考以下求取隱含層節點數的經驗公式。
2輸出節點的選擇
輸出節點應該對應于評價結果,因此需要先預測樣本的期望輸出。本文運用變權評價方法確定樣本的期望輸出,將風險預警程度作為預測輸出值,并設定綠燈代表風險預警程度輕,藍燈代表風險預警程度中等,黃燈代表風險預警程度較差,紅燈代表風險預警程度差。風險預警程度為[08,1]表示為綠燈,[06,08)表示為藍燈,[03,06)表示為黃燈,[0,03)表示為紅燈。
3模型應用
以俄羅斯為例,根據海外礦業投資金融風險預警指標體系,運用變權評價方法確定風險等級F,具體數據見表3。根據(2)式和(3)式進行歸一化處理,使數據在[0,1]內,具體數據見表4。對數據進行歸一化處理后進行BP神經網絡的訓練與預測。運用Matlab軟件的神經網絡對海外礦業投資金融風險預警模型進行學習訓練,以2009—2012年的為驗證樣本,2009年前10年歷史數據為訓練樣本,隱含層節點數為5,建立3層神經網絡進行運算,目標平均誤差0001,當訓練周期達到1000次時達到標準誤差。根據預警得出結論,以2012年數據為例進行預測值與實際值的對比(圖2)。可以看出,兩者的一致性比較好,預測較準確,說明網絡訓練良好,可以用于海外礦業投資金融風險的預警與分析。利用上述經過監測已經訓練好的BP神經網絡模型,對未來一些年份的俄羅斯海外礦業投資金融風險狀況進行預警分析(表5)。將實際數據值輸入BP神經網絡中進行預測,得出風險預警程度的仿真輸出,2014年和2015年的分別為0934、0953,通過(4)式反歸一化后得出2014年、2015年風險預警程度預測值分別為0649、0661,均處于藍燈的狀態下,說明俄羅斯在未來的金融風險預警還是處于較輕的程度。用BP神經網絡對2015年其他主要投資目的國家進行風險預警分析,預警輸出結果如表6。反歸一化后加拿大的風險預警程度為0679,澳大利亞的為0684,南非的為0563,印度的為0506,巴西的為0558。對應風險預警等級可以看出,加拿大和澳大利亞的風險預警等級處于藍燈的程度,說明未來幾年加拿大與澳大利亞的金融環境較為安全。南非、印度、巴西的風險預警等級都處在黃燈的程度,表明這3個國家的金融環境需要引起投資者的注意。本文來自于《資源與產業》雜志。資源與產業雜志簡介詳見
4結論
篇8
關鍵詞:BP神經網絡 動量因子法 變步長法 學習速率
1.引言
人工神經網絡(Artificial Neural Networks,ANN)是通過對人腦神經元建模、聯結模擬生物腦或世界系統的網絡模型,是一種具有學習、記憶和模式識別等智能信息處理功能的人工系統。通常研究和使用的十種神經網絡模型中,人們較多用的是Hopfield網絡、BP網絡、Kohonen網絡和ART網絡模型。其中的BP神經網絡是基于反向傳播(BackPropagation)的網絡,也是神經網絡領域中研究最多、應用最廣的網絡模型。它采用最小均方差的學習方式,可用于函數逼近及語言綜合、識別和自適應控制等。
2.標準BP神經網絡算法
BP算法作為前饋網絡的主要學習算法,對神經網絡的推廣應用起了舉足輕重的促進作用。標準的BP網絡,優化計算的方法很多,比較典型的是采用一階梯度法,即最速下降法。在BP神經網絡訓練中,主要是針對一定的輸入,所得到的輸出是否與期望輸出接近,即誤差的代價函數達到最小。其簡單的實現步驟為:(1)通過網絡輸入反向傳播;(2)通過網絡將敏感性反向傳播;(3)使用近似均方誤差的BP算法更新權值和偏置值。
標準的BP算法因具有簡單、易行、計算量小及并行性強等優點,是目前神經網絡訓練采用最多、最成熟的訓練算法。由于BP網絡中待尋優的參數太多,往往導致算法收斂速度慢。對于復雜問題,訓練過程需迭代幾千、幾萬次才能收斂到期望的精度。因此,標準的BP網絡在很大程度上實用性不強,尤其對于實時性很強的系統而言。
3.BP算法的改進
BP多層前饋網絡已成為神經網絡的重要模型之一,但實際上的BP多層前饋網絡并不是利用標準的BP算法對網絡進行訓練的,而是對BP算法進行了啟發式改進。
(1)增加動量因子法
BP算法的神經網絡的誤差曲面具有不同的區域有不同的誤差改變率的特點。假若開始訓練的學習速率較高,那么算法的收斂速度可能很快。但當迭代進入的區域包含極小點時,此時算法發散,來回振蕩,收斂不到極小值點。如果用平均改變參數的方法進行軌跡的過濾,就可以對震蕩進行平滑并可產生穩定的軌跡。當動量濾波器的參數得到了改變,獲取反向傳播的動量,使用了動量項,可以在保證算法較為穩定的前提下,在網絡訓練進入局部最小值時產生一個繼續向前的正向斜率運動,使得搜索能夠跳出較淺的峰值;當網絡搜索位于誤差曲面平坦區的區域時,該方法能夠較快地提高訓練速度。
(2)變步長法
變步長法通過調整網絡訓練的學習率,故也稱為可變學習速率的方法。BP算法中對連接權值的調整,取決于兩個因子,即學習速率和梯度。其中通過調整學習速率提高算法收斂收率的方法,是當前認為最簡單、有效的方法。學習率不能隨意選取,選得太小,收斂會變慢;選得太大,可能調整過多,使得算法振蕩或發散。所以,在對學習率進行調整時,一般遵循的準則是:首先檢查修正值,看該值是否明顯降低了誤差。如果降低了,則學習率的值選取偏小,可以作為對學習率調整的參考;否則,學習率值調整過大,就應該對該值進行減小。增加可變速率參數后,得到改進的BP算法如下:
①如果整個訓練集上的均方誤差權值在更新后增加的,且該值超過了預設的某個百分數,如:1%~5%,則不對權值進行更新。學習速率被乘以一個大于零且小于1的因子,并且動量系數被設置為0。
②如果均方誤差在權值更新后變小了,則接受權值更新。學習速度將被乘以一個大于1的因子。假若學習率被設置為0,則恢復之原來的值。
③如果均方誤差的增長變小,則權值更新被接受,但學習速度保持不變。如果學習率過去被設置為0,則恢復到以前的值。
4.實驗結果
分別對目標誤差為0.001的網絡訓練。實驗結果如下:
(1)采用標準BP網對樣本進行訓練,迭代次數近5000次尚未收斂。
(2)采用增加動量法,迭代375次,學習過程收斂。
(3)采用變步長法,迭代1728次收斂。
由此可見,未改進的標準BP學習算法存在收斂速度慢的缺陷;改進后的BP學習算法都從不同程度上提高了算法的收斂速度,訓練的次數大大減小了。對BP算法采用啟發式改進措施后,明顯提高了學習速度。
篇9
關鍵詞:模式識別;Bp神經網絡
中圖分類號:TP18 文獻標識碼:A文章編號:1009-3044(2011)07-1543-03
On BP Neural Network in Pattern Recognition Application
LIN Jia-xiang, GE Yuan
(Information Engineering College, Shanghai Maritime University, Shanghai 200135, China)
Abstract: Pattern recognition technology, widely used in all works. Automatic detection of industrial and medical equipment on the inspection of samples, military satellites detect Police, intelligence has a pivotal role. This article describes the pattern recognition based on BP neural network method. Based on the use of BP Improved neural network algorithm, will be based learning is introduced into pattern recognition, data on the sample study and training, to form a good network Contact, and finally with the already trained network to test the whole process, because to a certain accuracy, to avoid the traditional method of calculating property Weight problems.
Key words: pattern recognition; BP neural network
模式識別作為一門新的學科,從1960年代開始逐漸應用于各科技及工業領域。尤其,人臉識別、聲音識別、指紋識別、醫學診斷領域的研究應用,使模式識別成為一門熱門的學科。模式識別,研究的內容是讓機器通過學習自動識別事物。但傳統的模式識別方法,很難完成人臉識別、聲音識別等需要直接感知外界信息領域的識別任務。因此,近些年來結合神經網絡來研究模式識別成為一個新的課題。
神經科學作為一門科學起始于19世紀末。近幾十年來,神經科學和腦功能研究的發展極為迅速。人工神經網絡由于其自組織和非算法特性,在模式識別應用方面有很大的發展潛力。在神經網絡模式識別系統中,用得最廣泛的要算是BP神經網絡。1986年,Rumelhart等人在多層神經網絡模型的基礎上,提出了多層神經網絡模型的反向傳播學習算法,它是基于誤差前向傳播(Error Back Propagation,簡稱BP)算法的一種具有非線性連續轉移函數的多層前饋網絡。BP算法,解決了多層前向神經網絡的學習問題,證明了多層神經網絡具有很強的學習能力,它可以完成許多學習任務,解決了許多實際的問題。
本文主要介紹BP神經網絡在模式識別中的應用,并結合實例予以說明。
1 模式識別概述
1.1 模式識別研究內容
人類在長期的生活實踐和科學研究中,逐漸積累起來了通過感覺器官辨別不同事物的能力。例如,人們可以根據物體的形狀、顏色、質地、組成以及各部分的結構關系把不同物體區別開來;可以根據人的高矮、胖瘦、性別、年齡、膚色、臉型把不同的人區分開來。人們之所以能進行這樣的辨別,重要的原因在于不同事物具有不同的特征,包括物理特征及結構特征。由此使人們想到,如果能把事物的關鍵特征抽取出來,以不同的特征組合代表不同的事物,并且用適當的讓計算機能接受的形式表示出來,這樣就有可能使計算機具有識別能力,使它能區分不同的事物。像這樣用事物的特征所構成的數據結構就成為相應事物的模式,或者說模式是對事物定量的或結構的描述。由具有共同屬性的模式所構成的集合稱為模式類,它是一個抽象出各有關模式的共同屬性而廢棄各具體模式不同屬性的分類概念。識別能力原本是人類和其他生物的一種基本屬性,人們通過模式感知外部世界的各種事物,這是獲取知識、概念和作出反應的基礎,是一種思維和抽象過程。而在人工智能或信息科學范疇內,模式識別是指用數學、物理方法和技術實現對模式的自動處理、描述、分類和解釋,目的在于用機器部分實現人的這種智能活動,所以在目前模式識別所研究的內容可以分為兩類:一是對人類和其他生物識別能力及其機理的研究。二是對滿足某些應用需要的識別裝置的理論和技術的研究。
前者研究的內容主要涉及神經機理和認知心理等方面,往往是它的研究為后者提供理論基礎和模仿的依據。而第二個課題主要是通過工程、計算機和其他信息科學等方面的技術和知識,達到以機器模擬或局部超過人的識別能力的目的。它在技術上的提高不但驗證了前者的結論,而且為其進一步的研究提供了手段。可以看出在人工智能或信息科學范疇內,所謂的模式識別(Patten Recognition)是研究一種自動技術,依靠這種技術,機器將自動地把待識別模式根據其特征分到各自的模式類中去。
1.2 模式識別系統的結構
計算機對識別對象進行識別的過程實際上是一個決策過程,它根據一定的識別規則對識別模式的特征進行判定,從而決定它所屬的模式類。一個典型的模式識別系統,分別由數據獲取、預處理、特征提取、分類決策、和分類器設計五步驟組成。通常一個完整的系統分為兩個部分,第一部分是用來完成未知類別的模式分類。第二部分是訓練分類器設計,確定分類器各項參數。模式識別系統結構如圖1所示。
以下簡要說明模式識別系統各組成部分功能:
1)數據提取: 計算機提取的數據通常有三種類型。第一種是一維波型信息,如心電圖、氣象信息圖等。第二種是二維圖像信息,如圖片、指紋、文字等。每三種是物理參數,如氣溫參數、水文參數等。
2)數據預處理:計算機對初步提取的數據信息進行去除噪聲、復原、提取相關參數信息。
3)數據特征提取:對預處理提取的數據信息,進行變換處理,獲取反映分類本質的特征。對原始數據的高維數測量空間,進行轉換,形成反映分類識別的低維數特征空間。
4)分類器設計:對特征空間的識別對象進行分類。訓練樣本,確定分類器判別函數,并不斷改進判別函數和誤差檢驗。
2 BP神經網絡的模型
2.1 BP神經網絡的結構
BP神經網絡 (Back-Propagation) ,又稱誤差反向傳遞神經網絡。它是人工神經網絡(ANN)中的一種模型,是利用率很高的一種神經網絡,約有80%的神經網絡屬于BP神經網絡。BP神經網絡是一種依靠反饋值來不斷調整節點之間的連接權值而構建的一種網絡模型。圖2顯示了一個3層BP神經網絡的體系結構,它分為輸入層、隱含層和輸出層,其中隱含層根據具體情況的需要,可以是一層結構也可以為多層結構。
設輸入層有n個神經元節點,隱含層有q個神經元節點,輸出層有m個神經元節點。利用該網絡可實現n維輸入向量Xn=(X1,…,Xn)T到m維輸出向量Ym=(Y1,…,Ym)T的非線性映射。輸入層和輸出層的單元數n、m根據具體問題確定,而隱含層單元數q的確定尚無成熟的方法,一般可設定不同的q值根據訓練結果來進行選擇。
BP神經網絡結構(n、q、m)確定后,神經網絡還包括的參數有:
wij:輸入層第i單元到隱含層第i單元的權重,其中i=1,…,n;j=1,…,q。
wjk:隱含層第j單元到輸出層第k單元的權重,其中j=1,…,n;k=1,…,m。
θj:隱含層第j單元的激活閾值,j=1,…,q。
θk:輸出層第k單元的激活閾值,k=1,…,m。
以上權重和閾值的初值在網絡訓練之前隨機生成。
f(x):激活函數一般采用Sigmoid型函數,即f(x)1/[1+exp(-x)]。
2.2 BP神經網絡的學習算法
2.2.1 BP神經網絡的學習過程
1)輸入模式正向傳播:輸入模式由輸入層經中間層向輸出層的模式正向傳播過程。
2)輸出誤差反向傳播:網絡的期望輸出與網絡實際輸出之間的誤差,由輸出層經中間層傳向輸入層的誤差反向傳播過程。
3)循環記憶訓練:模式正向傳播與誤差反向傳播的計算過程反復交替循環進行。
4)學習結果判別:判定網絡的全局誤差是否趨向極小值的學習收斂過程。
2.2.2 BP算法
3層BP神經網絡,輸入節點xi,隱層節點yj,輸出節點zk。輸入節點與隱層節點間的網絡權值為wij,隱層節點與輸出節點間的網絡權值為wjk,如圖3所示。
當輸出節點的期望值為dk時,BP算法如下:
1)隱含層節點的計算輸出:
2)輸出層節點的計算輸出:
輸出節點誤差為:
3)輸出單元的權值對誤差的影響:
4)隱含層節點對誤差函數的影響:
5)由于權值的修正Δwij,Δwij正比于誤差函數沿梯度下降,則有:
6)閾值的修正。閾值θ也是變化值,在修正權值的同時也需要修正,原理同權值修正一樣。
輸出層閾值修正:θk(t+1)= θk(t)+ ηδk
隱含層閾值修正:θj(t+1)= θj(t)+ η'δj
傳遞函數f(x)的導數:采用S型函數f(x)=1/(1+e-x)
f'(netk)=zk(1-zk),f'(netj)=yj(1-yj)
以上式子中出現的η(η>0)為學習參數。
3 應用BP神經網絡進行字符特征識別的仿真實驗
運用matlab7.0建立BP神經網絡,并通過樣本訓練,完成對26個英文字母的識別仿真實驗。
3.1 建立BP網絡
通過5*7像素的二值數字圖像來表示英文字母的對應圖像。以字符的35個布爾數值作為BP網絡輸入。以26個字符的所在位置作為輸出向量。現實中的字符圖像不一定很精確,所以要求BP網絡要有一定的容錯能力。
利用newff函數設計一個兩層的BP神經網絡。以logsig傳遞函數,建立第一、第二層的神經元。
3.2 訓練BP神經網絡
設定訓練函數和訓練樣本。先使用無噪聲的信號對BP網絡進行訓練,一直到1000個時間單位和誤差小于0.1時,完成BP網絡訓練。BP網絡訓練的誤差變化情況如圖4所示。
再對BP網絡進行含噪聲的樣本訓練,重復訓練10次。使含噪聲樣本訓練后的BP網絡可以準確識別無噪聲或含噪聲的輸入樣本。
3.3 進行仿真實驗并測試輸出
利用輸入樣本,對BP網絡進行仿真。仿真實驗測試結果如圖5所示。
圖5中,虛線表示無噪聲樣本訓練的網絡,實線表示含噪聲樣本訓練的網絡。從圖可以看到,輸入噪聲指標低于0.1情況時,兩個網絡對字符識別的能力都很高。當輸入噪聲指標大于0.1的情況下,經過含噪聲樣本訓練的網絡,容錯能力比較高。因此,網絡訓練中增加噪聲樣本的比重可以提高網絡的容錯能力。
4 小結
BP(Back Propagation)神經網絡,是能實現映射變換的前饋網絡中最常用的一類網絡,它是一種典型的誤差修正方法,具有理論上能逼近任意非線性連續函數的能力,且結構簡單,易于編程,在眾多的領域得到了廣泛的應用。本文應用matlab建立BP神經網絡,并通過樣本訓練,仿真對字符的識別。從中可知,相對于傳統模式識別方法,BP神經網絡對字符識別準確度高,容錯能力強。BP神經網絡在模式識別中應用十分廣泛,但也存在一些問題有待解決:1)局部極小點問題。BP神經網絡不能保證使權值收斂于全局最小點;2)收斂速度問題。對于復雜的問題,網絡訓練時間較長;3)穩定性問題。增加訓練樣本,網絡對訓練好的權值和閾值無記憶能力,要重新開始訓練。
參考文獻:
[1] Theodoridis S,Koutrourmbas K.模式識別[M].北京:機械工業出版社,2009.
[2] 邊肇祺,張學工.模式識別[M].北京:清華大學出版社,2000.
[3] 丁永生.計算智能-理論、技術與應用[M].北京:科學出版社,2004.
[4] 褚蕾蕾,陳綏陽,周夢.計算智能的數學基礎[M].北京:科學出版社,2002
篇10
關鍵詞BP神經網絡;汽車故障率;神經元;梯度下降
中圖分類號U2 文獻標識碼A 文章編號2095―6363(2017)03―0063―02
隨著互聯網、數據庫、云計算、移動通信技術的快速發展和進步,促進了其在多領域得到廣泛普及,開發電子政務、電子商務、在線學習、物流倉儲、智能家居、金融證券等領域得到廣泛普及和使用,已經積累了海量的應用數據資源,并且持續呈現幾何級數增長。汽車是信息化普及和使用的一個重要方向,汽車生產制造、保養修復、運行監控等都開發了先進的智能管理系統,這些系統運行也積累了海量數據,可以采用分類算法挖掘潛在有價值信息,形成一個個的數據類別,這些數據類別內部具有高度相似性,類別之間高度相異,因此就可以根據用戶輸入的信息主體劃分數據資源,提供一個合理的知識解釋和決策信息。
1 BP神經網絡理論
目前,汽車故障數據分析主要包括2個類別,一是有監督學習方法,比如BP神經網絡、支持向量機、貝葉斯理論;一種是無監督學習方法,比如譜聚類、密度聚類、K均值、信息等方法。有監督大數據分析方法需要利用人們的經驗,預先構建一個分析模型,然后盡可能提高這個學習模型的準確性,從而保證類別分析的精確度;無監督學習方法卻不需要任何先驗知識,系統自動的將數據按照不同的關注角度進行分類。
BP神經網絡能夠按照統計學規則,實現誤差逆傳播,是一種多層次的前饋神經網絡,目前已經在多個機器學習和模式識別領域得到廣泛普及。BP神經網絡可以學習和存儲海量的數據信息,并且經過自學習形成一個強大的支持網絡結構,并且利用當前最為流行的梯度下降方法,不斷調整網絡的結構、權值和閾值,降低網絡的誤差平方和,準確提取相關的數據隱含模式信息。汽車運行數據處理過程中,輸入層可以接收所有數據,并且將這些數據傳輸給中間層的神經元,神經元可以負責數據信息處理、變換,并且能夠根據信息變化能力的需求,改變和整合中間層結構汽車運行數據流經過識別和處理之后,就可以從中間層分發到輸出層,這樣就可以完成一次學習過程,將BP神經網絡訓練成為一個準確度非常高的模型,還可以通過誤差梯度下降等修正各個層次的權值,向隱藏層逐級反饋,實現反向傳播和修正,提高汽車運行數據識別精確度。
2汽車故障率預測模型設計
汽車故障是指企業部分組件或全部組件喪失工作能力,也即是零部件機器相互配合的狀態發生了異常變化,汽車故障廣泛地發生于生產制造、運行使用、修理維護等全過程,因此每一個環節都需要非常小心和注意,尤其是在汽車使用故障發生時,一定要及時發現故障類型,及時排除故障內容,才能夠保證汽車使用中盡量降低事故發生率。目前,汽車故障形成具有很多原因,具體原因如下所述。
1)汽車組成部件自身質量差異。汽車及其自身組件由于生產廠家、生產批次均不同,因此不可避免的存在許多質量差異,原廠配件在使用過程中將會出現很多問題,協作廠和不合格的配件裝配到汽車上之后將會出現很多問題,對于不同批次、規格相同的部件來講,可以將其劃分為好中差3個層次,權值因子設置為0.95、0.8和0.6。
2)汽車消耗品質量差異。汽車運行中,消耗品包括燃油、油等,這些消耗品的自身質量將會影響汽車運行性能和使用壽命,非常容易的導致企業發生故障。目前汽車常用的燃油包括90#、95#和97#。
3)汽車使用環境影響。汽車使用環境復雜,路面易發生各類型事故,同時山區、城市、丘陵等地帶由于地勢不同,耗費的動力也是不同,汽車使用環境復雜多變,容易誘發汽車故障,將使用環境劃分為3個方面,分別是好良中,權值因子設置為I/0.8和0.5。
4)汽車故障診斷和維修的影響。汽車運行中,需要定期對其進行保養,以便能夠準確診斷故障,才能夠將這些內容修復完畢。汽車運行維護、故障診斷、維修服務中需要較高的技術,因此為了提高這些技術產品的應用性,可以將汽車定期維護程度劃分為多個時間長短的內容,分別是0-3/4-6/7-9三個階段。
5)汽車的自然損耗。汽車各個組件會隨著運行公里的增加逐漸衰弱,汽車自燃損耗越多,產生故障的概率就越大,因此汽車的自然損耗也是一個關鍵因素。
基于BP神經網絡的汽車故障率預測模式可以利用管理系統、傳感器等采集上述5個方面的數據信息,將這些信息輸入到BP網絡的輸入層,輸入層接收道數據之后,將其按照權值因子進行整合,輸入到隱藏層網絡,隱藏藏網絡利用梯度下降、多層反饋等關鍵技術,對BP神經網絡進行訓練和學習,通過對此類標簽對比,不斷擬合調整網絡權值,形成一個強大的故障率預測網絡結構,這樣就可以準確預測網絡結構,將其輸出到顯示器上,具體的BP神經網絡運行如圖1所示。