天天看點

bp神經網絡預測模型執行個體,bp神經網絡模型的建立

bp神經網絡預測模型執行個體,bp神經網絡模型的建立

如何建立bp神經網絡預測 模型

建立BP神經網絡預測模型,可按下列步驟進行:1、提供原始資料2、訓練資料預測資料提取及歸一化3、BP網絡訓練4、BP網絡預測5、結果分析現用一個實際的例子,來預測2015年和2016年某地區的人口數。

已知2009年——2014年某地區人口數分别為3583、4150、5062、4628、5270、5340萬人執行BP_main程式,得到[2015, 5128.呵呵3946380615234375][2016,5100.5797325642779469490051269531]代碼及圖形如下。

谷歌人工智能寫作項目:小發貓

bp神經網絡預測模型執行個體,bp神經網絡模型的建立

傷寒、副傷寒流行預測模型(BP神經網絡)的建立

由于目前研究的各種數學模型或多或少存在使用條件的局限性,或使用方法的複雜性等問題,預測效果均不十分理想,距離實際應用仍有較大差距rfid。

NNT是Matlab中較為重要的一個工具箱,在實際應用中,BP網絡用的最廣泛。

神經網絡具有綜合能力強,對資料的要求不高,适時學習等突出優點,其操作簡便,節省時間,網絡初學者即使不了解其算法的本質,也可以直接應用功能豐富的函數來實作自己的目的。

是以,易于被基層機關預防工作者掌握和應用。

以下幾個問題是建立理想的因素與疾病之間的神經網絡模型的關鍵:(1)資料選取應盡可能地選取所研究地區系統連續的因素與疾病資料,最好包括有疾病高發年和疾病低發年的資料。

在收集影響因素時,要抓住主要影響傷寒、副傷寒的發病因素。

(2)疾病發病率分級神經網絡預測法是按發病率高低來進行預測,在定義發病率等級時,要結合專業知識及當地情況而定,并根據網絡學習訓練效果而适時調整,以使網絡學習訓練達到最佳效果。

(3)資料處理問題在實踐中發現,資料的特征往往很大程度地影響網絡學習和訓練的穩定性,是以,資料的應用、納入、排出問題有待于進一步研究。

6.3.1人工神經網絡的基本原理人工神經網絡(ANN)是近年來發展起來的十分熱門的交叉學科,它涉及生物、電子、計算機、數學和實體等學科,有着廣泛的應用領域。

人工神經網絡是一種自适應的高度非線性動力系統,在網絡計算的基礎上,經過多次重複組合,能夠完成多元空間的映射任務。

神經網絡通過内部連接配接的自組織結構,具有對資料的高度自适應能力,由計算機直接從執行個體中學習擷取知識,探求解決問題的方法,自動建立起複雜系統的控制規律及其認知模型。

人工神經網絡就其結構而言,一般包括輸入層、隐含層和輸出層,不同的神經網絡可以有不同的隐含層數,但他們都隻有一層輸入和一層輸出。

神經網絡的各層又由不同數目的神經元組成,各層神經元數目随解決問題的不同而有不同的神經元個數。

6.3.2BP神經網絡模型BP網絡是在1985年由PDP小組提出的反向傳播算法的基礎上發展起來的,是一種多層次回報型網絡(圖6.17),它在輸入和輸出之間采用多層映射方式,網絡按層排列,隻有相鄰層的節點直接互相連接配接,傳遞之間資訊。

在正向傳播中,輸入資訊從輸入層經隐含層逐層處理,并傳向輸出層,每層神經元的狀态隻影響下一層神經元的狀态。

如果輸出層不能得到期望的輸出結果,則轉入反向傳播,将誤差信号沿原來的連同通路傳回,通過修改各層神經元的權值,使誤差信号最小。

BP網絡的學習算法步驟如下(圖6.18):圖6.17BP神經網絡示意圖圖6.18BP算法流程圖第一步:設定初始參數ω和θ,(ω為初始權重,θ為臨界值,均随機設為較小的數)。

第二步:将已知的樣本加到網絡上,利用下式可算出他們的輸出值yi,其值為岩溶地區地下水與環境的特殊性研究式中:xi為該節點的輸入;ωij為從I到j的聯接權;θj為臨界值;yj為實際算出的輸出資料。

