bp神经网络预测模型实例,bp神经网络模型的建立
如何建立bp神經(jīng)網(wǎng)絡(luò)預(yù)測(cè) 模型
。
建立BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,可按下列步驟進(jìn)行:1、提供原始數(shù)據(jù)2、訓(xùn)練數(shù)據(jù)預(yù)測(cè)數(shù)據(jù)提取及歸一化3、BP網(wǎng)絡(luò)訓(xùn)練4、BP網(wǎng)絡(luò)預(yù)測(cè)5、結(jié)果分析現(xiàn)用一個(gè)實(shí)際的例子,來(lái)預(yù)測(cè)2015年和2016年某地區(qū)的人口數(shù)。
已知2009年——2014年某地區(qū)人口數(shù)分別為3583、4150、5062、4628、5270、5340萬(wàn)人執(zhí)行BP_main程序,得到[2015,?5128.呵呵3946380615234375][2016,5100.5797325642779469490051269531]代碼及圖形如下。
谷歌人工智能寫(xiě)作項(xiàng)目:小發(fā)貓
傷寒、副傷寒流行預(yù)測(cè)模型(BP神經(jīng)網(wǎng)絡(luò))的建立
由于目前研究的各種數(shù)學(xué)模型或多或少存在使用條件的局限性,或使用方法的復(fù)雜性等問(wèn)題,預(yù)測(cè)效果均不十分理想,距離實(shí)際應(yīng)用仍有較大差距rfid。
NNT是Matlab中較為重要的一個(gè)工具箱,在實(shí)際應(yīng)用中,BP網(wǎng)絡(luò)用的最廣泛。
神經(jīng)網(wǎng)絡(luò)具有綜合能力強(qiáng),對(duì)數(shù)據(jù)的要求不高,適時(shí)學(xué)習(xí)等突出優(yōu)點(diǎn),其操作簡(jiǎn)便,節(jié)省時(shí)間,網(wǎng)絡(luò)初學(xué)者即使不了解其算法的本質(zhì),也可以直接應(yīng)用功能豐富的函數(shù)來(lái)實(shí)現(xiàn)自己的目的。
因此,易于被基層單位預(yù)防工作者掌握和應(yīng)用。
以下幾個(gè)問(wèn)題是建立理想的因素與疾病之間的神經(jīng)網(wǎng)絡(luò)模型的關(guān)鍵:(1)資料選取應(yīng)盡可能地選取所研究地區(qū)系統(tǒng)連續(xù)的因素與疾病資料,最好包括有疾病高發(fā)年和疾病低發(fā)年的數(shù)據(jù)。
在收集影響因素時(shí),要抓住主要影響傷寒、副傷寒的發(fā)病因素。
(2)疾病發(fā)病率分級(jí)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)法是按發(fā)病率高低來(lái)進(jìn)行預(yù)測(cè),在定義發(fā)病率等級(jí)時(shí),要結(jié)合專業(yè)知識(shí)及當(dāng)?shù)厍闆r而定,并根據(jù)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練效果而適時(shí)調(diào)整,以使網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練達(dá)到最佳效果。
(3)資料處理問(wèn)題在實(shí)踐中發(fā)現(xiàn),資料的特征往往很大程度地影響網(wǎng)絡(luò)學(xué)習(xí)和訓(xùn)練的穩(wěn)定性,因此,數(shù)據(jù)的應(yīng)用、納入、排出問(wèn)題有待于進(jìn)一步研究。
6.3.1人工神經(jīng)網(wǎng)絡(luò)的基本原理人工神經(jīng)網(wǎng)絡(luò)(ANN)是近年來(lái)發(fā)展起來(lái)的十分熱門(mén)的交叉學(xué)科,它涉及生物、電子、計(jì)算機(jī)、數(shù)學(xué)和物理等學(xué)科,有著廣泛的應(yīng)用領(lǐng)域。
人工神經(jīng)網(wǎng)絡(luò)是一種自適應(yīng)的高度非線性動(dòng)力系統(tǒng),在網(wǎng)絡(luò)計(jì)算的基礎(chǔ)上,經(jīng)過(guò)多次重復(fù)組合,能夠完成多維空間的映射任務(wù)。
神經(jīng)網(wǎng)絡(luò)通過(guò)內(nèi)部連接的自組織結(jié)構(gòu),具有對(duì)數(shù)據(jù)的高度自適應(yīng)能力,由計(jì)算機(jī)直接從實(shí)例中學(xué)習(xí)獲取知識(shí),探求解決問(wèn)題的方法,自動(dòng)建立起復(fù)雜系統(tǒng)的控制規(guī)律及其認(rèn)知模型。
人工神經(jīng)網(wǎng)絡(luò)就其結(jié)構(gòu)而言,一般包括輸入層、隱含層和輸出層,不同的神經(jīng)網(wǎng)絡(luò)可以有不同的隱含層數(shù),但他們都只有一層輸入和一層輸出。
神經(jīng)網(wǎng)絡(luò)的各層又由不同數(shù)目的神經(jīng)元組成,各層神經(jīng)元數(shù)目隨解決問(wèn)題的不同而有不同的神經(jīng)元個(gè)數(shù)。
6.3.2BP神經(jīng)網(wǎng)絡(luò)模型BP網(wǎng)絡(luò)是在1985年由PDP小組提出的反向傳播算法的基礎(chǔ)上發(fā)展起來(lái)的,是一種多層次反饋型網(wǎng)絡(luò)(圖6.17),它在輸入和輸出之間采用多層映射方式,網(wǎng)絡(luò)按層排列,只有相鄰層的節(jié)點(diǎn)直接相互連接,傳遞之間信息。
在正向傳播中,輸入信息從輸入層經(jīng)隱含層逐層處理,并傳向輸出層,每層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。
如果輸出層不能得到期望的輸出結(jié)果,則轉(zhuǎn)入反向傳播,將誤差信號(hào)沿原來(lái)的連同通路返回,通過(guò)修改各層神經(jīng)元的權(quán)值,使誤差信號(hào)最小。
BP網(wǎng)絡(luò)的學(xué)習(xí)算法步驟如下(圖6.18):圖6.17BP神經(jīng)網(wǎng)絡(luò)示意圖圖6.18BP算法流程圖第一步:設(shè)置初始參數(shù)ω和θ,(ω為初始權(quán)重,θ為臨界值,均隨機(jī)設(shè)為較小的數(shù))。
第二步:將已知的樣本加到網(wǎng)絡(luò)上,利用下式可算出他們的輸出值yi,其值為巖溶地區(qū)地下水與環(huán)境的特殊性研究式中:xi為該節(jié)點(diǎn)的輸入;ωij為從I到j(luò)的聯(lián)接權(quán);θj為臨界值;yj為實(shí)際算出的輸出數(shù)據(jù)。
第三步:將已知輸出數(shù)據(jù)與上面算出的輸出數(shù)據(jù)之差(dj-yj)調(diào)整權(quán)系數(shù)ω,調(diào)整量為ΔWij=ηδjxj式中:η為比例系數(shù);xj為在隱節(jié)點(diǎn)為網(wǎng)絡(luò)輸入,在輸出點(diǎn)則為下層(隱)節(jié)點(diǎn)的輸出(j=1,2…,n);dj為已知的輸出數(shù)據(jù)(學(xué)習(xí)樣本訓(xùn)練數(shù)據(jù));δj為一個(gè)與輸出偏差相關(guān)的值,對(duì)于輸出節(jié)點(diǎn)來(lái)說(shuō)有δj=ηj(1-yj)(dj-yj)對(duì)于隱節(jié)點(diǎn)來(lái)說(shuō),由于它的輸出無(wú)法進(jìn)行比較,所以經(jīng)過(guò)反向逐層計(jì)算有巖溶地區(qū)地下水與環(huán)境的特殊性研究其中k指要把上層(輸出層)節(jié)點(diǎn)取遍。
誤差δj是從輸出層反向逐層計(jì)算的。各神經(jīng)元的權(quán)值調(diào)整后為ωij(t)=ωij(t-1)+Vωij式中:t為學(xué)習(xí)次數(shù)。
這個(gè)算法是一個(gè)迭代過(guò)程,每一輪將各W值調(diào)整一遍,這樣一直迭代下去,知道輸出誤差小于某一允許值為止,這樣一個(gè)好的網(wǎng)絡(luò)就訓(xùn)練成功了,BP算法從本質(zhì)上講是把一組樣本的輸入輸出問(wèn)題變?yōu)橐粋€(gè)非線性優(yōu)化問(wèn)題,它使用了優(yōu)化技術(shù)中最普遍的一種梯度下降算法,用迭代運(yùn)算求解權(quán)值相當(dāng)于學(xué)習(xí)記憶問(wèn)題。
6.3.3BP神經(jīng)網(wǎng)絡(luò)模型在傷寒、副傷寒流行與傳播預(yù)測(cè)中的應(yīng)用傷寒、副傷寒的傳播與流行同環(huán)境之間有著一定的聯(lián)系。
根據(jù)桂林市1990年以來(lái)鄉(xiāng)鎮(zhèn)為單位的傷寒、副傷寒疫情資料,傷寒、副傷寒疫源地資料,結(jié)合現(xiàn)有資源與環(huán)境背景資料(桂林市行政區(qū)劃、土壤、氣候等)和社會(huì)經(jīng)濟(jì)資料(經(jīng)濟(jì)、人口、生活習(xí)慣等統(tǒng)計(jì)資料)建立人工神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)模型,來(lái)逼近這種規(guī)律。
6.3.3.1模型建立(1)神經(jīng)網(wǎng)絡(luò)的BP算法BP網(wǎng)絡(luò)是一種前饋型網(wǎng)絡(luò),由1個(gè)輸入層、若干隱含層和1個(gè)輸出層構(gòu)成。
如果輸入層、隱含層和輸出層的單元個(gè)數(shù)分別為n,q1,q2,m,則該三層網(wǎng)絡(luò)網(wǎng)絡(luò)可表示為BP(n,q1,q2,m),利用該網(wǎng)絡(luò)可實(shí)現(xiàn)n維輸入向量Xn=(X1,X2,…,Xn)T到m維輸出向量Ym=(Y1,Y2,…,Ym)T的非線性映射。
輸入層和輸出層的單元數(shù)n,m根據(jù)具體問(wèn)題確定。
(2)樣本的選取將模型的輸入變量設(shè)計(jì)為平均溫度、平均降雨量、巖石性質(zhì)、巖溶發(fā)育、地下水類型、飲用水類型、正規(guī)自來(lái)水供應(yīng)比例、集中供水比例8個(gè)輸入因子(表6.29),輸出單元為傷寒副傷寒的發(fā)病率等級(jí),共一個(gè)輸出單元。
其中q1,q2的值根據(jù)訓(xùn)練結(jié)果進(jìn)行選擇。表6.29桂林市傷寒副傷寒影響因素量化表通過(guò)分析,選取在傷寒副傷寒有代表性的縣鎮(zhèn)在1994~2001年的環(huán)境參評(píng)因子作為樣本進(jìn)行訓(xùn)練。
利用聚類分析法對(duì)疫情進(jìn)行聚類分級(jí)(Ⅰ、Ⅱ、Ⅲ、Ⅳ),傷寒副傷寒發(fā)病最高級(jí)為Ⅳ(BP網(wǎng)絡(luò)中輸出定為4),次之的為Ⅲ(BP網(wǎng)絡(luò)中輸出定為3),以此類推,最低為Ⅰ(BP網(wǎng)絡(luò)中輸出定為1)(3)數(shù)據(jù)的歸一化處理為使網(wǎng)絡(luò)在訓(xùn)練過(guò)程中易于收斂,我們對(duì)輸入數(shù)據(jù)進(jìn)行了歸一化處理,并將輸入的原始數(shù)據(jù)都化為0~1之間的數(shù)。
如將平均降雨量的數(shù)據(jù)乘以0.0001;將平均氣溫的數(shù)據(jù)乘以0.01;其他輸入數(shù)據(jù)也按類似的方法進(jìn)行歸一化處理。
(4)模型的算法過(guò)程假設(shè)共有P個(gè)訓(xùn)練樣本,輸入的第p個(gè)(p=1,2,…,P)訓(xùn)練樣本信息首先向前傳播到隱含單元上。
經(jīng)過(guò)激活函數(shù)f(u)的作用得到隱含層1的輸出信息:巖溶地區(qū)地下水與環(huán)境的特殊性研究經(jīng)過(guò)激活函數(shù)f(u)的作用得到隱含層2的輸出信息:巖溶地區(qū)地下水與環(huán)境的特殊性研究激活函數(shù)f(u)我們這里采用Sigmoid型,即f(u)=1/[1+exp(-u)](6.5)隱含層的輸出信息傳到輸出層,可得到最終輸出結(jié)果為巖溶地區(qū)地下水與環(huán)境的特殊性研究以上過(guò)程為網(wǎng)絡(luò)學(xué)習(xí)的信息正向傳播過(guò)程。
另一個(gè)過(guò)程為誤差反向傳播過(guò)程。
如果網(wǎng)絡(luò)輸出與期望輸出間存在誤差,則將誤差反向傳播,利用下式來(lái)調(diào)節(jié)網(wǎng)絡(luò)權(quán)重和閾值:巖溶地區(qū)地下水與環(huán)境的特殊性研究式中:Δω(t)為t次訓(xùn)練時(shí)權(quán)重和閾值的修正;η稱為學(xué)習(xí)速率,0<η<1;E為誤差平方和。
巖溶地區(qū)地下水與環(huán)境的特殊性研究反復(fù)運(yùn)用以上兩個(gè)過(guò)程,直至網(wǎng)絡(luò)輸出與期望輸出間的誤差滿足一定的要求。該模型算法的缺點(diǎn):1)需要較長(zhǎng)的訓(xùn)練時(shí)間。
由于一些復(fù)雜的問(wèn)題,BP算法可能要進(jìn)行幾小時(shí)甚至更長(zhǎng)的時(shí)間的訓(xùn)練,這主要是由于學(xué)習(xí)速率太小造成的,可采用變化的學(xué)習(xí)速率或自適應(yīng)的學(xué)習(xí)速率加以改進(jìn)。2)完全不能訓(xùn)練。
主要表現(xiàn)在網(wǎng)絡(luò)出現(xiàn)的麻痹現(xiàn)象上,在網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,當(dāng)其權(quán)值調(diào)的過(guò)大,可能使得所有的或大部分神經(jīng)元的加權(quán)總和n偏大,這使得激活函數(shù)的輸入工作在S型轉(zhuǎn)移函數(shù)的飽和區(qū),從而導(dǎo)致其導(dǎo)數(shù)f′(n)非常小,從而使得對(duì)網(wǎng)絡(luò)權(quán)值的調(diào)節(jié)過(guò)程幾乎停頓下來(lái)。
3)局部極小值。BP算法可以使網(wǎng)絡(luò)權(quán)值收斂到一個(gè)解,但它并不能保證所求為誤差超平面的全局最小解,很可能是一個(gè)局部極小解。
這是因?yàn)锽P算法采用的是梯度下降法,訓(xùn)練從某一起點(diǎn)沿誤差函數(shù)的斜面逐漸達(dá)到誤差的最小值。
考慮到以上算法的缺點(diǎn),對(duì)模型進(jìn)行了兩方面的改進(jìn):(1)附加動(dòng)量法為了避免陷入局部極小值,對(duì)模型進(jìn)行了改進(jìn),應(yīng)用了附加動(dòng)量法。
附加動(dòng)量法在使網(wǎng)絡(luò)修正及其權(quán)值時(shí),不僅考慮誤差在梯度上的作用,而且考慮在誤差曲面上變化趨勢(shì)的影響,其作用如同一個(gè)低通濾波器,它允許網(wǎng)絡(luò)忽略網(wǎng)絡(luò)上的微小變化特性。
在沒(méi)有附加動(dòng)量的作用下,網(wǎng)絡(luò)可能陷入淺的局部極小值,利用附加動(dòng)量的作用則有可能滑過(guò)這些極小值。
該方法是在反向傳播法的基礎(chǔ)上在每一個(gè)權(quán)值的變化上加上一項(xiàng)正比于前次權(quán)值變化量的值,并根據(jù)反向傳播法來(lái)產(chǎn)生心的權(quán)值變化。
促使權(quán)值的調(diào)節(jié)向著誤差曲面底部的平均方向變化,從而防止了如Δω(t)=0的出現(xiàn),有助于使網(wǎng)絡(luò)從誤差曲面的局部極小值中跳出。
這種方法主要是把式(6.7)改進(jìn)為巖溶地區(qū)地下水與環(huán)境的特殊性研究式中:A為訓(xùn)練次數(shù);a為動(dòng)量因子,一般取0.95左右。
訓(xùn)練中對(duì)采用動(dòng)量法的判斷條件為巖溶地區(qū)地下水與環(huán)境的特殊性研究(2)自適應(yīng)學(xué)習(xí)速率對(duì)于一個(gè)特定的問(wèn)題,要選擇適當(dāng)?shù)膶W(xué)習(xí)速率不是一件容易的事情。
通常是憑經(jīng)驗(yàn)或?qū)嶒?yàn)獲取,但即使這樣,對(duì)訓(xùn)練開(kāi)始初期功效較好的學(xué)習(xí)速率,不見(jiàn)得對(duì)后來(lái)的訓(xùn)練合適。
所以,為了盡量縮短網(wǎng)絡(luò)所需的訓(xùn)練時(shí)間,采用了學(xué)習(xí)速率隨著訓(xùn)練變化的方法來(lái)找到相對(duì)于每一時(shí)刻來(lái)說(shuō)較差的學(xué)習(xí)速率。
下式給出了一種自適應(yīng)學(xué)習(xí)速率的調(diào)整公式:巖溶地區(qū)地下水與環(huán)境的特殊性研究通過(guò)以上兩個(gè)方面的改進(jìn),訓(xùn)練了一個(gè)比較理想的網(wǎng)絡(luò),將動(dòng)量法和自適應(yīng)學(xué)習(xí)速率結(jié)合起來(lái),效果要比單獨(dú)使用要好得多。
6.3.3.2模型的求解與預(yù)測(cè)采用包含了2個(gè)隱含層的神經(jīng)網(wǎng)絡(luò)BP(4,q1,q2,1),隱含層單元數(shù)q1,q2與所研究的具體問(wèn)題有關(guān),目前尚無(wú)統(tǒng)一的確定方法,通常根據(jù)網(wǎng)絡(luò)訓(xùn)練情況采用試錯(cuò)法確定。
在滿足一定的精度要求下一般認(rèn)小的數(shù)值,以改善網(wǎng)絡(luò)的概括推論能力。
在訓(xùn)練中網(wǎng)絡(luò)的收斂采用輸出值Ykp與實(shí)測(cè)值tp的誤差平方和進(jìn)行控制:巖溶地區(qū)地下水與環(huán)境的特殊性研究1)將附加動(dòng)量法和自適應(yīng)學(xué)習(xí)速率結(jié)合應(yīng)用,分析桂林市36個(gè)鄉(xiāng)鎮(zhèn)地質(zhì)條件各因素對(duì)傷寒副傷寒發(fā)病等級(jí)的影響。
因此訓(xùn)練樣本為36個(gè),第一個(gè)隱含層有19個(gè)神經(jīng)元,第二個(gè)隱含層有11個(gè)神經(jīng)元,學(xué)習(xí)速率為0.001。A.程序(略)。B.網(wǎng)絡(luò)訓(xùn)練。
在命令窗口執(zhí)行運(yùn)行命令,網(wǎng)絡(luò)開(kāi)始學(xué)習(xí)和訓(xùn)練,其學(xué)習(xí)和訓(xùn)練過(guò)程如下(圖6.19)。圖6.19神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程圖C.模型預(yù)測(cè)。
a.輸入未參與訓(xùn)練的鄉(xiāng)鎮(zhèn)(洞井鄉(xiāng)、兩水鄉(xiāng)、延?xùn)|鄉(xiāng)、四塘鄉(xiāng)、嚴(yán)關(guān)鎮(zhèn)、靈田鄉(xiāng))地質(zhì)條件數(shù)據(jù)。b.預(yù)測(cè)。程序運(yùn)行后網(wǎng)絡(luò)輸出預(yù)測(cè)值a3,與已知的實(shí)際值進(jìn)行比較,其預(yù)測(cè)結(jié)果整理后見(jiàn)(表6.30)。
經(jīng)計(jì)算,對(duì)6個(gè)鄉(xiāng)鎮(zhèn)傷寒副傷寒發(fā)病等級(jí)的預(yù)測(cè)符合率為83.3%。表6.30神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果與實(shí)際結(jié)果比較c.地質(zhì)條件改進(jìn)方案。
在影響疾病發(fā)生的地質(zhì)條件中,大部分地質(zhì)條件是不會(huì)變化的,而改變發(fā)病地區(qū)的飲用水類型是可以人為地通過(guò)改良措施加以實(shí)施的一個(gè)因素。
因此,以靈田鄉(xiāng)為例對(duì)發(fā)病率較高的鄉(xiāng)鎮(zhèn)進(jìn)行分析,改變其飲用水類型,來(lái)看發(fā)病等級(jí)的變化情況。
表6.31顯示,在其他地質(zhì)條件因素不變的情況下,改變當(dāng)?shù)氐牡叵滤愋?#xff08;從原來(lái)的巖溶水類型改變成基巖裂隙水)則將發(fā)病等級(jí)從原來(lái)的最高級(jí)4級(jí),下降為較低的2級(jí),效果是十分明顯的。
因此,今后在進(jìn)行傷寒副傷寒疾病防治的時(shí)候,可以通過(guò)改變高發(fā)區(qū)飲用水類型來(lái)客觀上減少疫情的發(fā)生。
表6.31靈田鄉(xiāng)改變飲用水類型前后的預(yù)測(cè)結(jié)果2)選取桂林地區(qū)1994~2000年月平均降雨量、月平均溫度作為輸入數(shù)據(jù)矩陣,進(jìn)行樣本訓(xùn)練,設(shè)定不同的隱含層單元數(shù),對(duì)各月份的數(shù)據(jù)進(jìn)行BP網(wǎng)絡(luò)訓(xùn)練。
在隱含層單元數(shù)q1=13,q2=9,經(jīng)過(guò)46383次數(shù)的訓(xùn)練,誤差達(dá)到精度要求,學(xué)習(xí)速率0.02。A.附加動(dòng)量法程序(略)。B.網(wǎng)絡(luò)訓(xùn)練。
在命令窗口執(zhí)行運(yùn)行命令,網(wǎng)絡(luò)開(kāi)始學(xué)習(xí)和訓(xùn)練,其學(xué)習(xí)和訓(xùn)練過(guò)程如下(圖6.20)。C.模型預(yù)測(cè)。a.輸入桂林市2001年1~12月桂林市各月份的平均氣溫和平均降雨量。預(yù)測(cè)程度(略)。b.預(yù)測(cè)。
程序運(yùn)行后網(wǎng)絡(luò)輸出預(yù)測(cè)值a2,與已知的實(shí)際值進(jìn)行比較,其預(yù)測(cè)結(jié)果整理后見(jiàn)(表6.32)。經(jīng)計(jì)算,對(duì)2001年1~12月傷寒副傷寒發(fā)病等級(jí)進(jìn)行預(yù)測(cè),12個(gè)預(yù)測(cè)結(jié)果中,有9個(gè)符合,符合率為75%。
圖6.20神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程圖表6.32神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果與實(shí)際值比較6.3.3.3模型的評(píng)價(jià)本研究采用BP神經(jīng)網(wǎng)絡(luò)對(duì)傷寒、副傷寒發(fā)病率等級(jí)進(jìn)行定量預(yù)測(cè),一方面引用數(shù)量化理論對(duì)不確定因素進(jìn)行量化處理;另一方面利用神經(jīng)網(wǎng)絡(luò)優(yōu)點(diǎn),充分考慮各影響因素與發(fā)病率之間的非線性映射。
實(shí)際應(yīng)用表明,神經(jīng)網(wǎng)絡(luò)定量預(yù)測(cè)傷寒、副傷寒發(fā)病率是理想的。其主要優(yōu)點(diǎn)有:1)避免了模糊或不確定因素的分析工作和具體數(shù)學(xué)模型的建立工作。2)完成了輸入和輸出之間復(fù)雜的非線性映射關(guān)系。
3)采用自適應(yīng)的信息處理方式,有效減少人為的主觀臆斷性。雖然如此,但仍存在以下缺點(diǎn):1)學(xué)習(xí)算法的收斂速度慢,通常需要上千次或更多,訓(xùn)練時(shí)間長(zhǎng)。2)從數(shù)學(xué)上看,BP算法有可能存在局部極小問(wèn)題。
本模型具有廣泛的應(yīng)用范圍,可以應(yīng)用在很多領(lǐng)域。從上面的結(jié)果可以看出,實(shí)際和網(wǎng)絡(luò)學(xué)習(xí)數(shù)據(jù)總體較為接近,演化趨勢(shì)也基本一致。
說(shuō)明選定的氣象因子、地質(zhì)條件因素為神經(jīng)單元獲得的傷寒、副傷寒發(fā)病等級(jí)與實(shí)際等級(jí)比較接近,從而證明傷寒、副傷寒流行與地理因素的確存在較密切的相關(guān)性。
極端氣溫、降雨-洪水模型(BP神經(jīng)網(wǎng)絡(luò))的建立
極端氣溫、降雨與洪水之間有一定的聯(lián)系。
根據(jù)1958~2007年廣西西江流域極端氣溫、極端降雨和梧州水文站洪水?dāng)?shù)據(jù),以第5章相關(guān)分析所確定的顯著影響梧州水文站年最大流量的測(cè)站的相應(yīng)極端氣候因素(表4.22)為輸入,建立人工神經(jīng)網(wǎng)絡(luò)模型。
4.5.1.1BP神經(jīng)網(wǎng)絡(luò)概述(1)基于BP算法的多層前饋網(wǎng)絡(luò)模型采用BP算法的多層前饋網(wǎng)絡(luò)是至今為止應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò),在多層的前饋網(wǎng)的應(yīng)用中,如圖4.20所示的三層前饋網(wǎng)的應(yīng)用最為普遍,其包括了輸入層、隱層和輸出層。
圖4.20典型的三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在正向傳播中,輸入信息從輸入層經(jīng)隱含層逐層處理,并傳向輸出層。
如果輸出層不能得到期望的輸出結(jié)果,則轉(zhuǎn)入反向傳播,將誤差信號(hào)沿原來(lái)的連同通路返回,通過(guò)修改各層神經(jīng)元的權(quán)值,使得誤差最小。BP算法流程如圖4.21所示。
圖4.21BP算法流程圖容易看出,BP學(xué)習(xí)算法中,各層權(quán)值調(diào)整均由3個(gè)因素決定,即學(xué)習(xí)率、本層輸出的誤差信號(hào)以及本層輸入信號(hào)y(或x)。
其中,輸出層誤差信號(hào)同網(wǎng)絡(luò)的期望輸出與實(shí)際輸出之差有關(guān),直接反映了輸出誤差,而各隱層的誤差信號(hào)與前面各層的誤差信號(hào)都有關(guān),是從輸出層開(kāi)始逐層反傳過(guò)來(lái)的。
1988年,Cybenko指出兩個(gè)隱含層就可表示輸入圖形的任意輸出函數(shù)。
如果BP網(wǎng)絡(luò)只有兩個(gè)隱層,且輸入層、第一隱含層、第二隱層和輸出層的單元個(gè)數(shù)分別為n,p,q,m,則該網(wǎng)絡(luò)可表示為BP(n,p,q,m)。
(2)研究區(qū)極端氣溫、極端降雨影響年最大流量過(guò)程概化極端氣溫、極端降雨影響年最大流量的過(guò)程極其復(fù)雜,從極端降雨到年最大流量,中間要經(jīng)過(guò)蒸散發(fā)、分流、下滲等環(huán)節(jié),受到地形、地貌、下墊面、土壤地質(zhì)以及人類活動(dòng)等多種因素的影響。
可將一個(gè)極端氣候-年最大流量間復(fù)雜的水過(guò)程概化為小尺度的水系統(tǒng),該水系統(tǒng)的主要影響因子可通過(guò)對(duì)年最大流量影響顯著的站點(diǎn)的極端氣溫和極端降雨體現(xiàn)出來(lái),而其中影響不明顯的站點(diǎn)可忽略,從而使問(wèn)題得以簡(jiǎn)化。
BP神經(jīng)網(wǎng)絡(luò)是一個(gè)非線形系統(tǒng),可用于逼近非線形映射關(guān)系,也可用于逼近一個(gè)極為復(fù)雜的函數(shù)關(guān)系。極端氣候-年最大流量水系統(tǒng)是一個(gè)非常復(fù)雜的映射關(guān)系,可將之概化為一個(gè)系統(tǒng)。
BP神經(jīng)網(wǎng)絡(luò)與研究流域的極端氣候-年最大流量水系統(tǒng)的結(jié)構(gòu)是相似的,利用BP神經(jīng)網(wǎng)絡(luò),對(duì)之進(jìn)行模擬逼近。
(3)隱含層單元數(shù)的確定隱含層單元數(shù)q與所研究的具體問(wèn)題有關(guān),目前尚無(wú)統(tǒng)一的確定方法,通常根據(jù)網(wǎng)絡(luò)訓(xùn)練情況采用試錯(cuò)法確定。
在訓(xùn)練中網(wǎng)絡(luò)的收斂采用輸出值Ykp與實(shí)測(cè)值tp的誤差平方和進(jìn)行控制變環(huán)境條件下的水資源保護(hù)與可持續(xù)利用研究作者認(rèn)為,雖然現(xiàn)今的BP神經(jīng)網(wǎng)絡(luò)還是一個(gè)黑箱模型,其參數(shù)沒(méi)有水文物理意義,在本節(jié)的研究過(guò)程中,將嘗試著利用極端氣候空間分析的結(jié)果來(lái)指導(dǎo)隱含層神經(jīng)元個(gè)數(shù)的選取。
(4)傳遞函數(shù)的選擇BP神經(jīng)網(wǎng)絡(luò)模型算法存在需要較長(zhǎng)的訓(xùn)練時(shí)間、完全不能訓(xùn)練、易陷入局部極小值等缺點(diǎn),可通過(guò)對(duì)模型附加動(dòng)量項(xiàng)或設(shè)置自適應(yīng)學(xué)習(xí)速率來(lái)改良。
本節(jié)采用MATLAB工具箱中帶有自適應(yīng)學(xué)習(xí)速率進(jìn)行反向傳播訓(xùn)練的traingdm( )函數(shù)來(lái)實(shí)現(xiàn)。
(5)模型數(shù)據(jù)的歸一化處理由于BP網(wǎng)絡(luò)的輸入層物理量及數(shù)值相差甚遠(yuǎn),為了加快網(wǎng)絡(luò)收斂的速度,使網(wǎng)絡(luò)在訓(xùn)練過(guò)程中易于收斂,對(duì)輸入數(shù)據(jù)進(jìn)行歸一化處理,即將輸入的原始數(shù)據(jù)都化為0~1之間的數(shù)。
本節(jié)將年極端最高氣溫的數(shù)據(jù)乘以0.01;將極端最低氣溫的數(shù)據(jù)乘以0.1;年最大1d、3d、7d降雨量的數(shù)據(jù)乘以0.001;梧州水文站年最大流量的數(shù)據(jù)乘以0.00001,其他輸入數(shù)據(jù)也按類似的方法進(jìn)行歸一化處理。
(6)年最大流量的修正梧州水文站以上的流域集水面積為32.70萬(wàn)km2,廣西境內(nèi)流域集水面積為20.24萬(wàn)km2,廣西境內(nèi)流域集水面積占梧州水文站以上的流域集水面積的61.91%。
因此,選取2003~2007年梧州水文站年最大流量和紅水河的天峨水文站年最大流量,分別按式4.10計(jì)算每年的貢獻(xiàn)率(表4.25),取其平均值作為廣西西江流域極端降雨對(duì)梧州水文站年最大流量的平均貢獻(xiàn)率,最后確定平均貢獻(xiàn)率為76.88%。
變環(huán)境條件下的水資源保護(hù)與可持續(xù)利用研究表4.252003~2007年極端降雨對(duì)梧州水文站年最大流量的貢獻(xiàn)率建立“年極端氣溫、降雨與梧州年最大流量模型”時(shí),應(yīng)把平均貢獻(xiàn)率與梧州水文站年最大流量的乘積作為模型輸入的修正年最大流量,而預(yù)測(cè)的年最大流量應(yīng)該為輸出的年最大流量除以平均貢獻(xiàn)率76.88%,以克服極端氣溫和降雨研究范圍與梧州水文站集水面積不一致的問(wèn)題。
4.5.1.2年極端氣溫、年最大1d降雨與梧州年最大流量的BP神經(jīng)網(wǎng)絡(luò)模型(1)模型的建立以1958~1997年年極端最高氣溫、年極端最低氣溫、年最大1d降雨量與梧州水文站年最大流量作為學(xué)習(xí)樣本擬合、建立“年極端氣溫、年最大1d降雨-梧州年最大流量BP神經(jīng)網(wǎng)絡(luò)模型”。
以梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,榜圩、馬隴、三門(mén)、黃冕、沙街、勾灘、天河、百壽、河池、貴港、金田、平南、大化、桂林、修仁、五將雨量站的年最大1d降雨量為輸入,梧州水文站年最大流量為輸出,隱含層層數(shù)取2,建立(19,p,q,1)BP神經(jīng)網(wǎng)絡(luò)模型,其中神經(jīng)元數(shù)目p,q經(jīng)試算分別取16和3,第一隱層、第二隱層的神經(jīng)元采用tansig傳遞函數(shù),輸出層的神經(jīng)元采用線性傳遞函數(shù),訓(xùn)練函數(shù)選用traingdm,學(xué)習(xí)率取0.1,動(dòng)量項(xiàng)取0.9,目標(biāo)取0.0001,最大訓(xùn)練次數(shù)取200000。
BP網(wǎng)絡(luò)模型參數(shù)見(jiàn)表4.26,結(jié)構(gòu)如圖4.22所示。
圖4.22年極端氣溫、年最大1d降雨-梧州年最大流量BP模型結(jié)構(gòu)圖表4.26BP網(wǎng)絡(luò)模型參數(shù)一覽表從結(jié)構(gòu)上分析,梧州水文站年最大流量產(chǎn)生過(guò)程中,年最高氣溫、年最低氣溫和各支流相應(yīng)的流量都有其閾值,而極端氣溫和極端降雨是其輸入,年最大流量是其輸出,這類似于人工神經(jīng)元模型中的閾值、激活值、輸出等器件。
輸入年最大1d降雨時(shí)選用的雨量站分布在14條支流上(表4.27),極端降雨發(fā)生后,流經(jīng)14條支流匯入梧州,在這一過(guò)程中極端氣溫的變化影響極端降雨的蒸散發(fā),選用的雨量站分布在年最大1d降雨四個(gè)自然分區(qū)的Ⅱ、Ⅲ、Ⅳ3個(gè)區(qū)。
該過(guò)程可與BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行類比(表4.28),其中,14條支流相當(dāng)于第一隱含層中的14個(gè)神經(jīng)元,年最高氣溫和年最低氣溫相當(dāng)于第一隱含層中的2個(gè)神經(jīng)元,年最大1d降雨所在的3個(gè)分區(qū)相當(dāng)于第二隱含層的3個(gè)神經(jīng)元,年最高氣溫、年最低氣溫的影響值和各支流流量的奉獻(xiàn)值相當(dāng)于隱含層中人工神經(jīng)元的閾值,從整體上來(lái)說(shuō),BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)已經(jīng)灰箱化。
表4.27選用雨量站所在支流一覽表表4.28BP神經(jīng)網(wǎng)絡(luò)構(gòu)件物理意義一覽表(2)訓(xùn)練效果分析訓(xùn)練樣本為40個(gè),經(jīng)過(guò)113617次訓(xùn)練,達(dá)到精度要求。
在命令窗口執(zhí)行運(yùn)行命令,網(wǎng)絡(luò)開(kāi)始學(xué)習(xí)和訓(xùn)練,其訓(xùn)練過(guò)程如圖4.23所示,訓(xùn)練結(jié)果見(jiàn)表4.29和圖4.24。
表4.29年最大流量訓(xùn)練結(jié)果圖4.23神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程圖圖4.24年最大流量神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練結(jié)果從圖4.26可知,訓(xùn)練后的BP網(wǎng)絡(luò)能較好地逼近給定的目標(biāo)函數(shù)。
從訓(xùn)練樣本檢驗(yàn)結(jié)果(表4.5)可得:1958~1997年40年中年最大流量模擬值與實(shí)測(cè)值的相對(duì)誤差小于10%和20%的分別為39年,40年,合格率為100%。
說(shuō)明“年極端氣溫、年最大1d降雨-梧州年最大流量預(yù)測(cè)模型”的實(shí)際輸出與實(shí)測(cè)結(jié)果誤差很小,該模型的泛化能力較好,模擬結(jié)果較可靠。
(3)模型預(yù)測(cè)檢驗(yàn)把1998~2007年梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,榜圩、馬隴、三門(mén)、黃冕、沙街、勾灘、天河、百壽、河池、貴港、金田、平南、大化、桂林、修仁、五將雨量站的年最大1d降雨量輸入到“年極端氣溫、年最大1d降雨梧州年最大流量BP神經(jīng)網(wǎng)絡(luò)模型”。
程序運(yùn)行后網(wǎng)絡(luò)輸出預(yù)測(cè)值與已知的實(shí)際值進(jìn)行比較,其預(yù)測(cè)檢驗(yàn)結(jié)果見(jiàn)圖4.25,表4.30。
圖4.25年最大流量神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)檢驗(yàn)結(jié)果表4.30神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果與實(shí)際結(jié)果比較從預(yù)測(cè)檢驗(yàn)結(jié)果可知:1998~2007年10年中年最大流量模擬值與實(shí)測(cè)值的相對(duì)誤差小于20%的為9年,合格率為90%,效果較好。
4.5.1.3年極端氣溫、年最大7d降雨與梧州年最大流量的BP神經(jīng)網(wǎng)絡(luò)模型(1)模型的建立以1958~1997年年極端最高氣溫、年極端最低氣溫、年最大7d降雨量和梧州水文站年最大流量作為學(xué)習(xí)樣本來(lái)擬合、建立“年極端氣溫、年最大7d降雨-梧州年最大流量BP神經(jīng)網(wǎng)絡(luò)模型”。
以梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,鳳山、都安、馬隴、沙街、大湟江口、大安、大化、陽(yáng)朔、五將雨量站的年最大7d降雨量為輸入,梧州水文站年最大流量為輸出,隱含層層數(shù)取2,建立(12,p,q,1)BP神經(jīng)網(wǎng)絡(luò)模型,其中,神經(jīng)元數(shù)目p,q經(jīng)試算分別取10和4,第一隱層、第二隱層的神經(jīng)元采用tansig傳遞函數(shù),輸出層的神經(jīng)元采用線性傳遞函數(shù),訓(xùn)練函數(shù)選用traingdm,學(xué)習(xí)率取0.1,動(dòng)量項(xiàng)取0.9,目標(biāo)取0.0001,最大訓(xùn)練次數(shù)取200000。
BP網(wǎng)絡(luò)模型參數(shù)見(jiàn)表4.31,結(jié)構(gòu)如圖4.26所示。
表4.31BP網(wǎng)絡(luò)模型參數(shù)一覽表圖4.26年極端氣溫、年最大7d降雨-梧州年最大流量BP模型結(jié)構(gòu)圖本節(jié)輸入年最大7d降雨時(shí)選用的雨量站分布在8條支流上(表4.32),在發(fā)生極端降雨后,流經(jīng)8條支流匯入梧州,在這一過(guò)程中極端氣溫的變化影響極端降雨的蒸散發(fā),且選用的雨量站分布在年最大7d降雨四個(gè)自然分區(qū)的Ⅰ、Ⅱ、Ⅲ、Ⅳ4個(gè)區(qū)中。
該過(guò)程可與BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行類比(表4.33),其中,8條支流相當(dāng)于第一隱含層中的8個(gè)神經(jīng)元,年最高氣溫和年最低氣溫相當(dāng)于第一隱含層中的2個(gè)神經(jīng)元,年最大7d降雨所在的4個(gè)分區(qū)相當(dāng)于第二隱含層的4個(gè)神經(jīng)元,整體上來(lái)說(shuō),BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)已經(jīng)灰箱化。
表4.32選用雨量站所在支流一覽表表4.33BP神經(jīng)網(wǎng)絡(luò)構(gòu)件物理意義一覽表(2)訓(xùn)練效果分析訓(xùn)練樣本為40個(gè),經(jīng)過(guò)160876次的訓(xùn)練,達(dá)到精度要求,在命令窗口執(zhí)行運(yùn)行命令,網(wǎng)絡(luò)開(kāi)始學(xué)習(xí)和訓(xùn)練,其訓(xùn)練過(guò)程如圖4.27所示,訓(xùn)練結(jié)果見(jiàn)表4.34,圖4.28。
圖4.27神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程圖表4.34年最大流量訓(xùn)練結(jié)果圖4.28年最大流量神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練結(jié)果從圖4.28可知,訓(xùn)練后的BP網(wǎng)絡(luò)能較好地逼近給定的目標(biāo)函數(shù)。
由訓(xùn)練樣本檢驗(yàn)結(jié)果(表4.34)可得:1958~1997年40年中年最大流量模擬值與實(shí)測(cè)值的相對(duì)誤差小于10%和20%的,分別為38年、40年,合格率為100%。
說(shuō)明“年極端氣溫、年最大7d降雨-梧州年最大流量BP神經(jīng)網(wǎng)絡(luò)模型”的泛化能力較好,模擬的結(jié)果較可靠。
(3)模型預(yù)測(cè)檢驗(yàn)把1998~2007年梧州氣象站的年極端最高氣溫,桂林、欽州氣象站的年極端最低氣溫,鳳山、都安、馬隴、沙街、大湟江口、大安、大化、陽(yáng)朔、五將雨量站的年最大7d降雨量輸入到“年極端氣溫、年最大7d降雨-梧州年最大流量BP神經(jīng)網(wǎng)絡(luò)模型”。
程序運(yùn)行后網(wǎng)絡(luò)輸出預(yù)測(cè)值與已知的實(shí)際值進(jìn)行比較,其預(yù)測(cè)結(jié)果見(jiàn)圖4.29和表4.35。
圖4.29年最大流量神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)檢驗(yàn)結(jié)果表4.35神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果與實(shí)際結(jié)果比較由預(yù)測(cè)檢驗(yàn)結(jié)果可知:1998~2007年10年中年最大流量模擬值與實(shí)測(cè)值的相對(duì)誤差小于20%的為7年,合格率為70%,效果較好。
4.5.1.4梧州年最大流量-年最高水位的BP神經(jīng)網(wǎng)絡(luò)模型(1)模型的建立以1941~1997年梧州水文站的年最大流量與年最高水位作為學(xué)習(xí)樣本來(lái)擬合、建立梧州水文站的“年最大流量-年最高水位BP神經(jīng)網(wǎng)絡(luò)模型”。
以年最大流量為輸入,年最高水位為輸出,隱含層層數(shù)取1,建立(1,q,1)BP神經(jīng)網(wǎng)絡(luò)模型,其中,神經(jīng)元數(shù)目q經(jīng)試算取7,隱含層、輸出層的神經(jīng)元采用線性傳遞函數(shù),訓(xùn)練函數(shù)選用traingdm,學(xué)習(xí)率取0.1,動(dòng)量項(xiàng)取0.9,目標(biāo)取0.00001,最大訓(xùn)練次數(shù)取200000。
BP網(wǎng)絡(luò)模型參數(shù)見(jiàn)表4.36,結(jié)構(gòu)如圖4.30所示。
表4.36BP網(wǎng)絡(luò)模型參數(shù)一覽表圖4.30梧州年最大流量—年最高水位BP模型結(jié)構(gòu)圖廣西西江流域主要河流有南盤(pán)江、紅水河、黔潯江、郁江、柳江、桂江、賀江。
7條主要河流相當(dāng)于隱含層中的7個(gè)神經(jīng)元(表4.37),整體上來(lái)說(shuō),BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)已經(jīng)灰箱化。
表4.37BP神經(jīng)網(wǎng)絡(luò)構(gòu)件物理意義一覽表(2)訓(xùn)練效果分析訓(xùn)練樣本為57個(gè),經(jīng)過(guò)3327次訓(xùn)練,誤差下降梯度已達(dá)到最小值,但誤差為3.00605×10-5,未達(dá)到精度要求。
在命令窗口執(zhí)行運(yùn)行命令,網(wǎng)絡(luò)開(kāi)始學(xué)習(xí)和訓(xùn)練,其訓(xùn)練過(guò)程如圖4.31所示,訓(xùn)練結(jié)果見(jiàn)圖4.32和表4.38。
表4.38年最高水位訓(xùn)練結(jié)果從圖4.32和表4.19可看出,訓(xùn)練后的BP網(wǎng)絡(luò)能較好地逼近給定的目標(biāo)函數(shù)。
對(duì)于訓(xùn)練樣本,從檢驗(yàn)結(jié)果可知:1941~1997年57年中年最高水位模擬值與實(shí)測(cè)值的相對(duì)誤差小于10%和20%的分別為56a,57a,合格率為100%。
說(shuō)明“年最大流量-年最高水位BP神經(jīng)網(wǎng)絡(luò)模型”的實(shí)際輸出與實(shí)測(cè)結(jié)果誤差很小,該模型的泛化能力較好,模擬的結(jié)果比較可靠。
圖4.31神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程圖圖4.32年最高水位神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練結(jié)果(3)模型預(yù)測(cè)檢驗(yàn)把1998~2007年梧州水文站年最大流量輸入到“年最大流量-年最高水位BP神經(jīng)網(wǎng)絡(luò)模型”。
程序運(yùn)行后網(wǎng)絡(luò)輸出預(yù)測(cè)值與已知的實(shí)際值進(jìn)行比較,其預(yù)測(cè)結(jié)果見(jiàn)圖4.33,表4.39。
表4.39神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果與實(shí)際結(jié)果比較從預(yù)測(cè)檢驗(yàn)結(jié)果可知:1998~2007年10年中,年最高水位模擬值與實(shí)測(cè)值的相對(duì)誤差小于20%的為10年,合格率為100%,效果較好。
圖4.33年最高水位量神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)檢驗(yàn)結(jié)果。
關(guān)于構(gòu)建一個(gè)三層BP神經(jīng)網(wǎng)絡(luò)對(duì)藥品的銷售進(jìn)行預(yù)測(cè)(程序由matlab編寫(xiě))
。
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');%--設(shè)置訓(xùn)練參數(shù)--%=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('實(shí)際','預(yù)測(cè)')。
如何用BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)預(yù)測(cè)
首先要知道你建立的這個(gè)模型的內(nèi)部邏輯關(guān)系。。1,確定隱層數(shù),畫(huà)出簡(jiǎn)要模型圖。2,確定采用什么樣的神經(jīng)網(wǎng)絡(luò)來(lái)建立模型3.通過(guò)測(cè)試數(shù)據(jù)來(lái)訓(xùn)練模型。。
4.根據(jù)測(cè)試訓(xùn)練得到的數(shù)據(jù)和實(shí)際數(shù)據(jù)進(jìn)行比對(duì),或者算出誤差。從而修改隱層中的權(quán)值和閥值。反復(fù)重復(fù)3-4.。最后得到一個(gè)最優(yōu)的模型。大致是這樣。。。樓主說(shuō)的太概略。。。無(wú)法回答清楚請(qǐng)抱歉。
1.如何用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱創(chuàng)建BP神經(jīng)網(wǎng)絡(luò)模型?具體有哪些步驟?請(qǐng)高手舉實(shí)例詳細(xì)解釋下? 2.如何把輸
%人臉識(shí)別模型,臉部模型自己找吧。
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');%由于在分割圖片中我們可以看到這個(gè)人臉的眼睛部分也就是位于分割后的第二行中,位置變化比較大,而且眼睛邊緣檢測(cè)效果很好sub_rows=floor(rows/6);%最接近的最小整數(shù),分成6行sub_cols=floor(cols/8);%最接近的最小整數(shù),分成8列sample_num=M_train*N_train;%前5個(gè)是第一幅人臉的5個(gè)角度sample_number=sample_number+1;forsubblock_i=1:8%因?yàn)檫@還在i,j的循環(huán)中,所以不可以用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%將特征值轉(zhuǎn)換為小于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神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)
原理就是:建立網(wǎng)絡(luò)-數(shù)據(jù)歸一化-訓(xùn)練-預(yù)測(cè)-數(shù)據(jù)反歸一化。附件是電力負(fù)荷預(yù)測(cè)的例子,可以參考。
BP(BackPropagation)神經(jīng)網(wǎng)絡(luò)是1986年由Rumelhart和McCelland為首的科學(xué)家小組提出,是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。
BP網(wǎng)絡(luò)能學(xué)習(xí)和存貯大量的輸入-輸出模式映射關(guān)系,而無(wú)需事前揭示描述這種映射關(guān)系的數(shù)學(xué)方程。它的學(xué)習(xí)規(guī)則是使用最速下降法,通過(guò)反向傳播來(lái)不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,使網(wǎng)絡(luò)的誤差平方和最小。
BP神經(jīng)網(wǎng)絡(luò)模型拓?fù)浣Y(jié)構(gòu)包括輸入層(input)、隱層(hiddenlayer)和輸出層(outputlayer)。
求,如何建立BP神經(jīng)網(wǎng)絡(luò)故障預(yù)測(cè)模型!下面有數(shù)據(jù),我在訓(xùn)練時(shí)誤差極大,求原因。 20
。
net=newff(minmax(P),[30,30,30,1],{'tansig','tansig','tansig','purelin'},'traingda');%自適應(yīng)學(xué)習(xí)速率這巧我也在做,這是我的,設(shè)置了30個(gè),你自己參照著來(lái)吧。
如何編寫(xiě)預(yù)測(cè)人口預(yù)測(cè)的bp神經(jīng)網(wǎng)絡(luò)的程序
。
這個(gè)比較簡(jiǎn)單:就要看你要用前多少年作為預(yù)測(cè),如果你要用5年作為一個(gè)周期的話,要預(yù)測(cè)x6,就要把x1,x2,x3,x4,x5前五年的數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的輸入,這樣就得到一組輸入(x1,....x5)和對(duì)應(yīng)的的輸出x6,x6預(yù)測(cè)正確后,再構(gòu)造第二組輸入(x2,....x6)和對(duì)應(yīng)的輸出x7,如果訓(xùn)練數(shù)據(jù)20個(gè),則應(yīng)該構(gòu)造15組輸入和輸出對(duì)對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練.然后可以用后面的幾個(gè)數(shù)據(jù)進(jìn)行預(yù)測(cè).根據(jù)上面的這個(gè)模型可以構(gòu)造BP網(wǎng)絡(luò)結(jié)構(gòu)為:5*H*1,H為隱層,可以根據(jù)啟發(fā)式規(guī)則確定,如:H=5+1=6等.具體程序網(wǎng)上很多,下載下來(lái)看看就行.。
總結(jié)
以上是生活随笔為你收集整理的bp神经网络预测模型实例,bp神经网络模型的建立的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 同学录
- 下一篇: 使用Dom4j读取指定文件,并写入指定文