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