第三步:将已知輸出資料與上面算出的輸出資料之差(dj-yj)調整權系數ω,調整量為ΔWij=ηδjxj式中:η為比例系數;xj為在隐節點為網絡輸入,在輸出點則為下層(隐)節點的輸出(j=1,2…,n);dj為已知的輸出資料(學習樣本訓練資料);δj為一個與輸出偏差相關的值,對于輸出節點來說有δj=ηj(1-yj)(dj-yj)對于隐節點來說,由于它的輸出無法進行比較,是以經過反向逐層計算有岩溶地區地下水與環境的特殊性研究其中k指要把上層(輸出層)節點取遍。

誤差δj是從輸出層反向逐層計算的。各神經元的權值調整後為ωij(t)=ωij(t-1)+Vωij式中:t為學習次數。

這個算法是一個疊代過程,每一輪将各W值調整一遍,這樣一直疊代下去,知道輸出誤差小于某一允許值為止,這樣一個好的網絡就訓練成功了,BP算法從本質上講是把一組樣本的輸入輸出問題變為一個非線性優化問題,它使用了優化技術中最普遍的一種梯度下降算法,用疊代運算求解權值相當于學習記憶問題。

6.3.3BP神經網絡模型在傷寒、副傷寒流行與傳播預測中的應用傷寒、副傷寒的傳播與流行同環境之間有着一定的聯系。

根據桂林市1990年以來鄉鎮為機關的傷寒、副傷寒疫情資料,傷寒、副傷寒疫源地資料,結合現有資源與環境背景資料(桂林市行政區劃、土壤、氣候等)和社會經濟資料(經濟、人口、生活習慣等統計資料)建立人工神經網絡數學模型,來逼近這種規律。

6.3.3.1模型建立(1)神經網絡的BP算法BP網絡是一種前饋型網絡,由1個輸入層、若幹隐含層和1個輸出層構成。

如果輸入層、隐含層和輸出層的單元個數分别為n,q1,q2,m,則該三層網絡網絡可表示為BP(n,q1,q2,m),利用該網絡可實作n維輸入向量Xn=(X1,X2,…,Xn)T到m維輸出向量Ym=(Y1,Y2,…,Ym)T的非線性映射。

輸入層和輸出層的單元數n,m根據具體問題确定。

(2)樣本的選取将模型的輸入變量設計為平均溫度、平均降雨量、岩石性質、岩溶發育、地下水類型、飲用水類型、正規自來水供應比例、集中供水比例8個輸入因子(表6.29),輸出單元為傷寒副傷寒的發病率等級,共一個輸出單元。

其中q1,q2的值根據訓練結果進行選擇。表6.29桂林市傷寒副傷寒影響因素量化表通過分析,選取在傷寒副傷寒有代表性的縣鎮在1994~2001年的環境參評因子作為樣本進行訓練。

利用聚類分析法對疫情進行聚類分級(Ⅰ、Ⅱ、Ⅲ、Ⅳ),傷寒副傷寒發病最進階為Ⅳ(BP網絡中輸出定為4),次之的為Ⅲ(BP網絡中輸出定為3),以此類推,最低為Ⅰ(BP網絡中輸出定為1)(3)資料的歸一化處理為使網絡在訓練過程中易于收斂,我們對輸入資料進行了歸一化處理,并将輸入的原始資料都化為0~1之間的數。

如将平均降雨量的資料乘以0.0001;将平均氣溫的資料乘以0.01;其他輸入資料也按類似的方法進行歸一化處理。

(4)模型的算法過程假設共有P個訓練樣本,輸入的第p個(p=1,2,…,P)訓練樣本資訊首先向前傳播到隐含單元上。

經過激活函數f(u)的作用得到隐含層1的輸出資訊:岩溶地區地下水與環境的特殊性研究經過激活函數f(u)的作用得到隐含層2的輸出資訊:岩溶地區地下水與環境的特殊性研究激活函數f(u)我們這裡采用Sigmoid型,即f(u)=1/[1+exp(-u)](6.5)隐含層的輸出資訊傳到輸出層,可得到最終輸出結果為岩溶地區地下水與環境的特殊性研究以上過程為網絡學習的資訊正向傳播過程。

另一個過程為誤差反向傳播過程。

如果網絡輸出與期望輸出間存在誤差,則将誤差反向傳播,利用下式來調節網絡權重和門檻值:岩溶地區地下水與環境的特殊性研究式中:Δω(t)為t次訓練時權重和門檻值的修正;η稱為學習速率,0<η<1;E為誤差平方和。

岩溶地區地下水與環境的特殊性研究反複運用以上兩個過程,直至網絡輸出與期望輸出間的誤差滿足一定的要求。該模型算法的缺點:1)需要較長的訓練時間。

