bp神经网络训练过程matlab,bp神经网络训练时间
(1)BP算法的學習過程中有兩個過程是什么?(2)寫出BP神經(jīng)網(wǎng)絡的數(shù)學模型,并以20
bp(back propagation)網(wǎng)絡是1986年由rumelhart和mccelland為首的科學家小組提出,是一種按誤差逆?zhèn)鞑ニ惴ㄓ柧毜亩鄬忧梆伨W(wǎng)絡,是目前應用最廣泛的神經(jīng)網(wǎng)絡模型之一。
bp網(wǎng)絡能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數(shù)學方程。它的學習規(guī)則是使用最速下降法,通過反向傳播來不斷調整網(wǎng)絡的權值和閾值,使網(wǎng)絡的誤差平方和最小。
bp神經(jīng)網(wǎng)絡模型拓撲結構包括輸入層(input)、隱層(hide layer)和輸出層(output layer)。人工神經(jīng)網(wǎng)絡就是模擬人思維的第二種方式。
這是一個非線性動力學系統(tǒng),其特色在于信息的分布式存儲和并行協(xié)同處理。雖然單個神經(jīng)元的結構極其簡單,功能有限,但大量神經(jīng)元構成的網(wǎng)絡系統(tǒng)所能實現(xiàn)的行為卻是極其豐富多彩的。
人工神經(jīng)網(wǎng)絡首先要以一定的學習準則進行學習,然后才能工作。現(xiàn)以人工神經(jīng)網(wǎng)絡對手寫“a”、“b”兩個字母的識別為例進行說明,規(guī)定當“a”輸入網(wǎng)絡時,應該輸出“1”,而當輸入為“b”時,輸出為“0”。
所以網(wǎng)絡學習的準則應該是:如果網(wǎng)絡作出錯誤的的判決,則通過網(wǎng)絡的學習,應使得網(wǎng)絡減少下次犯同樣錯誤的可能性。
首先,給網(wǎng)絡的各連接權值賦予(0,1)區(qū)間內的隨機值,將“a”所對應的圖象模式輸入給網(wǎng)絡,網(wǎng)絡將輸入模式加權求和、與門限比較、再進行非線性運算,得到網(wǎng)絡的輸出。
在此情況下,網(wǎng)絡輸出為“1”和“0”的概率各為50%,也就是說是完全隨機的。這時如果輸出為“1”(結果正確),則使連接權值增大,以便使網(wǎng)絡再次遇到“a”模式輸入時,仍然能作出正確的判斷。
如果輸出為“0”(即結果錯誤),則把網(wǎng)絡連接權值朝著減小綜合輸入加權值的方向調整,其目的在于使網(wǎng)絡下次再遇到“a”模式輸入時,減小犯同樣錯誤的可能性。
如此操作調整,當給網(wǎng)絡輪番輸入若干個手寫字母“a”、“b”后,經(jīng)過網(wǎng)絡按以上學習方法進行若干次學習后,網(wǎng)絡判斷的正確率將大大提高。
這說明網(wǎng)絡對這兩個模式的學習已經(jīng)獲得了成功,它已將這兩個模式分布地記憶在網(wǎng)絡的各個連接權值上。當網(wǎng)絡再次遇到其中任何一個模式時,能夠作出迅速、準確的判斷和識別。
一般說來,網(wǎng)絡中所含的神經(jīng)元個數(shù)越多,則它能記憶、識別的模式也就越多。如圖所示拓撲結構的單隱層前饋網(wǎng)絡,一般稱為三層前饋網(wǎng)或三層感知器,即:輸入層、中間層(也稱隱層)和輸出層。
它的特點是:各層神經(jīng)元僅與相鄰層神經(jīng)元之間相互全連接,同層內神經(jīng)元之間無連接,各層神經(jīng)元之間無反饋連接,構成具有層次結構的前饋型神經(jīng)網(wǎng)絡系統(tǒng)。
單計算層前饋神經(jīng)網(wǎng)絡只能求解線性可分問題,能夠求解非線性問題的網(wǎng)絡必須是具有隱層的多層神經(jīng)網(wǎng)絡。神經(jīng)網(wǎng)絡的研究內容相當廣泛,反映了多學科交叉技術領域的特點。
主要的研究工作集中在以下幾個方面:(1)生物原型研究。從生理學、心理學、解剖學、腦科學、病理學等生物科學方面研究神經(jīng)細胞、神經(jīng)網(wǎng)絡、神經(jīng)系統(tǒng)的生物原型結構及其功能機理。(2)建立理論模型。
根據(jù)生物原型的研究,建立神經(jīng)元、神經(jīng)網(wǎng)絡的理論模型。其中包括概念模型、知識模型、物理化學模型、數(shù)學模型等。(3)網(wǎng)絡模型與算法研究。
在理論模型研究的基礎上構作具體的神經(jīng)網(wǎng)絡模型,以實現(xiàn)計算機模擬或準備制作硬件,包括網(wǎng)絡學習算法的研究。這方面的工作也稱為技術模型研究。(4)人工神經(jīng)網(wǎng)絡應用系統(tǒng)。
在網(wǎng)絡模型與算法研究的基礎上,利用人工神經(jīng)網(wǎng)絡組成實際的應用系統(tǒng),例如,完成某種信號處理或模式識別的功能、構作專家系統(tǒng)、制成機器人等等。
縱觀當代新興科學技術的發(fā)展歷史,人類在征服宇宙空間、基本粒子,生命起源等科學技術領域的進程中歷經(jīng)了崎嶇不平的道路。我們也會看到,探索人腦功能和神經(jīng)網(wǎng)絡的研究將伴隨著重重困難的克服而日新月異。
神經(jīng)網(wǎng)絡可以用作分類、聚類、預測等。神經(jīng)網(wǎng)絡需要有一定量的歷史數(shù)據(jù),通過歷史數(shù)據(jù)的訓練,網(wǎng)絡可以學習到數(shù)據(jù)中隱含的知識。
在你的問題中,首先要找到某些問題的一些特征,以及對應的評價數(shù)據(jù),用這些數(shù)據(jù)來訓練神經(jīng)網(wǎng)絡。雖然bp網(wǎng)絡得到了廣泛的應用,但自身也存在一些缺陷和不足,主要包括以下幾個方面的問題。
首先,由于學習速率是固定的,因此網(wǎng)絡的收斂速度慢,需要較長的訓練時間。
對于一些復雜問題,bp算法需要的訓練時間可能非常長,這主要是由于學習速率太小造成的,可采用變化的學習速率或自適應的學習速率加以改進。
其次,bp算法可以使權值收斂到某個值,但并不保證其為誤差平面的全局最小值,這是因為采用梯度下降法可能產生一個局部最小值。對于這個問題,可以采用附加動量法來解決。
再次,網(wǎng)絡隱含層的層數(shù)和單元數(shù)的選擇尚無理論上的指導,一般是根據(jù)經(jīng)驗或者通過反復實驗確定。因此,網(wǎng)絡往往存在很大的冗余性,在一定程度上也增加了網(wǎng)絡學習的負擔。最后,網(wǎng)絡的學習和記憶具有不穩(wěn)定性。
也就是說,如果增加了學習樣本,訓練好的網(wǎng)絡就需要從頭開始訓練,對于以前的權值和閾值是沒有記憶的。但是可以將預測、分類或聚類做的比較好的權值保存。
谷歌人工智能寫作項目:神經(jīng)網(wǎng)絡偽原創(chuàng)
BP神經(jīng)網(wǎng)絡(誤差反傳網(wǎng)絡)
雖然每個人工神經(jīng)元很簡單,但是只要把多個人工神經(jīng)元按一定方式連接起來就構成了一個能處理復雜信息的神經(jīng)網(wǎng)絡寫作貓。采用BP算法的多層前饋網(wǎng)絡是目前應用最廣泛的神經(jīng)網(wǎng)絡,稱之為BP神經(jīng)網(wǎng)絡。
它的最大功能就是能映射復雜的非線性函數(shù)關系。
對于已知的模型空間和數(shù)據(jù)空間,我們知道某個模型和他對應的數(shù)據(jù),但是無法寫出它們之間的函數(shù)關系式,但是如果有大量的一一對應的模型和數(shù)據(jù)樣本集合,利用BP神經(jīng)網(wǎng)絡可以模擬(映射)它們之間的函數(shù)關系。
一個三層BP網(wǎng)絡如圖8.11所示,分為輸入層、隱層、輸出層。它是最常用的BP網(wǎng)絡。理論分析證明三層網(wǎng)絡已經(jīng)能夠表達任意復雜的連續(xù)函數(shù)關系了。只有在映射不連續(xù)函數(shù)時(如鋸齒波)才需要兩個隱層[8]。
圖8.11中,X=(x1,…,xi,…,xn)T為輸入向量,如加入x0=-1,可以為隱層神經(jīng)元引入閥值;隱層輸出向量為:Y=(y1,…,yi,…,ym)T,如加入y0=-1,可以為輸出層神經(jīng)元引入閥值;輸出層輸出向量為:O=(o1,…,oi,…,ol)T;輸入層到隱層之間的權值矩陣用V表示,V=(V1,…,Vj,…,Vl)T,其中列向量Vj表示隱層第j個神經(jīng)元的權值向量;隱層到輸出層之間的權值矩陣用W表示,W=(W1,…,Wk,…,Wl)T,其中列向量Wk表示輸出層第k個神經(jīng)元的權值向量。
圖8.11 三層BP網(wǎng)絡[8]BP算法的基本思想是:預先給定一一對應的輸入輸出樣本集。學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。
正向傳播時,輸入樣本從輸入層傳入,經(jīng)過各隱層逐層處理后,傳向輸出層。若輸出層的實際輸出與期望的輸出(教師信號)不符,則轉入誤差的反向傳播。
將輸出誤差以某種形式通過隱層向輸入層逐層反傳,并將誤差分攤給各層的所有神經(jīng)元,獲得各層的誤差信號,用它們可以對各層的神經(jīng)元的權值進行調整(關于如何修改權值參見韓立群著作[8]),循環(huán)不斷地利用輸入輸出樣本集進行權值調整,以使所有輸入樣本的輸出誤差都減小到滿意的精度。
這個過程就稱為網(wǎng)絡的學習訓練過程。當網(wǎng)絡訓練完畢后,它相當于映射(表達)了輸入輸出樣本之間的函數(shù)關系。
在地球物理勘探中,正演過程可以表示為如下函數(shù):d=f(m) (8.31)它的反函數(shù)為m=f-1(d) (8.32)如果能夠獲得這個反函數(shù),那么就解決了反演問題。
一般來說,難以寫出這個反函數(shù),但是我們可以用BP神經(jīng)網(wǎng)絡來映射這個反函數(shù)m=f-1(d)。
對于地球物理反問題,如果把觀測數(shù)據(jù)當作輸入數(shù)據(jù),模型參數(shù)當作輸出數(shù)據(jù),事先在模型空間隨機產生大量樣本進行正演計算,獲得對應的觀測數(shù)據(jù)樣本,利用它們對BP網(wǎng)絡進行訓練,則訓練好的網(wǎng)絡就相當于是地球物理數(shù)據(jù)方程的反函數(shù)。
可以用它進行反演,輸入觀測數(shù)據(jù),網(wǎng)絡就會輸出它所對應的模型。BP神經(jīng)網(wǎng)絡在能夠進行反演之前需要進行學習訓練。訓練需要大量的樣本,產生這些樣本需要大量的正演計算,此外在學習訓練過程也需要大量的時間。
但是BP神經(jīng)網(wǎng)絡一旦訓練完畢,在反演中的計算時間可以忽略。要想使BP神經(jīng)網(wǎng)絡比較好地映射函數(shù)關系,需要有全面代表性的樣本,但是由于模型空間的無限性,難以獲得全面代表性的樣本集合。
用這樣的樣本訓練出來的BP網(wǎng)絡,只能反映樣本所在的較小范圍數(shù)據(jù)空間和較小范圍模型空間的函數(shù)關系。對于超出它們的觀測數(shù)據(jù)就無法正確反演。
目前BP神經(jīng)網(wǎng)絡在一維反演有較多應用,在二維、三維反演應用較少,原因就是難以產生全面代表性的樣本空間。
BP神經(jīng)網(wǎng)絡原理
人工神經(jīng)網(wǎng)絡有很多模型,但是日前應用最廣、基本思想最直觀、最容易被理解的是多層前饋神經(jīng)網(wǎng)絡及誤差逆?zhèn)鞑W習算法(Error Back-Prooaeation),簡稱為BP網(wǎng)絡。
在1986年以Rumelhart和McCelland為首的科學家出版的《Parallel Distributed Processing》一書中,完整地提出了誤差逆?zhèn)鞑W習算法,并被廣泛接受。
多層感知網(wǎng)絡是一種具有三層或三層以上的階層型神經(jīng)網(wǎng)絡。
典型的多層感知網(wǎng)絡是三層、前饋的階層網(wǎng)絡(圖4.1),即:輸入層、隱含層(也稱中間層)、輸出層,具體如下:圖4.1 三層BP網(wǎng)絡結構(1)輸入層輸入層是網(wǎng)絡與外部交互的接口。
一般輸入層只是輸入矢量的存儲層,它并不對輸入矢量作任何加工和處理。輸入層的神經(jīng)元數(shù)目可以根據(jù)需要求解的問題和數(shù)據(jù)表示的方式來確定。
一般而言,如果輸入矢量為圖像,則輸入層的神經(jīng)元數(shù)目可以為圖像的像素數(shù),也可以是經(jīng)過處理后的圖像特征數(shù)。
(2)隱含層1989年,Robert Hecht Nielsno證明了對于任何在閉區(qū)間內的一個連續(xù)函數(shù)都可以用一個隱層的BP網(wǎng)絡來逼近,因而一個三層的BP網(wǎng)絡可以完成任意的n維到m維的映射。
增加隱含層數(shù)雖然可以更進一步的降低誤差、提高精度,但是也使網(wǎng)絡復雜化,從而增加了網(wǎng)絡權值的訓練時間。
誤差精度的提高也可以通過增加隱含層中的神經(jīng)元數(shù)目來實現(xiàn),其訓練效果也比增加隱含層數(shù)更容易觀察和調整,所以一般情況應優(yōu)先考慮增加隱含層的神經(jīng)元個數(shù),再根據(jù)具體情況選擇合適的隱含層數(shù)。
(3)輸出層輸出層輸出網(wǎng)絡訓練的結果矢量,輸出矢量的維數(shù)應根據(jù)具體的應用要求來設計,在設計時,應盡可能減少系統(tǒng)的規(guī)模,使系統(tǒng)的復雜性減少。
如果網(wǎng)絡用作識別器,則識別的類別神經(jīng)元接近1,而其它神經(jīng)元輸出接近0。
以上三層網(wǎng)絡的相鄰層之間的各神經(jīng)元實現(xiàn)全連接,即下一層的每一個神經(jīng)元與上一層的每個神經(jīng)元都實現(xiàn)全連接,而且每層各神經(jīng)元之間無連接,連接強度構成網(wǎng)絡的權值矩陣W。
BP網(wǎng)絡是以一種有教師示教的方式進行學習的。首先由教師對每一種輸入模式設定一個期望輸出值。然后對網(wǎng)絡輸入實際的學習記憶模式,并由輸入層經(jīng)中間層向輸出層傳播(稱為“模式順傳播”)。
實際輸出與期望輸出的差即是誤差。按照誤差平方最小這一規(guī)則,由輸出層往中間層逐層修正連接權值,此過程稱為“誤差逆?zhèn)鞑ァ?#xff08;陳正昌,2005)。
所以誤差逆?zhèn)鞑ド窠?jīng)網(wǎng)絡也簡稱BP(Back Propagation)網(wǎng)。隨著“模式順傳播”和“誤差逆?zhèn)鞑ァ边^程的交替反復進行。
網(wǎng)絡的實際輸出逐漸向各自所對應的期望輸出逼近,網(wǎng)絡對輸入模式的響應的正確率也不斷上升。通過此學習過程,確定下各層間的連接權值后。
典型三層BP神經(jīng)網(wǎng)絡學習及程序運行過程如下(標志淵,2006):(1)首先,對各符號的形式及意義進行說明:網(wǎng)絡輸入向量Pk=(a1,a2,...,an);網(wǎng)絡目標向量Tk=(y1,y2,...,yn);中間層單元輸入向量Sk=(s1,s2,...,sp),輸出向量Bk=(b1,b2,...,bp);輸出層單元輸入向量Lk=(l1,l2,...,lq),輸出向量Ck=(c1,c2,...,cq);輸入層至中間層的連接權wij,i=1,2,...,n,j=1,2,...p;中間層至輸出層的連接權vjt,j=1,2,...,p,t=1,2,...,p;中間層各單元的輸出閾值θj,j=1,2,...,p;輸出層各單元的輸出閾值γj,j=1,2,...,p;參數(shù)k=1,2,...,m。
(2)初始化。給每個連接權值wij、vjt、閾值θj與γj賦予區(qū)間(-1,1)內的隨機值。(3)隨機選取一組輸入和目標樣本 提供給網(wǎng)絡。
(4)用輸入樣本 、連接權wij和閾值θj計算中間層各單元的輸入sj,然后用sj通過傳遞函數(shù)計算中間層各單元的輸出bj。
基坑降水工程的環(huán)境效應與評價方法bj=f(sj) j=1,2,...,p (4.5)(5)利用中間層的輸出bj、連接權vjt和閾值γt計算輸出層各單元的輸出Lt,然后通過傳遞函數(shù)計算輸出層各單元的響應Ct。
基坑降水工程的環(huán)境效應與評價方法Ct=f(Lt) t=1,2,...,q (4.7)(6)利用網(wǎng)絡目標向量 ,網(wǎng)絡的實際輸出Ct,計算輸出層的各單元一般化誤差 。
基坑降水工程的環(huán)境效應與評價方法(7)利用連接權vjt、輸出層的一般化誤差dt和中間層的輸出bj計算中間層各單元的一般化誤差 。
基坑降水工程的環(huán)境效應與評價方法(8)利用輸出層各單元的一般化誤差 與中間層各單元的輸出bj來修正連接權vjt和閾值γt。
基坑降水工程的環(huán)境效應與評價方法(9)利用中間層各單元的一般化誤差 ,輸入層各單元的輸入Pk=(a1,a2,...,an)來修正連接權wij和閾值θj。
基坑降水工程的環(huán)境效應與評價方法(10)隨機選取下一個學習樣本向量提供給網(wǎng)絡,返回到步驟(3),直到m個訓練樣本訓練完畢。
(11)重新從m個學習樣本中隨機選取一組輸入和目標樣本,返回步驟(3),直到網(wǎng)路全局誤差E小于預先設定的一個極小值,即網(wǎng)絡收斂。如果學習次數(shù)大于預先設定的值,網(wǎng)絡就無法收斂。(12)學習結束。
可以看出,在以上學習步驟中,(8)、(9)步為網(wǎng)絡誤差的“逆?zhèn)鞑ミ^程”,(10)、(11)步則用于完成訓練和收斂過程。通常,經(jīng)過訓練的網(wǎng)絡還應該進行性能測試。
測試的方法就是選擇測試樣本向量,將其提供給網(wǎng)絡,檢驗網(wǎng)絡對其分類的正確性。測試樣本向量中應該包含今后網(wǎng)絡應用過程中可能遇到的主要典型模式(宋大奇,2006)。
這些樣本可以直接測取得到,也可以通過仿真得到,在樣本數(shù)據(jù)較少或者較難得到時,也可以通過對學習樣本加上適當?shù)脑肼暬虬凑找欢ㄒ?guī)則插值得到。
為了更好地驗證網(wǎng)絡的泛化能力,一個良好的測試樣本集中不應該包含和學習樣本完全相同的模式(董軍,2007)。
BP神經(jīng)網(wǎng)絡方法
人工神經(jīng)網(wǎng)絡是近幾年來發(fā)展起來的新興學科,它是一種大規(guī)模并行分布處理的非線性系統(tǒng),適用解決難以用數(shù)學模型描述的系統(tǒng),逼近任何非線性的特性,具有很強的自適應、自學習、聯(lián)想記憶、高度容錯和并行處理能力,使得神經(jīng)網(wǎng)絡理論的應用已經(jīng)滲透到了各個領域。
近年來,人工神經(jīng)網(wǎng)絡在水質分析和評價中的應用越來越廣泛,并取得良好效果。在這些應用中,縱觀應用于模式識別的神經(jīng)網(wǎng)絡,BP網(wǎng)絡是最有效、最活躍的方法之一。
BP網(wǎng)絡是多層前向網(wǎng)絡的權值學習采用誤差逆?zhèn)鞑W習的一種算法(Error Back Propagation,簡稱BP)。在具體應用該網(wǎng)絡時分為網(wǎng)絡訓練及網(wǎng)絡工作兩個階段。
在網(wǎng)絡訓練階段,根據(jù)給定的訓練模式,按照“模式的順傳播”→“誤差逆?zhèn)鞑ァ薄坝洃浻柧殹薄皩W習收斂”4個過程進行網(wǎng)絡權值的訓練。
在網(wǎng)絡的工作階段,根據(jù)訓練好的網(wǎng)絡權值及給定的輸入向量,按照“模式順傳播”方式求得與輸入向量相對應的輸出向量的解答(閻平凡,2000)。
BP算法是一種比較成熟的有指導的訓練方法,是一個單向傳播的多層前饋網(wǎng)絡。它包含輸入層、隱含層、輸出層,如圖4-4所示。
圖4-4 地下水質量評價的BP神經(jīng)網(wǎng)絡模型圖4-4給出了4層地下水水質評價的BP神經(jīng)網(wǎng)絡模型。同層節(jié)點之間不連接。
輸入信號從輸入層節(jié)點,依次傳過各隱含層節(jié)點,然后傳到輸出層節(jié)點,如果在輸出層得不到期望輸出,則轉入反向傳播,將誤差信號沿原來通路返回,通過學習來修改各層神經(jīng)元的權值,使誤差信號最小。
每一層節(jié)點的輸出只影響下一層節(jié)點的輸入。
每個節(jié)點都對應著一個作用函數(shù)(f)和閾值(a),BP網(wǎng)絡的基本處理單元量為非線性輸入-輸出的關系,輸入層節(jié)點閾值為0,且f(x)=x;而隱含層和輸出層的作用函數(shù)為非線性的Sigmoid型(它是連續(xù)可微的)函數(shù),其表達式為f(x)=1/(1+e-x) (4-55)設有L個學習樣本(Xk,Ok)(k=1,2,…,l),其中Xk為輸入,Ok為期望輸出,Xk經(jīng)網(wǎng)絡傳播后得到的實際輸出為Yk,則Yk與要求的期望輸出Ok之間的均方誤差為區(qū)域地下水功能可持續(xù)性評價理論與方法研究式中:M為輸出層單元數(shù);Yk,p為第k樣本對第p特性分量的實際輸出;Ok,p為第k樣本對第p特性分量的期望輸出。
樣本的總誤差為區(qū)域地下水功能可持續(xù)性評價理論與方法研究由梯度下降法修改網(wǎng)絡的權值,使得E取得最小值,學習樣本對Wij的修正為區(qū)域地下水功能可持續(xù)性評價理論與方法研究式中:η為學習速率,可取0到1間的數(shù)值。
所有學習樣本對權值Wij的修正為區(qū)域地下水功能可持續(xù)性評價理論與方法研究通常為增加學習過程的穩(wěn)定性,用下式對Wij再進行修正:區(qū)域地下水功能可持續(xù)性評價理論與方法研究式中:β為充量常量;Wij(t)為BP網(wǎng)絡第t次迭代循環(huán)訓練后的連接權值;Wij(t-1)為BP網(wǎng)絡第t-1次迭代循環(huán)訓練后的連接權值。
在BP網(wǎng)絡學習的過程中,先調整輸出層與隱含層之間的連接權值,然后調整中間隱含層間的連接權值,最后調整隱含層與輸入層之間的連接權值。實現(xiàn)BP網(wǎng)絡訓練學習程序流程,如圖4-5所示(倪深海等,2000)。
圖4-5 BP神經(jīng)網(wǎng)絡模型程序框圖若將水質評價中的評價標準作為樣本輸入,評價級別作為網(wǎng)絡輸出,BP網(wǎng)絡通過不斷學習,歸納出評價標準與評價級別間復雜的內在對應關系,即可進行水質綜合評價。
BP網(wǎng)絡對地下水質量綜合評價,其評價方法不需要過多的數(shù)理統(tǒng)計知識,也不需要對水質量監(jiān)測數(shù)據(jù)進行復雜的預處理,操作簡便易行,評價結果切合實際。
由于人工神經(jīng)網(wǎng)絡方法具有高度民主的非線性函數(shù)映射功能,使得地下水水質評價結果較準確(袁曾任,1999)。
BP網(wǎng)絡可以任意逼近任何連續(xù)函數(shù),但是它主要存在如下缺點:①從數(shù)學上看,它可歸結為一非線性的梯度優(yōu)化問題,因此不可避免地存在局部極小問題;②學習算法的收斂速度慢,通常需要上千次或更多。
神經(jīng)網(wǎng)絡具有學習、聯(lián)想和容錯功能,是地下水水質評價工作方法的改進,如何在現(xiàn)行的神經(jīng)網(wǎng)絡中進一步吸取模糊和灰色理論的某些優(yōu)點,建立更適合水質評價的神經(jīng)網(wǎng)絡模型,使該模型既具有方法的先進性又具有現(xiàn)實的可行性,將是我們今后研究和探討的問題。
BP人工神經(jīng)網(wǎng)絡
人工神經(jīng)網(wǎng)絡(artificialneuralnetwork,ANN)指由大量與自然神經(jīng)系統(tǒng)相類似的神經(jīng)元聯(lián)結而成的網(wǎng)絡,是用工程技術手段模擬生物網(wǎng)絡結構特征和功能特征的一類人工系統(tǒng)。
神經(jīng)網(wǎng)絡不但具有處理數(shù)值數(shù)據(jù)的一般計算能力,而且還具有處理知識的思維、學習、記憶能力,它采用類似于“黑箱”的方法,通過學習和記憶,找出輸入、輸出變量之間的非線性關系(映射),在執(zhí)行問題和求解時,將所獲取的數(shù)據(jù)輸入到已經(jīng)訓練好的網(wǎng)絡,依據(jù)網(wǎng)絡學到的知識進行網(wǎng)絡推理,得出合理的答案與結果。
巖土工程中的許多問題是非線性問題,變量之間的關系十分復雜,很難用確切的數(shù)學、力學模型來描述。
工程現(xiàn)場實測數(shù)據(jù)的代表性與測點的位置、范圍和手段有關,有時很難滿足傳統(tǒng)統(tǒng)計方法所要求的統(tǒng)計條件和規(guī)律,加之巖土工程信息的復雜性和不確定性,因而運用神經(jīng)網(wǎng)絡方法實現(xiàn)巖土工程問題的求解是合適的。
BP神經(jīng)網(wǎng)絡模型是誤差反向傳播(BackPagation)網(wǎng)絡模型的簡稱。它由輸入層、隱含層和輸出層組成。
網(wǎng)絡的學習過程就是對網(wǎng)絡各層節(jié)點間連接權逐步修改的過程,這一過程由兩部分組成:正向傳播和反向傳播。
正向傳播是輸入模式從輸入層經(jīng)隱含層處理傳向輸出層;反向傳播是均方誤差信息從輸出層向輸入層傳播,將誤差信號沿原來的連接通路返回,通過修改各層神經(jīng)元的權值,使得誤差信號最小。
BP神經(jīng)網(wǎng)絡模型在建立及應用過程中,主要存在的不足和建議有以下四個方面:(1)對于神經(jīng)網(wǎng)絡,數(shù)據(jù)愈多,網(wǎng)絡的訓練效果愈佳,也更能反映實際。
但在實際操作中,由于條件的限制很難選取大量的樣本值進行訓練,樣本數(shù)量偏少。(2)BP網(wǎng)絡模型其計算速度較慢、無法表達預測量與其相關參數(shù)之間親疏關系。
(3)以定量數(shù)據(jù)為基礎建立模型,若能收集到充分資料,以定性指標(如基坑降水方式、基坑支護模式、施工工況等)和一些易獲取的定量指標作為輸入層,以評價等級作為輸出層,這樣建立的BP網(wǎng)絡模型將更準確全面。
(4)BP人工神經(jīng)網(wǎng)絡系統(tǒng)具有非線性、智能的特點。
較好地考慮了定性描述和定量計算、精確邏輯分析和非確定性推理等方面,但由于樣本不同,影響要素的權重不同,以及在根據(jù)先驗知識和前人的經(jīng)驗總結對定性參數(shù)進行量化處理,必然會影響評價的客觀性和準確性。
因此,在實際評價中只有根據(jù)不同的基坑施工工況、不同的周邊環(huán)境條件,應不同用戶的需求,選擇不同的分析指標,才能滿足復雜工況條件下地質環(huán)境評價的要求,取得較好的應用效果。
關于MATLAB的bp神經(jīng)網(wǎng)絡模型的訓練和驗證
可能發(fā)生了過度擬合的問題,導致網(wǎng)絡泛化能力不足。你訓練的樣本波動性很強,但是你檢驗的樣本波動性很弱,神經(jīng)網(wǎng)絡在適應變化極大的問題時,效果不太好。
泛化:當某一反應與某種刺激形成條件聯(lián)系后,這一反應也會與其它類似的刺激形成某種程度的條件聯(lián)系,這一過程稱為泛化。
在心理學心理咨詢中所謂泛化指的是:引起求助者目前不良的心理和行為反應的刺激事件不再是最初的事件,同最初刺激事件相類似、相關聯(lián)的事件(已經(jīng)泛化),甚至同最初刺激事件不類似、無關聯(lián)的事件(完全泛化),也能引起這些心理和行為反應(癥狀表現(xiàn))。
傷寒、副傷寒流行預測模型(BP神經(jīng)網(wǎng)絡)的建立
由于目前研究的各種數(shù)學模型或多或少存在使用條件的局限性,或使用方法的復雜性等問題,預測效果均不十分理想,距離實際應用仍有較大差距。
NNT是Matlab 中較為重要的一個工具箱,在實際應用中,BP 網(wǎng)絡用的最廣泛。
神經(jīng)網(wǎng)絡具有綜合能力強,對數(shù)據(jù)的要求不高,適時學習等突出優(yōu)點,其操作簡便,節(jié)省時間,網(wǎng)絡初學者即使不了解其算法的本質,也可以直接應用功能豐富的函數(shù)來實現(xiàn)自己的目的。
因此,易于被基層單位預防工作者掌握和應用。
以下幾個問題是建立理想的因素與疾病之間的神經(jīng)網(wǎng)絡模型的關鍵:(1)資料選取應盡可能地選取所研究地區(qū)系統(tǒng)連續(xù)的因素與疾病資料,最好包括有疾病高發(fā)年和疾病低發(fā)年的數(shù)據(jù)。
在收集影響因素時,要抓住主要影響傷寒、副傷寒的發(fā)病因素。
(2)疾病發(fā)病率分級神經(jīng)網(wǎng)絡預測法是按發(fā)病率高低來進行預測,在定義發(fā)病率等級時,要結合專業(yè)知識及當?shù)厍闆r而定,并根據(jù)網(wǎng)絡學習訓練效果而適時調整,以使網(wǎng)絡學習訓練達到最佳效果。
(3)資料處理問題在實踐中發(fā)現(xiàn),資料的特征往往很大程度地影響網(wǎng)絡學習和訓練的穩(wěn)定性,因此,數(shù)據(jù)的應用、納入、排出問題有待于進一步研究。
6.3.1 人工神經(jīng)網(wǎng)絡的基本原理人工神經(jīng)網(wǎng)絡(ANN)是近年來發(fā)展起來的十分熱門的交叉學科,它涉及生物、電子、計算機、數(shù)學和物理等學科,有著廣泛的應用領域。
人工神經(jīng)網(wǎng)絡是一種自適應的高度非線性動力系統(tǒng),在網(wǎng)絡計算的基礎上,經(jīng)過多次重復組合,能夠完成多維空間的映射任務。
神經(jīng)網(wǎng)絡通過內部連接的自組織結構,具有對數(shù)據(jù)的高度自適應能力,由計算機直接從實例中學習獲取知識,探求解決問題的方法,自動建立起復雜系統(tǒng)的控制規(guī)律及其認知模型。
人工神經(jīng)網(wǎng)絡就其結構而言,一般包括輸入層、隱含層和輸出層,不同的神經(jīng)網(wǎng)絡可以有不同的隱含層數(shù),但他們都只有一層輸入和一層輸出。
神經(jīng)網(wǎng)絡的各層又由不同數(shù)目的神經(jīng)元組成,各層神經(jīng)元數(shù)目隨解決問題的不同而有不同的神經(jīng)元個數(shù)。
6.3.2 BP神經(jīng)網(wǎng)絡模型BP網(wǎng)絡是在1985年由PDP小組提出的反向傳播算法的基礎上發(fā)展起來的,是一種多層次反饋型網(wǎng)絡(圖6.17),它在輸入和輸出之間采用多層映射方式,網(wǎng)絡按層排列,只有相鄰層的節(jié)點直接相互連接,傳遞之間信息。
在正向傳播中,輸入信息從輸入層經(jīng)隱含層逐層處理,并傳向輸出層,每層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。
如果輸出層不能得到期望的輸出結果,則轉入反向傳播,將誤差信號沿原來的連同通路返回,通過修改各層神經(jīng)元的權值,使誤差信號最小。
BP網(wǎng)絡的學習算法步驟如下(圖6.18):圖6.17 BP神經(jīng)網(wǎng)絡示意圖圖6.18 BP算法流程圖第一步:設置初始參數(shù)ω和θ,(ω為初始權重,θ為臨界值,均隨機設為較小的數(shù))。
第二步:將已知的樣本加到網(wǎng)絡上,利用下式可算出他們的輸出值yi,其值為巖溶地區(qū)地下水與環(huán)境的特殊性研究式中:xi為該節(jié)點的輸入;ωij為從I到j的聯(lián)接權;θj為臨界值;yj為實際算出的輸出數(shù)據(jù)。
第三步:將已知輸出數(shù)據(jù)與上面算出的輸出數(shù)據(jù)之差(dj-yj)調整權系數(shù)ω,調整量為ΔWij=ηδjxj式中:η為比例系數(shù);xj為在隱節(jié)點為網(wǎng)絡輸入,在輸出點則為下層(隱)節(jié)點的輸出(j=1,2…,n);dj為已知的輸出數(shù)據(jù)(學習樣本訓練數(shù)據(jù));δj為一個與輸出偏差相關的值,對于輸出節(jié)點來說有δj=ηj(1-yj)(dj-yj)對于隱節(jié)點來說,由于它的輸出無法進行比較,所以經(jīng)過反向逐層計算有巖溶地區(qū)地下水與環(huán)境的特殊性研究其中k指要把上層(輸出層)節(jié)點取遍。
誤差δj是從輸出層反向逐層計算的。各神經(jīng)元的權值調整后為ωij(t)=ωij(t-1)+Vωij式中:t為學習次數(shù)。
這個算法是一個迭代過程,每一輪將各W值調整一遍,這樣一直迭代下去,知道輸出誤差小于某一允許值為止,這樣一個好的網(wǎng)絡就訓練成功了,BP算法從本質上講是把一組樣本的輸入輸出問題變?yōu)橐粋€非線性優(yōu)化問題,它使用了優(yōu)化技術中最普遍的一種梯度下降算法,用迭代運算求解權值相當于學習記憶問題。
6.3.3 BP 神經(jīng)網(wǎng)絡模型在傷寒、副傷寒流行與傳播預測中的應用傷寒、副傷寒的傳播與流行同環(huán)境之間有著一定的聯(lián)系。
根據(jù)桂林市1990年以來鄉(xiāng)鎮(zhèn)為單位的傷寒、副傷寒疫情資料,傷寒、副傷寒疫源地資料,結合現(xiàn)有資源與環(huán)境背景資料(桂林市行政區(qū)劃、土壤、氣候等)和社會經(jīng)濟資料(經(jīng)濟、人口、生活習慣等統(tǒng)計資料)建立人工神經(jīng)網(wǎng)絡數(shù)學模型,來逼近這種規(guī)律。
6.3.3.1 模型建立(1)神經(jīng)網(wǎng)絡的BP算法BP網(wǎng)絡是一種前饋型網(wǎng)絡,由1個輸入層、若干隱含層和1個輸出層構成。
如果輸入層、隱含層和輸出層的單元個數(shù)分別為n,q1,q2,m,則該三層網(wǎng)絡網(wǎng)絡可表示為BP(n,q1,q2,m),利用該網(wǎng)絡可實現(xiàn)n維輸入向量Xn=(X1,X2,…,Xn)T到m維輸出向量Ym=(Y1,Y2,…,Ym)T的非線性映射。
輸入層和輸出層的單元數(shù)n,m根據(jù)具體問題確定。
(2)樣本的選取將模型的輸入變量設計為平均溫度、平均降雨量、巖石性質、巖溶發(fā)育、地下水類型、飲用水類型、正規(guī)自來水供應比例、集中供水比例8個輸入因子(表6.29),輸出單元為傷寒副傷寒的發(fā)病率等級,共一個輸出單元。
其中q1,q2的值根據(jù)訓練結果進行選擇。表6.29 桂林市傷寒副傷寒影響因素量化表通過分析,選取在傷寒副傷寒有代表性的縣鎮(zhèn)在1994~2001年的環(huán)境參評因子作為樣本進行訓練。
利用聚類分析法對疫情進行聚類分級(Ⅰ、Ⅱ、Ⅲ、Ⅳ),傷寒副傷寒發(fā)病最高級為Ⅳ(BP網(wǎng)絡中輸出定為4),次之的為Ⅲ(BP網(wǎng)絡中輸出定為3),以此類推,最低為Ⅰ(BP網(wǎng)絡中輸出定為1)(3)數(shù)據(jù)的歸一化處理為使網(wǎng)絡在訓練過程中易于收斂,我們對輸入數(shù)據(jù)進行了歸一化處理,并將輸入的原始數(shù)據(jù)都化為0~1之間的數(shù)。
如將平均降雨量的數(shù)據(jù)乘以0.0001;將平均氣溫的數(shù)據(jù)乘以0.01;其他輸入數(shù)據(jù)也按類似的方法進行歸一化處理。
(4)模型的算法過程假設共有P個訓練樣本,輸入的第p個(p=1,2,…,P)訓練樣本信息首先向前傳播到隱含單元上。
經(jīng)過激活函數(shù)f(u)的作用得到隱含層1的輸出信息:巖溶地區(qū)地下水與環(huán)境的特殊性研究經(jīng)過激活函數(shù)f(u)的作用得到隱含層2的輸出信息:巖溶地區(qū)地下水與環(huán)境的特殊性研究激活函數(shù)f(u)我們這里采用Sigmoid型,即f(u)=1/[1+exp(-u)](6.5)隱含層的輸出信息傳到輸出層,可得到最終輸出結果為巖溶地區(qū)地下水與環(huán)境的特殊性研究以上過程為網(wǎng)絡學習的信息正向傳播過程。
另一個過程為誤差反向傳播過程。
如果網(wǎng)絡輸出與期望輸出間存在誤差,則將誤差反向傳播,利用下式來調節(jié)網(wǎng)絡權重和閾值:巖溶地區(qū)地下水與環(huán)境的特殊性研究式中:Δω(t)為t次訓練時權重和閾值的修正;η稱為學習速率,0<η<1;E為誤差平方和。
巖溶地區(qū)地下水與環(huán)境的特殊性研究反復運用以上兩個過程,直至網(wǎng)絡輸出與期望輸出間的誤差滿足一定的要求。該模型算法的缺點:1)需要較長的訓練時間。
由于一些復雜的問題,BP算法可能要進行幾小時甚至更長的時間的訓練,這主要是由于學習速率太小造成的,可采用變化的學習速率或自適應的學習速率加以改進。2)完全不能訓練。
主要表現(xiàn)在網(wǎng)絡出現(xiàn)的麻痹現(xiàn)象上,在網(wǎng)絡的訓練過程中,當其權值調的過大,可能使得所有的或大部分神經(jīng)元的加權總和n偏大,這使得激活函數(shù)的輸入工作在S型轉移函數(shù)的飽和區(qū),從而導致其導數(shù)f′(n)非常小,從而使得對網(wǎng)絡權值的調節(jié)過程幾乎停頓下來。
3)局部極小值。BP算法可以使網(wǎng)絡權值收斂到一個解,但它并不能保證所求為誤差超平面的全局最小解,很可能是一個局部極小解。
這是因為BP算法采用的是梯度下降法,訓練從某一起點沿誤差函數(shù)的斜面逐漸達到誤差的最小值。
考慮到以上算法的缺點,對模型進行了兩方面的改進:(1)附加動量法為了避免陷入局部極小值,對模型進行了改進,應用了附加動量法。
附加動量法在使網(wǎng)絡修正及其權值時,不僅考慮誤差在梯度上的作用,而且考慮在誤差曲面上變化趨勢的影響,其作用如同一個低通濾波器,它允許網(wǎng)絡忽略網(wǎng)絡上的微小變化特性。
在沒有附加動量的作用下,網(wǎng)絡可能陷入淺的局部極小值,利用附加動量的作用則有可能滑過這些極小值。
該方法是在反向傳播法的基礎上在每一個權值的變化上加上一項正比于前次權值變化量的值,并根據(jù)反向傳播法來產生心的權值變化。
促使權值的調節(jié)向著誤差曲面底部的平均方向變化,從而防止了如Δω(t)=0的出現(xiàn),有助于使網(wǎng)絡從誤差曲面的局部極小值中跳出。
這種方法主要是把式(6.7)改進為巖溶地區(qū)地下水與環(huán)境的特殊性研究式中:A為訓練次數(shù);a為動量因子,一般取0.95左右。
訓練中對采用動量法的判斷條件為巖溶地區(qū)地下水與環(huán)境的特殊性研究(2)自適應學習速率對于一個特定的問題,要選擇適當?shù)膶W習速率不是一件容易的事情。
通常是憑經(jīng)驗或實驗獲取,但即使這樣,對訓練開始初期功效較好的學習速率,不見得對后來的訓練合適。
所以,為了盡量縮短網(wǎng)絡所需的訓練時間,采用了學習速率隨著訓練變化的方法來找到相對于每一時刻來說較差的學習速率。
下式給出了一種自適應學習速率的調整公式:巖溶地區(qū)地下水與環(huán)境的特殊性研究通過以上兩個方面的改進,訓練了一個比較理想的網(wǎng)絡,將動量法和自適應學習速率結合起來,效果要比單獨使用要好得多。
6.3.3.2 模型的求解與預測采用包含了2個隱含層的神經(jīng)網(wǎng)絡BP(4,q1,q2,1),隱含層單元數(shù)q1,q2與所研究的具體問題有關,目前尚無統(tǒng)一的確定方法,通常根據(jù)網(wǎng)絡訓練情況采用試錯法確定。
在滿足一定的精度要求下一般認小的數(shù)值,以改善網(wǎng)絡的概括推論能力。
在訓練中網(wǎng)絡的收斂采用輸出值Ykp與實測值tp的誤差平方和進行控制:巖溶地區(qū)地下水與環(huán)境的特殊性研究1)將附加動量法和自適應學習速率結合應用,分析桂林市36個鄉(xiāng)鎮(zhèn)地質條件各因素對傷寒副傷寒發(fā)病等級的影響。
因此訓練樣本為36個,第一個隱含層有19個神經(jīng)元,第二個隱含層有11個神經(jīng)元,學習速率為0.001。A.程序(略)。B.網(wǎng)絡訓練。
在命令窗口執(zhí)行運行命令,網(wǎng)絡開始學習和訓練,其學習和訓練過程如下(圖6.19)。圖6.19 神經(jīng)網(wǎng)絡訓練過程圖C.模型預測。
a.輸入未參與訓練的鄉(xiāng)鎮(zhèn)(洞井鄉(xiāng)、兩水鄉(xiāng)、延東鄉(xiāng)、四塘鄉(xiāng)、嚴關鎮(zhèn)、靈田鄉(xiāng))地質條件數(shù)據(jù)。b.預測。程序運行后網(wǎng)絡輸出預測值a3,與已知的實際值進行比較,其預測結果整理后見(表6.30)。
經(jīng)計算,對6個鄉(xiāng)鎮(zhèn)傷寒副傷寒發(fā)病等級的預測符合率為83.3%。表6.30 神經(jīng)網(wǎng)絡模型預測結果與實際結果比較c.地質條件改進方案。
在影響疾病發(fā)生的地質條件中,大部分地質條件是不會變化的,而改變發(fā)病地區(qū)的飲用水類型是可以人為地通過改良措施加以實施的一個因素。
因此,以靈田鄉(xiāng)為例對發(fā)病率較高的鄉(xiāng)鎮(zhèn)進行分析,改變其飲用水類型,來看發(fā)病等級的變化情況。
表6.31顯示,在其他地質條件因素不變的情況下,改變當?shù)氐牡叵滤愋?#xff08;從原來的巖溶水類型改變成基巖裂隙水)則將發(fā)病等級從原來的最高級4級,下降為較低的2級,效果是十分明顯的。
因此,今后在進行傷寒副傷寒疾病防治的時候,可以通過改變高發(fā)區(qū)飲用水類型來客觀上減少疫情的發(fā)生。
表6.31 靈田鄉(xiāng)改變飲用水類型前后的預測結果2)選取桂林地區(qū)1994~2000年月平均降雨量、月平均溫度作為輸入數(shù)據(jù)矩陣,進行樣本訓練,設定不同的隱含層單元數(shù),對各月份的數(shù)據(jù)進行BP網(wǎng)絡訓練。
在隱含層單元數(shù)q1=13,q2=9,經(jīng)過46383次數(shù)的訓練,誤差達到精度要求,學習速率0.02。A.附加動量法程序(略)。B.網(wǎng)絡訓練。
在命令窗口執(zhí)行運行命令,網(wǎng)絡開始學習和訓練,其學習和訓練過程如下(圖6.20)。C.模型預測。a.輸入桂林市2001年1~12月桂林市各月份的平均氣溫和平均降雨量。預測程度(略)。b.預測。
程序運行后網(wǎng)絡輸出預測值a2,與已知的實際值進行比較,其預測結果整理后見(表6.32)。經(jīng)計算,對2001年1~12月傷寒副傷寒發(fā)病等級進行預測,12個預測結果中,有9個符合,符合率為75%。
圖6.20 神經(jīng)網(wǎng)絡訓練過程圖表6.32 神經(jīng)網(wǎng)絡模型預測結果與實際值比較6.3.3.3 模型的評價本研究采用BP神經(jīng)網(wǎng)絡對傷寒、副傷寒發(fā)病率等級進行定量預測,一方面引用數(shù)量化理論對不確定因素進行量化處理;另一方面利用神經(jīng)網(wǎng)絡優(yōu)點,充分考慮各影響因素與發(fā)病率之間的非線性映射。
實際應用表明,神經(jīng)網(wǎng)絡定量預測傷寒、副傷寒發(fā)病率是理想的。其主要優(yōu)點有:1)避免了模糊或不確定因素的分析工作和具體數(shù)學模型的建立工作。2)完成了輸入和輸出之間復雜的非線性映射關系。
3)采用自適應的信息處理方式,有效減少人為的主觀臆斷性。雖然如此,但仍存在以下缺點:1)學習算法的收斂速度慢,通常需要上千次或更多,訓練時間長。2)從數(shù)學上看,BP算法有可能存在局部極小問題。
本模型具有廣泛的應用范圍,可以應用在很多領域。從上面的結果可以看出,實際和網(wǎng)絡學習數(shù)據(jù)總體較為接近,演化趨勢也基本一致。
說明選定的氣象因子、地質條件因素為神經(jīng)單元獲得的傷寒、副傷寒發(fā)病等級與實際等級比較接近,從而證明傷寒、副傷寒流行與地理因素的確存在較密切的相關性。
?
總結
以上是生活随笔為你收集整理的bp神经网络训练过程matlab,bp神经网络训练时间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电子制造业生产进度监控困难?全流程条码管
- 下一篇: 关于ORA-1658错误和用户表空间配额