由于一些複雜的問題,BP算法可能要進行幾小時甚至更長的時間的訓練,這主要是由于學習速率太小造成的,可采用變化的學習速率或自适應的學習速率加以改進。2)完全不能訓練。

主要表現在網絡出現的麻痹現象上,在網絡的訓練過程中,當其權值調的過大,可能使得所有的或大部分神經元的權重總和n偏大,這使得激活函數的輸入工作在S型轉移函數的飽和區,進而導緻其導數f′(n)非常小,進而使得對網絡權值的調節過程幾乎停頓下來。

3)局部極小值。BP算法可以使網絡權值收斂到一個解,但它并不能保證所求為誤差超平面的全局最小解,很可能是一個局部極小解。

這是因為BP算法采用的是梯度下降法,訓練從某一起點沿誤差函數的斜面逐漸達到誤差的最小值。

考慮到以上算法的缺點,對模型進行了兩方面的改進:(1)附加動量法為了避免陷入局部極小值,對模型進行了改進,應用了附加動量法。

附加動量法在使網絡修正及其權值時,不僅考慮誤差在梯度上的作用,而且考慮在誤差曲面上變化趨勢的影響,其作用如同一個低通濾波器,它允許網絡忽略網絡上的微小變化特性。

在沒有附加動量的作用下,網絡可能陷入淺的局部極小值,利用附加動量的作用則有可能滑過這些極小值。

該方法是在反向傳播法的基礎上在每一個權值的變化上加上一項正比于前次權值變化量的值,并根據反向傳播法來産生心的權值變化。

促使權值的調節向着誤差曲面底部的平均方向變化,進而防止了如Δω(t)=0的出現,有助于使網絡從誤差曲面的局部極小值中跳出。

這種方法主要是把式(6.7)改進為岩溶地區地下水與環境的特殊性研究式中:A為訓練次數;a為動量因子,一般取0.95左右。

訓練中對采用動量法的判斷條件為岩溶地區地下水與環境的特殊性研究(2)自适應學習速率對于一個特定的問題,要選擇适當的學習速率不是一件容易的事情。

通常是憑經驗或實驗擷取,但即使這樣,對訓練開始初期功效較好的學習速率,不見得對後來的訓練合适。

是以,為了盡量縮短網絡所需的訓練時間,采用了學習速率随着訓練變化的方法來找到相對于每一時刻來說較差的學習速率。

下式給出了一種自适應學習速率的調整公式:岩溶地區地下水與環境的特殊性研究通過以上兩個方面的改進,訓練了一個比較理想的網絡,将動量法和自适應學習速率結合起來,效果要比單獨使用要好得多。

6.3.3.2模型的求解與預測采用包含了2個隐含層的神經網絡BP(4,q1,q2,1),隐含層單元數q1,q2與所研究的具體問題有關,目前尚無統一的确定方法,通常根據網絡訓練情況采用試錯法确定。

在滿足一定的精度要求下一般認小的數值,以改善網絡的概括推論能力。

在訓練中網絡的收斂采用輸出值Ykp與實測值tp的誤差平方和進行控制:岩溶地區地下水與環境的特殊性研究1)将附加動量法和自适應學習速率結合應用,分析桂林市36個鄉鎮地質條件各因素對傷寒副傷寒發病等級的影響。

是以訓練樣本為36個,第一個隐含層有19個神經元,第二個隐含層有11個神經元,學習速率為0.001。A.程式(略)。B.網絡訓練。

在指令視窗執行運作指令,網絡開始學習和訓練,其學習和訓練過程如下(圖6.19)。圖6.19神經網絡訓練過程圖C.模型預測。

a.輸入未參與訓練的鄉鎮(洞井鄉、兩水鄉、延東鄉、四塘鄉、嚴關鎮、靈田鄉)地質條件資料。b.預測。程式運作後網絡輸出預測值a3,與已知的實際值進行比較,其預測結果整理後見(表6.30)。

經計算,對6個鄉鎮傷寒副傷寒發病等級的預測符合率為83.3%。表6.30神經網絡模型預測結果與實際結果比較c.地質條件改進方案。

在影響疾病發生的地質條件中,大部分地質條件是不會變化的,而改變發病地區的飲用水類型是可以人為地通過改良措施加以實施的一個因素。

是以,以靈田鄉為例對發病率較高的鄉鎮進行分析,改變其飲用水類型,來看發病等級的變化情況。

表6.31顯示,在其他地質條件因素不變的情況下,改變當地的地下水類型(從原來的岩溶水類型改變成基岩裂隙水)則将發病等級從原來的最進階4級,下降為較低的2級,效果是十分明顯的。

是以,今後在進行傷寒副傷寒疾病防治的時候,可以通過改變高發區飲用水類型來客觀上減少疫情的發生。

表6.31靈田鄉改變飲用水類型前後的預測結果2)選取桂林地區1994~2000年月平均降雨量、月平均溫度作為輸入資料矩陣,進行樣本訓練,設定不同的隐含層單元數,對各月份的資料進行BP網絡訓練。

在隐含層單元數q1=13,q2=9,經過46383次數的訓練,誤差達到精度要求,學習速率0.02。A.附加動量法程式(略)。B.網絡訓練。

在指令視窗執行運作指令,網絡開始學習和訓練,其學習和訓練過程如下(圖6.20)。C.模型預測。a.輸入桂林市2001年1~12月桂林市各月份的平均氣溫和平均降雨量。預測程度(略)。b.預測。

程式運作後網絡輸出預測值a2,與已知的實際值進行比較,其預測結果整理後見(表6.32)。經計算,對2001年1~12月傷寒副傷寒發病等級進行預測,12個預測結果中,有9個符合,符合率為75%。

圖6.20神經網絡訓練過程圖表6.32神經網絡模型預測結果與實際值比較6.3.3.3模型的評價本研究采用BP神經網絡對傷寒、副傷寒發病率等級進行定量預測,一方面引用數量化理論對不确定因素進行量化處理;另一方面利用神經網絡優點,充分考慮各影響因素與發病率之間的非線性映射。

實際應用表明,神經網絡定量預測傷寒、副傷寒發病率是理想的。其主要優點有:1)避免了模糊或不确定因素的分析工作和具體數學模型的建立工作。2)完成了輸入和輸出之間複雜的非線性映射關系。

3)采用自适應的資訊處理方式,有效減少人為的主觀臆斷性。雖然如此,但仍存在以下缺點:1)學習算法的收斂速度慢,通常需要上千次或更多,訓練時間長。2)從數學上看,BP算法有可能存在局部極小問題。

本模型具有廣泛的應用範圍,可以應用在很多領域。從上面的結果可以看出,實際和網絡學習資料總體較為接近,演化趨勢也基本一緻。

說明標明的氣象因子、地質條件因素為神經單元獲得的傷寒、副傷寒發病等級與實際等級比較接近,進而證明傷寒、副傷寒流行與地理因素的确存在較密切的相關性。

極端氣溫、降雨-洪水模型(BP神經網絡)的建立

極端氣溫、降雨與洪水之間有一定的聯系。

根據1958~2007年廣西西江流域極端氣溫、極端降雨和梧州水文站洪水資料,以第5章相關分析所确定的顯著影響梧州水文站年最大流量的測站的相應極端氣候因素(表4.22)為輸入,建立人工神經網絡模型。

4.5.1.1BP神經網絡概述(1)基于BP算法的多層前饋網絡模型采用BP算法的多層前饋網絡是至今為止應用最廣泛的神經網絡,在多層的前饋網的應用中,如圖4.20所示的三層前饋網的應用最為普遍,其包括了輸入層、隐層和輸出層。

圖4.20典型的三層BP神經網絡結構在正向傳播中,輸入資訊從輸入層經隐含層逐層處理,并傳向輸出層。

如果輸出層不能得到期望的輸出結果,則轉入反向傳播,将誤差信号沿原來的連同通路傳回,通過修改各層神經元的權值,使得誤差最小。BP算法流程如圖4.21所示。

圖4.21BP算法流程圖容易看出,BP學習算法中,各層權值調整均由3個因素決定,即學習率、本層輸出的誤差信号以及本層輸入信号y(或x)。

其中,輸出層誤差信号同網絡的期望輸出與實際輸出之差有關,直接反映了輸出誤差,而各隐層的誤差信号與前面各層的誤差信号都有關,是從輸出層開始逐層反傳過來的。

1988年,Cybenko指出兩個隐含層就可表示輸入圖形的任意輸出函數。

如果BP網絡隻有兩個隐層,且輸入層、第一隐含層、第二隐層和輸出層的單元個數分别為n,p,q,m,則該網絡可表示為BP(n,p,q,m)。

(2)研究區極端氣溫、極端降雨影響年最大流量過程概化極端氣溫、極端降雨影響年最大流量的過程極其複雜,從極端降雨到年最大流量,中間要經過蒸散發、分流、下滲等環節,受到地形、地貌、下墊面、土壤地質以及人類活動等多種因素的影響。

可将一個極端氣候-年最大流量間複雜的水過程概化為小尺度的水系統,該水系統的主要影響因子可通過對年最大流量影響顯著的站點的極端氣溫和極端降雨展現出來,而其中影響不明顯的站點可忽略,進而使問題得以簡化。

BP神經網絡是一個非線形系統,可用于逼近非線形映射關系,也可用于逼近一個極為複雜的函數關系。極端氣候-年最大流量水系統是一個非常複雜的映射關系,可将之概化為一個系統。

BP神經網絡與研究流域的極端氣候-年最大流量水系統的結構是相似的,利用BP神經網絡,對之進行模拟逼近。

(3)隐含層單元數的确定隐含層單元數q與所研究的具體問題有關,目前尚無統一的确定方法,通常根據網絡訓練情況采用試錯法确定。

在訓練中網絡的收斂采用輸出值Ykp與實測值tp的誤差平方和進行控制變環境條件下的水資源保護與可持續利用研究作者認為,雖然現今的BP神經網絡還是一個黑箱模型,其參數沒有水文實體意義,在本節的研究過程中,将嘗試着利用極端氣候空間分析的結果來指導隐含層神經元個數的選取。

(4)傳遞函數的選擇BP神經網絡模型算法存在需要較長的訓練時間、完全不能訓練、易陷入局部極小值等缺點,可通過對模型附加動量項或設定自适應學習速率來改良。

本節采用MATLAB工具箱中帶有自适應學習速率進行反向傳播訓練的traingdm( )函數來實作。

(5)模型資料的歸一化處理由于BP網絡的輸入層實體量及數值相差甚遠,為了加快網絡收斂的速度,使網絡在訓練過程中易于收斂,對輸入資料進行歸一化處理,即将輸入的原始資料都化為0~1之間的數。

本節将年極端最高氣溫的資料乘以0.01;将極端最低氣溫的資料乘以0.1;年最大1d、3d、7d降雨量的資料乘以0.001;梧州水文站年最大流量的資料乘以0.00001,其他輸入資料也按類似的方法進行歸一化處理。

(6)年最大流量的修正梧州水文站以上的流域集水面積為32.70萬km2,廣西境内流域集水面積為20.24萬km2,廣西境内流域集水面積占梧州水文站以上的流域集水面積的61.91%。

是以,選取2003~2007年梧州水文站年最大流量和紅水河的天峨水文站年最大流量,分别按式4.10計算每年的貢獻率(表4.25),取其平均值作為廣西西江流域極端降雨對梧州水文站年最大流量的平均貢獻率,最後确定平均貢獻率為76.88%。

變環境條件下的水資源保護與可持續利用研究表4.252003~2007年極端降雨對梧州水文站年最大流量的貢獻率建立“年極端氣溫、降雨與梧州年最大流量模型”時,應把平均貢獻率與梧州水文站年最大流量的乘積作為模型輸入的修正年最大流量,而預測的年最大流量應該為輸出的年最大流量除以平均貢獻率76.88%,以克服極端氣溫和降雨研究範圍與梧州水文站集水面積不一緻的問題。

4.5.1.2年極端氣溫、年最大1d降雨與梧州年最大流量的BP神經網絡模型(1)模型的建立以1958~1997年年極端最高氣溫、年極端最低氣溫、年最大1d降雨量與梧州水文站年最大流量作為學習樣本拟合、建立“年極端氣溫、年最大1d降雨-梧州年最大流量BP神經網絡模型”。

以梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,榜圩、馬隴、三門、黃冕、沙街、勾灘、天河、百壽、河池、貴港、金田、平南、大化、桂林、修仁、五将雨量站的年最大1d降雨量為輸入,梧州水文站年最大流量為輸出,隐含層層數取2,建立(19,p,q,1)BP神經網絡模型,其中神經元數目p,q經試算分别取16和3,第一隐層、第二隐層的神經元采用tansig傳遞函數,輸出層的神經元采用線性傳遞函數,訓練函數選用traingdm,學習率取0.1,動量項取0.9,目标取0.0001,最大訓練次數取200000。

BP網絡模型參數見表4.26,結構如圖4.22所示。

圖4.22年極端氣溫、年最大1d降雨-梧州年最大流量BP模型結構圖表4.26BP網絡模型參數一覽表從結構上分析,梧州水文站年最大流量産生過程中,年最高氣溫、年最低氣溫和各支流相應的流量都有其門檻值,而極端氣溫和極端降雨是其輸入,年最大流量是其輸出,這類似于人工神經元模型中的門檻值、激活值、輸出等器件。

輸入年最大1d降雨時選用的雨量站分布在14條支流上(表4.27),極端降雨發生後,流經14條支流彙入梧州,在這一過程中極端氣溫的變化影響極端降雨的蒸散發,選用的雨量站分布在年最大1d降雨四個自然分區的Ⅱ、Ⅲ、Ⅳ3個區。

該過程可與BP神經網絡結構進行類比(表4.28),其中,14條支流相當于第一隐含層中的14個神經元,年最高氣溫和年最低氣溫相當于第一隐含層中的2個神經元,年最大1d降雨所在的3個分區相當于第二隐含層的3個神經元,年最高氣溫、年最低氣溫的影響值和各支流流量的奉獻值相當于隐含層中人工神經元的門檻值,從整體上來說,BP神經網絡的結構已經灰箱化。

表4.27選用雨量站所在支流一覽表表4.28BP神經網絡構件實體意義一覽表(2)訓練效果分析訓練樣本為40個,經過113617次訓練,達到精度要求。

在指令視窗執行運作指令,網絡開始學習和訓練,其訓練過程如圖4.23所示,訓練結果見表4.29和圖4.24。

表4.29年最大流量訓練結果圖4.23神經網絡訓練過程圖圖4.24年最大流量神經網絡模型訓練結果從圖4.26可知,訓練後的BP網絡能較好地逼近給定的目标函數。

從訓練樣本檢驗結果(表4.5)可得:1958~1997年40年中年最大流量模拟值與實測值的相對誤差小于10%和20%的分别為39年,40年,合格率為100%。

說明“年極端氣溫、年最大1d降雨-梧州年最大流量預測模型”的實際輸出與實測結果誤差很小,該模型的泛化能力較好,模拟結果較可靠。

(3)模型預測檢驗把1998~2007年梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,榜圩、馬隴、三門、黃冕、沙街、勾灘、天河、百壽、河池、貴港、金田、平南、大化、桂林、修仁、五将雨量站的年最大1d降雨量輸入到“年極端氣溫、年最大1d降雨梧州年最大流量BP神經網絡模型”。

程式運作後網絡輸出預測值與已知的實際值進行比較,其預測檢驗結果見圖4.25,表4.30。

圖4.25年最大流量神經網絡模型預測檢驗結果表4.30神經網絡模型預測結果與實際結果比較從預測檢驗結果可知:1998~2007年10年中年最大流量模拟值與實測值的相對誤差小于20%的為9年,合格率為90%,效果較好。

4.5.1.3年極端氣溫、年最大7d降雨與梧州年最大流量的BP神經網絡模型(1)模型的建立以1958~1997年年極端最高氣溫、年極端最低氣溫、年最大7d降雨量和梧州水文站年最大流量作為學習樣本來拟合、建立“年極端氣溫、年最大7d降雨-梧州年最大流量BP神經網絡模型”。

以梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,鳳山、都安、馬隴、沙街、大湟江口、大安、大化、陽朔、五将雨量站的年最大7d降雨量為輸入,梧州水文站年最大流量為輸出,隐含層層數取2,建立(12,p,q,1)BP神經網絡模型,其中,神經元數目p,q經試算分别取10和4,第一隐層、第二隐層的神經元采用tansig傳遞函數,輸出層的神經元采用線性傳遞函數,訓練函數選用traingdm,學習率取0.1,動量項取0.9,目标取0.0001,最大訓練次數取200000。

BP網絡模型參數見表4.31,結構如圖4.26所示。

表4.31BP網絡模型參數一覽表圖4.26年極端氣溫、年最大7d降雨-梧州年最大流量BP模型結構圖本節輸入年最大7d降雨時選用的雨量站分布在8條支流上(表4.32),在發生極端降雨後,流經8條支流彙入梧州,在這一過程中極端氣溫的變化影響極端降雨的蒸散發,且選用的雨量站分布在年最大7d降雨四個自然分區的Ⅰ、Ⅱ、Ⅲ、Ⅳ4個區中。

該過程可與BP神經網絡結構進行類比(表4.33),其中,8條支流相當于第一隐含層中的8個神經元,年最高氣溫和年最低氣溫相當于第一隐含層中的2個神經元,年最大7d降雨所在的4個分區相當于第二隐含層的4個神經元,整體上來說,BP神經網絡的結構已經灰箱化。

表4.32選用雨量站所在支流一覽表表4.33BP神經網絡構件實體意義一覽表(2)訓練效果分析訓練樣本為40個,經過160876次的訓練,達到精度要求,在指令視窗執行運作指令,網絡開始學習和訓練,其訓練過程如圖4.27所示,訓練結果見表4.34,圖4.28。

圖4.27神經網絡訓練過程圖表4.34年最大流量訓練結果圖4.28年最大流量神經網絡模型訓練結果從圖4.28可知,訓練後的BP網絡能較好地逼近給定的目标函數。

由訓練樣本檢驗結果(表4.34)可得:1958~1997年40年中年最大流量模拟值與實測值的相對誤差小于10%和20%的,分别為38年、40年,合格率為100%。

說明“年極端氣溫、年最大7d降雨-梧州年最大流量BP神經網絡模型”的泛化能力較好,模拟的結果較可靠。

(3)模型預測檢驗把1998~2007年梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,鳳山、都安、馬隴、沙街、大湟江口、大安、大化、陽朔、五将雨量站的年最大7d降雨量輸入到“年極端氣溫、年最大7d降雨-梧州年最大流量BP神經網絡模型”。

程式運作後網絡輸出預測值與已知的實際值進行比較,其預測結果見圖4.29和表4.35。

圖4.29年最大流量神經網絡模型預測檢驗結果表4.35神經網絡模型預測結果與實際結果比較由預測檢驗結果可知:1998~2007年10年中年最大流量模拟值與實測值的相對誤差小于20%的為7年,合格率為70%,效果較好。

4.5.1.4梧州年最大流量-年最高水位的BP神經網絡模型(1)模型的建立以1941~1997年梧州水文站的年最大流量與年最高水位作為學習樣本來拟合、建立梧州水文站的“年最大流量-年最高水位BP神經網絡模型”。

以年最大流量為輸入,年最高水位為輸出,隐含層層數取1,建立(1,q,1)BP神經網絡模型,其中,神經元數目q經試算取7,隐含層、輸出層的神經元采用線性傳遞函數,訓練函數選用traingdm,學習率取0.1,動量項取0.9,目标取0.00001,最大訓練次數取200000。

BP網絡模型參數見表4.36,結構如圖4.30所示。

表4.36BP網絡模型參數一覽表圖4.30梧州年最大流量—年最高水位BP模型結構圖廣西西江流域主要河流有南盤江、紅水河、黔浔江、郁江、柳江、桂江、賀江。

7條主要河流相當于隐含層中的7個神經元(表4.37),整體上來說,BP神經網絡的結構已經灰箱化。

表4.37BP神經網絡構件實體意義一覽表(2)訓練效果分析訓練樣本為57個,經過3327次訓練,誤差下降梯度已達到最小值,但誤差為3.00605×10-5,未達到精度要求。

在指令視窗執行運作指令,網絡開始學習和訓練,其訓練過程如圖4.31所示,訓練結果見圖4.32和表4.38。

表4.38年最高水位訓練結果從圖4.32和表4.19可看出,訓練後的BP網絡能較好地逼近給定的目标函數。

對于訓練樣本,從檢驗結果可知:1941~1997年57年中年最高水位模拟值與實測值的相對誤差小于10%和20%的分别為56a,57a,合格率為100%。

說明“年最大流量-年最高水位BP神經網絡模型”的實際輸出與實測結果誤差很小,該模型的泛化能力較好,模拟的結果比較可靠。

圖4.31神經網絡訓練過程圖圖4.32年最高水位神經網絡模型訓練結果(3)模型預測檢驗把1998~2007年梧州水文站年最大流量輸入到“年最大流量-年最高水位BP神經網絡模型”。

程式運作後網絡輸出預測值與已知的實際值進行比較,其預測結果見圖4.33,表4.39。

表4.39神經網絡模型預測結果與實際結果比較從預測檢驗結果可知:1998~2007年10年中,年最高水位模拟值與實測值的相對誤差小于20%的為10年,合格率為100%,效果較好。

圖4.33年最高水位量神經網絡模型預測檢驗結果。

關于建構一個三層BP神經網絡對藥品的銷售進行預測(程式由matlab編寫)

clearall;closeall;clc;%p=[205623952600229816341600183714781900239526002298163416001873147819001500260022981634160018731478190015002046];t=[187314781900150020461556];p=[205623952600229816341600];%--歸一化輸入輸出--映射到[0,1]--%pmax=max(p);pmin=min(p);P=(p-pmin)./(pmax-pmin);tmax=max(t);tmin=min(t);T=(t-tmin)./(tmax-tmin);net=newff(P,T,5,{'tansig','purelin'},'traingdx');%--設定訓練參數--%=50;=0.05;net.trainParam.epochs=1000;=1e-3;net.divideFcn='';[net,tr]=train(net,P,T);A=sim(net,P);a=A.*(tmax-tmin)+tmin;x=7:12;figureplot(x,t,'+');holdon;plot(x,a,'or');holdoff;xlabel('month');ylabel('**')legend('實際','預測')。

如何用BP神經網絡實作預測

首先要知道你建立的這個模型的内部邏輯關系。。1,确定隐層數,畫出簡要模型圖。2,确定采用什麼樣的神經網絡來建立模型3.通過測試資料來訓練模型。。

4.根據測試訓練得到的資料和實際資料進行比對,或者算出誤差。進而修改隐層中的權值和閥值。反複重複3-4.。最後得到一個最優的模型。大緻是這樣。。。樓主說的太概略。。。無法回答清楚請抱歉。

1.如何用MATLAB神經網絡工具箱建立BP神經網絡模型?具體有哪些步驟?請高手舉執行個體詳細解釋下? 2.如何把輸

%人臉識别模型,臉部模型自己找吧。

functionmytest()clc;images=[];M_train=3;%表示人臉N_train=5;%表示方向sample=[];pixel_value=[];sample_number=0;forj=1:N_trainfori=1:M_trainstr=strcat('Images\',num2str(i),'_',num2str(j),'.bmp');%讀取圖像,連接配接字元串形成圖像的檔案名。

img=imread(str);[rowscols]=size(img);%獲得圖像的行和列值。

img_edge=edge(img,'Sobel');%由于在分割圖檔中我們可以看到這個人臉的眼睛部分也就是位于分割後的第二行中,位置變化比較大,而且眼睛邊緣檢測效果很好sub_rows=floor(rows/6);%最接近的最小整數,分成6行sub_cols=floor(cols/8);%最接近的最小整數,分成8列sample_num=M_train*N_train;%前5個是第一幅人臉的5個角度sample_number=sample_number+1;forsubblock_i=1:8%因為這還在i,j的循環中,是以不可以用iblock_num=subblock_i;pixel_value(sample_number,block_num)=0;forii=sub_rows:(2*sub_rows)forjj=(subblock_i-1)*sub_cols+1:subblock_i*sub_colspixel_value(sample_number,block_num)=pixel_value(sample_number,block_num)+img_edge(ii,jj);endendendendend%将特征值轉換為小于1的值max_pixel_value=max(pixel_value);max_pixel_value_1=max(max_pixel_value);fori=1:3mid_value=10^i;if(((max_pixel_value_1/mid_value)>1)&&((max_pixel_value_1/mid_value)。

用Matlab程式設計BP神經網絡進行預測

原理就是:建立網絡-資料歸一化-訓練-預測-資料反歸一化。附件是電力負荷預測的例子,可以參考。

BP(BackPropagation)神經網絡是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆傳播算法訓練的多層前饋網絡,是目前應用最廣泛的神經網絡模型之一。

BP網絡能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網絡的權值和門檻值,使網絡的誤差平方和最小。

BP神經網絡模型拓撲結構包括輸入層(input)、隐層(hiddenlayer)和輸出層(outputlayer)。

求,如何建立BP神經網絡故障預測模型!下面有資料,我在訓練時誤差極大,求原因。 20

net=newff(minmax(P),[30,30,30,1],{'tansig','tansig','tansig','purelin'},'traingda');%自适應學習速率這巧我也在做,這是我的,設定了30個,你自己參照着來吧。

如何編寫預測人口預測的bp神經網絡的程式

這個比較簡單:就要看你要用前多少年作為預測,如果你要用5年作為一個周期的話,要預測x6,就要把x1,x2,x3,x4,x5前五年的資料作為神經網絡的輸入,這樣就得到一組輸入(x1,....x5)和對應的的輸出x6,x6預測正确後,再構造第二組輸入(x2,....x6)和對應的輸出x7,如果訓練資料20個,則應該構造15組輸入和輸出對對神經網絡進行訓練.然後可以用後面的幾個資料進行預測.根據上面的這個模型可以構造BP網絡結構為:5*H*1,H為隐層,可以根據啟發式規則确定,如:H=5+1=6等.具體程式網上很多,下載下傳下來看看就行.。

繼續閱讀