BP神經(jīng)網(wǎng)絡詳解與實例 BP算法 神經(jīng)網(wǎng)絡 機器學習_第1頁
BP神經(jīng)網(wǎng)絡詳解與實例 BP算法 神經(jīng)網(wǎng)絡 機器學習_第2頁
BP神經(jīng)網(wǎng)絡詳解與實例 BP算法 神經(jīng)網(wǎng)絡 機器學習_第3頁
BP神經(jīng)網(wǎng)絡詳解與實例 BP算法 神經(jīng)網(wǎng)絡 機器學習_第4頁
BP神經(jīng)網(wǎng)絡詳解與實例 BP算法 神經(jīng)網(wǎng)絡 機器學習_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

.,人工神經(jīng)網(wǎng)絡(ArtificialNeuralNetwroks-ANN)-HZAU數(shù)?;?.,引言,利用機器模仿人類的智能是長期以來人們認識自然、改造自然和認識自身的理想。研究ANN目的:(1)探索和模擬人的感覺、思維和行為的規(guī)律,設計具有人類智能的計算機系統(tǒng)。(2)探討人腦的智能活動,用物化了的智能來考察和研究人腦智能的物質(zhì)過程及其規(guī)律。,.,ANN的研究內(nèi)容,(1)理論研究:ANN模型及其學習算法,試圖從數(shù)學上描述ANN的動力學過程,建立相應的ANN模型,在該模型的基礎上,對于給定的學習樣本,找出一種能以較快的速度和較高的精度調(diào)整神經(jīng)元間互連權(quán)值,使系統(tǒng)達到穩(wěn)定狀態(tài),滿足學習要求的算法。(2)實現(xiàn)技術(shù)的研究:探討利用電子、光學、生物等技術(shù)實現(xiàn)神經(jīng)計算機的途徑。(3)應用的研究:探討如何應用ANN解決實際問題,如模式識別、故障檢測、智能機器人等。,.,研究ANN方法,(1)生理結(jié)構(gòu)的模擬:用仿生學觀點,探索人腦的生理結(jié)構(gòu),把對人腦的微觀結(jié)構(gòu)及其智能行為的研究結(jié)合起來即人工神經(jīng)網(wǎng)絡(ArtificialNeuralNetwroks,簡稱ANN)方法。(2)宏觀功能的模擬:從人的思維活動和智能行為的心理學特性出發(fā),利用計算機系統(tǒng)來對人腦智能進行宏觀功能的模擬,即符號處理方法。,.,ANN研究的目的和意義,(1)通過揭示物理平面與認知平面之間的映射,了解它們相互聯(lián)系和相互作用的機理,從而揭示思維的本質(zhì),探索智能的本源。(2)爭取構(gòu)造出盡可能與人腦具有相似功能的計算機,即ANN計算機。(3)研究仿照腦神經(jīng)系統(tǒng)的人工神經(jīng)網(wǎng)絡,將在模式識別、組合優(yōu)化和決策判斷等方面取得傳統(tǒng)計算機所難以達到的效果。,.,神經(jīng)網(wǎng)絡研究的發(fā)展,(1)第一次熱潮(40-60年代未)1943年,美國心理學家W.McCulloch和數(shù)學家W.Pitts在提出了一個簡單的神經(jīng)元模型,即MP模型。1958年,F(xiàn).Rosenblatt等研制出了感知機(Perceptron)。(2)低潮(70-80年代初):(3)第二次熱潮1982年,美國物理學家J.J.Hopfield提出Hopfield模型,它是一個互聯(lián)的非線性動力學網(wǎng)絡.他解決問題的方法是一種反復運算的動態(tài)過程,這是符號邏輯處理方法所不具備的性質(zhì).1987年首屆國際ANN大會在圣地亞哥召開,國際ANN聯(lián)合會成立,創(chuàng)辦了多種ANN國際刊物。1990年12月,北京召開首屆學術(shù)會議。,.,人工神經(jīng)網(wǎng)絡研究的局限性,(1)ANN研究受到腦科學研究成果的限制。(2)ANN缺少一個完整、成熟的理論體系。(3)ANN研究帶有濃厚的策略和經(jīng)驗色彩。(4)ANN與傳統(tǒng)技術(shù)的接口不成熟。,.,人工神經(jīng)網(wǎng)絡概述,什么是人工神經(jīng)網(wǎng)絡?T.Koholen的定義:“人工神經(jīng)網(wǎng)絡是由具有適應性的簡單單元組成的廣泛并行互連的網(wǎng)絡,它的組織能夠模擬生物神經(jīng)系統(tǒng)對真實世界物體所作出的交互反應?!?.,二、神經(jīng)元與神經(jīng)網(wǎng)絡,大腦可視作為1000多億神經(jīng)元組成的神經(jīng)網(wǎng)絡,圖3神經(jīng)元的解剖圖,.,神經(jīng)元的信息傳遞和處理是一種電化學活動樹突由于電化學作用接受外界的刺激;通過胞體內(nèi)的活動體現(xiàn)為軸突電位,當軸突電位達到一定的值則形成神經(jīng)脈沖或動作電位;再通過軸突末梢傳遞給其它的神經(jīng)元從控制論的觀點來看;這一過程可以看作一個多輸入單輸出非線性系統(tǒng)的動態(tài)過程,神經(jīng)網(wǎng)絡研究的兩個方面從生理上、解剖學上進行研究從工程技術(shù)上、算法上進行研究,.,腦神經(jīng)信息活動的特征,(1)巨量并行性。(2)信息處理和存儲單元結(jié)合在一起。(3)自組織自學習功能。,.,神經(jīng)網(wǎng)絡基本模型,.,神經(jīng)元的數(shù)學模型,圖4神經(jīng)元的數(shù)學模型,.,其中x(x1,xm)T輸入向量,y為輸出,wi是權(quán)系數(shù);輸入與輸出具有如下關系:,為閾值,f(X)是激發(fā)函數(shù);它可以是線性函數(shù),也可以是非線性函數(shù),.,例如,若記,取激發(fā)函數(shù)為符號函數(shù),則,S型激發(fā)函數(shù):,.,或,注:若將閾值看作是一個權(quán)系數(shù),-1是一個固定的輸入,另有m-1個正常的輸入,則(1)式也可表示為:,(1),參數(shù)識別:假設函數(shù)形式已知,則可以從已有的輸入輸出數(shù)據(jù)確定出權(quán)系數(shù)及閾值。,.,2、神經(jīng)網(wǎng)絡的數(shù)學模型,眾多神經(jīng)元之間組合形成神經(jīng)網(wǎng)絡,例如下圖的含有中間層(隱層)的B-P網(wǎng)絡,.,基本BP網(wǎng)絡的拓撲結(jié)構(gòu),b1,bi,a1,c1,cq,cj,ah,bp,an,Wp1,Wiq,Wpj,W1q,W1j,Wij,V11,W11,Wpq,Wi1,Vh1,Vhi,V1i,Vn1,Vni,V1p,Vhp,Vnp,輸出層LC,隱含層LB,輸入層LA,W,V,.,ANN類型與功能,.,一般而言,ANN與經(jīng)典計算方法相比并非優(yōu)越,只有當常規(guī)方法解決不了或效果不佳時ANN方法才能顯示出其優(yōu)越性。尤其對問題的機理不甚了解或不能用數(shù)學模型表示的系統(tǒng),如故障診斷、特征提取和預測等問題,ANN往往是最有利的工具。另一方面,ANN對處理大量原始數(shù)據(jù)而不能用規(guī)則或公式描述的問題,表現(xiàn)出極大的靈活性和自適應性。,.,人工神經(jīng)網(wǎng)絡(ArtificialNeuronNets=ANN),例,1981年生物學家格若根(WGrogan)和維什(WWirth)發(fā)現(xiàn)了兩類蚊子(或飛蠓midges)他們測量了這兩類蚊子每個個體的翼長和觸角長,數(shù)據(jù)如下:,翼長觸角長類別1.641.38Af1.821.38Af1.901.38Af1.701.40Af1.821.48Af1.821.54Af2.081.56Af,翼長觸角長類別1.781.14Apf1.961.18Apf1.861.20Apf1.721.24Af2.001.26Apf2.001.28Apf1.961.30Apf1.741.36Af,.,問:如果抓到三只新的蚊子,它們的觸角長和翼長分別為(l.24,1.80);(l.28,1.84);(1.40,2.04)問它們應分別屬于哪一個種類?,解法一:,把翼長作縱坐標,觸角長作橫坐標;那么每個蚊子的翼長和觸角決定了坐標平面的一個點.其中6個蚊子屬于APf類;用黑點“”表示;9個蚊子屬Af類;用小圓圈“?!北硎镜玫降慕Y(jié)果見圖1,圖1飛蠓的觸角長和翼長,.,思路:作一直線將兩類飛蠓分開,例如;取A(1.44,2.10)和B(1.10,1.16),過AB兩點作一條直線:y1.47x-0.017其中X表示觸角長;y表示翼長,分類規(guī)則:設一個蚊子的數(shù)據(jù)為(x,y)如果y1.47x-0.017,則判斷蚊子屬Apf類;如果y1.47x-0.017;則判斷蚊子屬Af類,.,分類結(jié)果:(1.24,1.80),(1.28,1.84)屬于Af類;(1.40,2.04)屬于Apf類,圖2分類直線圖,.,缺陷:根據(jù)什么原則確定分類直線?,若取A=(1.46,2.10),B=(1.1,1.6)不變,則分類直線變?yōu)閥=1.39x+0.071,分類結(jié)果變?yōu)椋?1.24,1.80),(1.40,2.04)屬于Apf類;(1.28,1.84)屬于Af類,哪一分類直線才是正確的呢?,因此如何來確定這個判別直線是一個值得研究的問題一般地講,應該充分利用已知的數(shù)據(jù)信息來確定判別直線,.,再如,如下的情形已經(jīng)不能用分類直線的辦法:,新思路:將問題看作一個系統(tǒng),飛蠓的數(shù)據(jù)作為輸入,飛蠓的類型作為輸出,研究輸入與輸出的關系。,.,基本BP網(wǎng)絡的拓撲結(jié)構(gòu),b1,bi,a1,c1,cq,cj,ah,bp,an,Wp1,Wiq,Wpj,W1q,W1j,Wij,V11,W11,Wpq,Wi1,Vh1,Vhi,V1i,Vn1,Vni,V1p,Vhp,Vnp,輸出層LC,隱含層LB,輸入層LA,W,V,.,四、反向傳播算法(B-P算法),Backpropagationalgorithm,1簡單網(wǎng)絡的B-P算法,算法的目的:根據(jù)實際的輸入與輸出數(shù)據(jù),計算模型的參數(shù)(權(quán)系數(shù)),圖6簡單網(wǎng)絡,.,假設有P個訓練樣本,即有P個輸入輸出對(Ip,Tp),p=1,P,其中,輸入向量為:,目標輸出向量為(實際上的):,網(wǎng)絡輸出向量為(理論上的),.,記wij為從輸入向量的第j(j=1,m)個分量到輸出向量的第i(i=1,n)個分量的權(quán)重。通常理論值與實際值有一誤差,網(wǎng)絡學習則是指不斷地把與比較,并根據(jù)極小原則修改參數(shù)wij,使誤差平方和達最?。?記,Delta學習規(guī)則:,(4),(3),表示遞推一次的修改量,則有,稱為學習的速率,.,ipm=-1,wim=(第i個神經(jīng)元的閾值)(5),注:由(1)式,第i個神經(jīng)元的輸出可表示為,特別當f是線性函數(shù)時,(6),.,.,圖7多層前饋網(wǎng)絡,2多層前饋網(wǎng)絡,(l)輸入層不計在層數(shù)之內(nèi),它有N0個神經(jīng)元設網(wǎng)絡共有L層;輸出層為第L層;第k層有Nk個神經(jīng)元,假設:,wk(i,j)表示從第k-1層第j個元到第k層第i個元的權(quán)重,,表第k層第i個元的輸出,.,(3)設層與層間的神經(jīng)元都有信息交換(否則,可設它們之間的權(quán)重為零);但同一層的神經(jīng)元之間無信息傳輸,(4)設信息傳輸?shù)姆较蚴菑妮斎雽拥捷敵鰧臃较颍灰虼朔Q為前向網(wǎng)絡沒有反向傳播信息,(5)表示輸入的第j個分量,假設:,.,在上述假定下網(wǎng)絡的輸入輸出關系可以表示為:,(7),其中表示第k層第i個元的閾值.,.,定理2對于具有多個隱層的前饋神經(jīng)網(wǎng)絡;設激發(fā)函數(shù)為S函數(shù);且指標函數(shù)取,(8),(9),則每個訓練循環(huán)中按梯度下降時;其權(quán)重迭代公式為,(10),表示第-1層第個元對第層第個元輸入的第次迭代時的權(quán)重,其中,(11),(12),.,BP算法,Step1,選定學習的數(shù)據(jù),p=1,P,隨機確定初始權(quán)矩陣W(0),Step2,用(10)式反向修正,直到用完所有學習數(shù)據(jù).,用學習數(shù)據(jù)計算網(wǎng)絡輸出,Step3,.,五應用之例:蚊子的分類,已知的兩類蚊子的數(shù)據(jù)如表1:,翼長觸角長類別1.781.14Apf1.961.18Apf1.861.20Apf1.721.24Af2.001.26Apf2.001.28Apf1.961.30Apf1.741.36Af,目標值0.90.90.90.10.90.90.90.1,翼長觸角長類別1.641.38Af1.821.38Af1.901.38Af1.701.40Af1.821.48Af1.821.54Af2.081.56Af,目標t0.10.10.10.10.10.10.1,.,輸入數(shù)據(jù)有15個,即,p=1,15;j=1,2;對應15個輸出。建模:(輸入層,中間層,輸出層,每層的元素應取多少個?)建立神經(jīng)網(wǎng)絡,.,規(guī)定目標為:當t(1)=0.9時表示屬于Apf類,t(2)=0.1表示屬于Af類。設兩個權(quán)重系數(shù)矩陣為:,.,分析如下:,為第一層的輸出,同時作為第二層的輸入。,其中,為閾值,為激勵函數(shù),(閾值作為固定輸入神經(jīng)元相應的權(quán)系數(shù)),.,則有:,取激勵函數(shù)為,同樣,取,.,(1)隨機給出兩個權(quán)矩陣的初值;例如用MATLAB軟件時可以用以下語句:,令p=0,具體算法如下:,=rand(2,3);,=rand(1,3);,(2)根據(jù)輸入數(shù)據(jù)利用公式算出網(wǎng)絡的輸出,=,.,取,(3)計算,(4)取,(或其他正數(shù),可調(diào)整大?。?.,j=1,2,3,i=1,2,3,j=1,2,3,.,(6)p=p+1,轉(zhuǎn)(2),注:僅計算一圈(p=1,2,15)是不夠的,直到當各權(quán)重變化很小時停止,本例中,共計算了147圈,迭代了2205次。最后結(jié)果是:,.,即網(wǎng)絡模型的解為:,=,.,BP網(wǎng)絡建模特點:非線性映照能力:神經(jīng)網(wǎng)絡能以任意精度逼近任何非線性連續(xù)函數(shù)。在建模過程中的許多問題正是具有高度的非線性。并行分布處理方式:在神經(jīng)網(wǎng)絡中信息是分布儲存和并行處理的,這使它具有很強的容錯性和很快的處理速度。自學習和自適應能力:神經(jīng)網(wǎng)絡在訓練時,能從輸入、輸出的數(shù)據(jù)中提取出規(guī)律性的知識,記憶于網(wǎng)絡的權(quán)值中,并具有泛化能力,即將這組權(quán)值應用于一般情形的能力。神經(jīng)網(wǎng)絡的學習也可以在線進行。數(shù)據(jù)融合的能力:神經(jīng)網(wǎng)絡可以同時處理定量信息和定性信息,因此它可以利用傳統(tǒng)的工程技術(shù)(數(shù)值運算)和人工智能技術(shù)(符號處理)。多變量系統(tǒng):神經(jīng)網(wǎng)絡的輸入和輸出變量的數(shù)目是任意的,對單變量系統(tǒng)與多變量系統(tǒng)提供了一種通用的描述方式,不必考慮各子系統(tǒng)間的解耦問題。,.,神經(jīng)網(wǎng)絡的應用,人工神經(jīng)網(wǎng)絡以其具有自學習、自組織、較好的容錯性和優(yōu)良的非線性逼近能力,受到眾多領域?qū)W者的關注。在實際應用中,80%90%的人工神經(jīng)網(wǎng)絡模型是采用誤差反傳算法或其變化形式的網(wǎng)絡模型(簡稱BP網(wǎng)絡),目前主要應用于函數(shù)逼近、模式識別、分類和數(shù)據(jù)壓縮或數(shù)據(jù)挖掘。,.,基本BP網(wǎng)絡的拓撲結(jié)構(gòu),b1,bi,a1,c1,cq,cj,ah,bp,an,Wp1,Wiq,Wpj,W1q,W1j,Wij,V11,W11,Wpq,Wi1,Vh1,Vhi,V1i,Vn1,Vni,V1p,Vhp,Vnp,輸出層LC,隱含層LB,輸入層LA,W,V,.,1.樣本數(shù)據(jù)1.1收集和整理分組采用BP神經(jīng)網(wǎng)絡方法建模的首要和前提條件是有足夠多典型性好和精度高的樣本。而且,為監(jiān)控訓練(學習)過程使之不發(fā)生“過擬合”和評價建立的網(wǎng)絡模型的性能和泛化能力,必須將收集到的數(shù)據(jù)隨機分成訓練樣本、檢驗樣本(10%以上)和測試樣本(10%以上)3部分。此外,數(shù)據(jù)分組時還應盡可能考慮樣本模式間的平衡。,.,1.2輸入/輸出變量的確定及其數(shù)據(jù)的預處理一般地,BP網(wǎng)絡的輸入變量即為待分析系統(tǒng)的內(nèi)生變量(影響因子或自變量)數(shù),一般根據(jù)專業(yè)知識確定。若輸入變量較多,一般可通過主成份分析方法壓減輸入變量,也可根據(jù)剔除某一變量引起的系統(tǒng)誤差與原系統(tǒng)誤差的比值的大小來壓減輸入變量。輸出變量即為系統(tǒng)待分析的外生變量(系統(tǒng)性能指標或因變量),可以是一個,也可以是多個。一般將一個具有多個輸出的網(wǎng)絡模型轉(zhuǎn)化為多個具有一個輸出的網(wǎng)絡模型效果會更好,訓練也更方便。,.,由于BP神經(jīng)網(wǎng)絡的隱層一般采用Sigmoid轉(zhuǎn)換函數(shù),為提高訓練速度和靈敏性以及有效避開Sigmoid函數(shù)的飽和區(qū),一般要求輸入數(shù)據(jù)的值在01之間。因此,要對輸入數(shù)據(jù)進行預處理。一般要求對不同變量分別進行預處理,也可以對類似性質(zhì)的變量進行統(tǒng)一的預處理。如果輸出層節(jié)點也采用Sigmoid轉(zhuǎn)換函數(shù),輸出變量也必須作相應的預處理,否則,輸出變量也可以不做預處理。預處理的方法有多種多樣,各文獻采用的公式也不盡相同。但必須注意的是,預處理的數(shù)據(jù)訓練完成后,網(wǎng)絡輸出的結(jié)果要進行反變換才能得到實際值。再者,為保證建立的模型具有一定的外推能力,最好使數(shù)據(jù)預處理后的值在0.20.8之間。,.,2.神經(jīng)網(wǎng)絡拓撲結(jié)構(gòu)的確定2.1隱層數(shù)一般認為,增加隱層數(shù)可以降低網(wǎng)絡誤差(也有文獻認為不一定能有效降低),提高精度,但也使網(wǎng)絡復雜化,從而增加了網(wǎng)絡的訓練時間和出現(xiàn)“過擬合”的傾向。Hornik等早已證明:若輸入層和輸出層采用線性轉(zhuǎn)換函數(shù),隱層采用Sigmoid轉(zhuǎn)換函數(shù),則含一個隱層的MLP網(wǎng)絡能夠以任意精度逼近任何有理函數(shù)。顯然,這是一個存在性結(jié)論。在設計BP網(wǎng)絡時可參考這一點,應優(yōu)先考慮3層BP網(wǎng)絡(即有1個隱層)。一般地,靠增加隱層節(jié)點數(shù)來獲得較低的誤差,其訓練效果要比增加隱層數(shù)更容易實現(xiàn)。對于沒有隱層的神經(jīng)網(wǎng)絡模型,實際上就是一個線性或非線性(取決于輸出層采用線性或非線性轉(zhuǎn)換函數(shù)型式)回歸模型。因此,一般認為,應將不含隱層的網(wǎng)絡模型歸入回歸分析中,技術(shù)已很成熟,沒有必要在神經(jīng)網(wǎng)絡理論中再討論之。,.,2.2隱層節(jié)點數(shù)在BP網(wǎng)絡中,隱層節(jié)點數(shù)的選擇非常重要,它不僅對建立的神經(jīng)網(wǎng)絡模型的性能影響很大,而且是訓練時出現(xiàn)“過擬合”的直接原因,但是目前理論上還沒有一種科學的和普遍的確定方法。目前多數(shù)文獻中提出的確定隱層節(jié)點數(shù)的計算公式都是針對訓練樣本任意多的情況,而且多數(shù)是針對最不利的情況,一般工程實踐中很難滿足,不宜采用。事實上,各種計算公式得到的隱層節(jié)點數(shù)有時相差幾倍甚至上百倍。為盡可能避免訓練時出現(xiàn)“過擬合”現(xiàn)象,保證足夠高的網(wǎng)絡性能和泛化能力,確定隱層節(jié)點數(shù)的最基本原則是:在滿足精度要求的前提下取盡可能緊湊的結(jié)構(gòu),即取盡可能少的隱層節(jié)點數(shù)。研究表明,隱層節(jié)點數(shù)不僅與輸入/輸出層的節(jié)點數(shù)有關,更與需解決的問題的復雜程度和轉(zhuǎn)換函數(shù)的型式以及樣本數(shù)據(jù)的特性等因素有關。,.,在確定隱層節(jié)點數(shù)時必須滿足下列條件:隱層節(jié)點數(shù)必須小于N-1(其中N為訓練樣本數(shù)),否則,網(wǎng)絡模型的系統(tǒng)誤差與訓練樣本的特性無關而趨于零,即建立的網(wǎng)絡模型沒有泛化能力,也沒有任何實用價值。同理可推得:輸入層的節(jié)點數(shù)(變量數(shù))必須小于N-1。(2)訓練樣本數(shù)必須多于網(wǎng)絡模型的連接權(quán)數(shù),一般為210倍,否則,樣本必須分成幾部分并采用“輪流訓練”的方法才可能得到可靠的神經(jīng)網(wǎng)絡模型。,.,總之,若隱層節(jié)點數(shù)太少,網(wǎng)絡可能根本不能訓練或網(wǎng)絡性能很差;若隱層節(jié)點數(shù)太多,雖然可使網(wǎng)絡的系統(tǒng)誤差減小,但一方面使網(wǎng)絡訓練時間延長,另一方面,訓練容易陷入局部極小點而得不到最優(yōu)點,也是訓練時出現(xiàn)“過擬合”的內(nèi)在原因。因此,合理隱層節(jié)點數(shù)應在綜合考慮網(wǎng)絡結(jié)構(gòu)復雜程度和誤差大小的情況下用節(jié)點刪除法和擴張法確定。,.,3.神經(jīng)網(wǎng)絡的訓練3.1訓練BP網(wǎng)絡的訓練就是通過應用誤差反傳原理不斷調(diào)整網(wǎng)絡權(quán)值使網(wǎng)絡模型輸出值與已知的訓練樣本輸出值之間的誤差平方和達到最小或小于某一期望值。雖然理論上早已經(jīng)證明:具有1個隱層(采用Sigmoid轉(zhuǎn)換函數(shù))的BP網(wǎng)絡可實現(xiàn)對任意函數(shù)的任意逼近。但遺憾的是,迄今為止還沒有構(gòu)造性結(jié)論,即在給定有限個(訓練)樣本的情況下,如何設計一個合理的BP網(wǎng)絡模型并通過向所給的有限個樣本的學習(訓練)來滿意地逼近樣本所蘊含的規(guī)律(函數(shù)關系,不僅僅是使訓練樣本的誤差達到很小)的問題,目前在很大程度上還需要依靠經(jīng)驗知識和設計者的經(jīng)驗。因此,通過訓練樣本的學習(訓練)建立合理的BP神經(jīng)網(wǎng)絡模型的過程,在國外被稱為“藝術(shù)創(chuàng)造的過程”,是一個復雜而又十分煩瑣和困難的過程。,.,由于BP網(wǎng)絡采用誤差反傳算法,其實質(zhì)是一個無約束的非線性最優(yōu)化計算過程,在網(wǎng)絡結(jié)構(gòu)較大時不僅計算時間長,而且很容易限入局部極小點而得不到最優(yōu)結(jié)果。目前雖已有改進BP法、遺傳算法(GA)和模擬退火算法等多種優(yōu)化方法用于BP網(wǎng)絡的訓練(這些方法從原理上講可通過調(diào)整某些參數(shù)求得全局極小點),但在應用中,這些參數(shù)的調(diào)整往往因問題不同而異,較難求得全局極小點。這些方法中應用最廣的是增加了沖量(動量)項的改進BP算法。,.,3.2學習率和沖量系數(shù)學習率影響系統(tǒng)學習過程的穩(wěn)定性。大的學習率可能使網(wǎng)絡權(quán)值每一次的修正量過大,甚至會導致權(quán)值在修正過程中超出某個誤差的極小值呈不規(guī)則跳躍而不收斂;但過小的學習率導致學習時間過長,不過能保證收斂于某個極小值。所以,一般傾向選取較小的學習率以保證學習過程的收斂性(穩(wěn)定性),通常在0.010.8之間。增加沖量項的目的是為了避免網(wǎng)絡訓練陷于較淺的局部極小點。理論上其值大小應與權(quán)值修正量的大小有關,但實際應用中一般取常量。通常在01之間,而且一般比學習率要大。,.,4網(wǎng)絡的初始連接權(quán)值BP算法決定了誤差函數(shù)一般存在(很)多個局部極小點,不同的網(wǎng)絡初始權(quán)值直接決定了BP算法收斂于哪個局部極小點或是全局極小點。因此,要求計算程序(建議采用標準通用軟件,如Statsoft公司出品的StatisticaNeuralNetworks軟件和Matlab軟件)必須能夠自由改變網(wǎng)絡初始連接權(quán)值。由于Sigmoid轉(zhuǎn)換函數(shù)的特性,一般要求初始權(quán)值分布在-0.50.5之間比較有效。,.,5.網(wǎng)絡模型的性能和泛化能力訓練神經(jīng)網(wǎng)絡的首要和根本任務是確保訓練好的網(wǎng)絡模型對非訓練樣本具有好的泛化能力(推廣性),即有效逼近樣本蘊含的內(nèi)在規(guī)律,而不是看網(wǎng)絡模型對訓練樣本的擬合能力。從存在性結(jié)論可知,即使每個訓練樣本的誤差都很?。梢詾榱悖⒉灰馕吨⒌哪P鸵驯平柧殬颖舅N含的規(guī)律。因此,僅給出訓練樣本誤差(通常是指均方根誤差RSME或均方誤差、AAE或MAPE等)的大小而不給出非訓練樣本誤差的大小是沒有任何意義的。,.,要分析建立的網(wǎng)絡模型對樣本所蘊含的規(guī)律的逼近情況(能力),即泛化能力,應該也必須用非訓練樣本(本文稱為檢驗樣本和測試樣本)誤差的大小來表示和評價,這也是之所以必須將總樣本分成訓練樣本和非訓練樣本而絕不能將全部樣本用于網(wǎng)絡訓練的主要原因之一。判斷建立的模型是否已有效逼近樣本所蘊含的規(guī)律,最直接和客觀的指標是從總樣本中隨機抽取的非訓練樣本(檢驗樣本和測試樣本)誤差是否和訓練樣本的誤差一樣小或稍大。非訓練樣本誤差很接近訓練樣本誤差或比其小,一般可認為建立的網(wǎng)絡模型已有效逼近訓練樣本所蘊含的規(guī)律,否則,若相差很多(如幾倍、幾十倍甚至上千倍)就說明建立的網(wǎng)絡模型并沒有有效逼近訓練樣本所蘊含的規(guī)律,而只是在這些訓練樣本點上逼近而已,而建立的網(wǎng)絡模型是對訓練樣本所蘊含規(guī)律的錯誤反映。,.,因為訓練樣本的誤差可以達到很小,因此,用從總樣本中隨機抽取的一部分測試樣本的誤差表示網(wǎng)絡模型計算和預測所具有的精度(網(wǎng)絡性能)是合理的和可靠的。值得注意的是,判斷網(wǎng)絡模型泛化能力的好壞,主要不是看測試樣本誤差大小的本身,而是要看測試樣本的誤差是否接近于訓練樣本和檢驗樣本的誤差。,.,6.合理網(wǎng)絡模型的確定對同一結(jié)構(gòu)的網(wǎng)絡,由于BP算法存在(很)多個局部極小點,因此,必須通過多次(通常是幾十次)改變網(wǎng)絡初始連接權(quán)值求得相應的極小點,才能通過比較這些極小點的網(wǎng)絡誤差的大小,確定全局極小點,從而得到該網(wǎng)絡結(jié)構(gòu)的最佳網(wǎng)絡連接權(quán)值。必須注意的是,神經(jīng)網(wǎng)絡的訓練過程本質(zhì)上是求非線性函數(shù)的極小點問題,因此,在全局極小點鄰域內(nèi)(即使網(wǎng)絡誤差相同),各個網(wǎng)絡連接權(quán)值也可能有較大的差異,這有時也會使各個輸入變量的重要性發(fā)生變化,但這與具有多個零極小點(一般稱為多模式現(xiàn)象)(如訓練樣本數(shù)少于連接權(quán)數(shù)時)的情況是截然不同的。此外,在不滿足隱層節(jié)點數(shù)條件時,總也可以求得訓練樣本誤差很小或為零的極小點,但此時檢驗樣本和測試樣本的誤差可能要大得多;若改變網(wǎng)絡連接權(quán)初始值,檢驗樣本和測試樣本的網(wǎng)絡計算結(jié)果會產(chǎn)生很大變化,即多模式現(xiàn)象。,.,對于不同的網(wǎng)絡結(jié)構(gòu),網(wǎng)絡模型的誤差或性能和泛化能力也不一樣。因此,還必須比較不同網(wǎng)絡結(jié)構(gòu)的模型的優(yōu)劣。一般地,隨著網(wǎng)絡結(jié)構(gòu)的變大,誤差變小。通常,在網(wǎng)絡結(jié)構(gòu)擴大(隱層節(jié)點數(shù)增加)的過程中,網(wǎng)絡誤差會出現(xiàn)迅速減小然后趨于穩(wěn)定的一個階段,因此,合理隱層節(jié)點數(shù)應取誤差迅速減小后基本穩(wěn)定時的隱層節(jié)點數(shù)。總之,合理網(wǎng)絡模型是必須在具有合理隱層節(jié)點數(shù)、訓練時沒有發(fā)生“過擬合”現(xiàn)象、求得全局極小點和同時考慮網(wǎng)絡結(jié)構(gòu)復雜程度和誤差大小的綜合結(jié)果。設計合理BP網(wǎng)絡模型的過程是一個不斷調(diào)整參數(shù)的過程,也是一個不斷對比結(jié)果的過程,比較復雜且有時還帶有經(jīng)驗性。這個過程并不是有些作者想象的(實際也是這么做的)那樣,隨便套用一個公式確定隱層節(jié)點數(shù),經(jīng)過一次訓練就能得到合理的網(wǎng)絡模型(這樣建立的模型極有可能是訓練樣本的錯誤反映,沒有任何實用價值)。,.,雖然神經(jīng)網(wǎng)絡的類型很多,建立神經(jīng)網(wǎng)絡模型時,根據(jù)研究對象的特點,可以考慮不同的神經(jīng)網(wǎng)絡模型。前饋型BP網(wǎng)絡即誤差逆?zhèn)鞑ド窠?jīng)網(wǎng)絡是最常用、最流行的神經(jīng)網(wǎng)絡。BP網(wǎng)絡的輸入和輸出關系可以看成是一種映射關系,即每一組輸入對應一組輸出。由于網(wǎng)絡中神經(jīng)元作用函數(shù)的非線性,網(wǎng)絡實現(xiàn)是復雜的非線性映射。關于這類網(wǎng)絡對非線性的逼近能力,Hornikl等分別利用不同的方法證明了如下一個事實:僅含有一個隱層的前向網(wǎng)絡能以任意精度逼近定義在Rn的一個緊集上的任意非線性函數(shù)。誤差反向算法是最著名的多層前向網(wǎng)絡訓練算法,盡管存在收斂速度慢、局部極值等缺點,但可通過各種改進措施來提高它的收斂速度、克服局部極值現(xiàn)象,而且具有簡單、易行、計算量小、并行性強等特點,目前仍是多層前向網(wǎng)絡的首選算法。,.,神經(jīng)網(wǎng)絡模型參數(shù)的確定:由于傳統(tǒng)的誤差反傳BP算法較為成熟,且應用廣泛,因此努力提高該方法的學習速度具有較高的實用價值。BP算法中有幾個常用的參數(shù),包括學習率,動量因子,形狀因子及收斂誤差界值E等。這些參數(shù)對訓練速度的影響最為關鍵。,.,MATLAB神經(jīng)網(wǎng)絡工具箱的應用在網(wǎng)絡訓練過程中使用的是Matlab7.0forWindows軟件,對于BP神經(jīng)元網(wǎng)絡的訓練可以使用NeuralNetworksToolboxforMatlab。美國的Mathwork公司推出的MATLAB軟件包既是一種非常實用有效的科研編程軟件環(huán)境,又是一種進行科學和工程計算的交互式程序。MATLAB本身帶有神經(jīng)網(wǎng)絡工具箱,可以大大方便權(quán)值訓練,減少訓練程序工作量,有效的提高工作效率.,.,隱層的數(shù)目:理論上雖然證明了這類網(wǎng)絡的逼近能力,對于網(wǎng)絡結(jié)構(gòu)的要求,并沒有給出明確的說明。因而在應用中神經(jīng)網(wǎng)絡模型的結(jié)構(gòu)確定常常有人為的主觀性和藝術(shù)性,缺乏一個指導原則。而網(wǎng)絡訓練與結(jié)構(gòu)緊密相關,太大的網(wǎng)絡結(jié)構(gòu)在訓練時效率不高,而且還會由于過擬合(overfitting)造成網(wǎng)絡的性能脆弱,泛化能力(generalizationability)下降;太小的網(wǎng)絡可能就根本不收斂。當選取隱層數(shù)為1時,BP網(wǎng)絡不收斂,而當選取隱層數(shù)為2時,BP網(wǎng)絡訓練較好。考慮到本研究的特點,結(jié)合不同隱層網(wǎng)絡結(jié)構(gòu)的訓練結(jié)果,本文選擇了隱層數(shù)L=2的網(wǎng)絡結(jié)構(gòu)模型。,.,例:BP神經(jīng)網(wǎng)絡水(處理)系統(tǒng)的模擬與預測等方面獲得了廣泛的應用。,光催化臭氧氧化處理自來水工藝神經(jīng)網(wǎng)絡模型,.,樣本,.,檢驗樣本,.,隱層神經(jīng)元數(shù)的選擇隱層神經(jīng)元數(shù)的選擇是一個十分復雜的問題。因為沒有很好的解析式表示,可以說隱層神經(jīng)元數(shù)與問題的要求、輸入層與輸出層神經(jīng)元的數(shù)量、訓練樣本的數(shù)量等都有直接關系。事實上隱層神經(jīng)元太少不可能將網(wǎng)絡訓練出來,但太多又使學習時間過長,使網(wǎng)絡不“不強壯”,泛化能力下降,即不能識別以前沒有直接接收到的樣本,容錯性差。當隱層數(shù)為2010和84時的訓練結(jié)果:,.,神經(jīng)網(wǎng)絡模型的各層節(jié)點數(shù)分別為:輸入層2個;第一隱層12個;第二隱層6個;輸出層1個。綜合以上研究內(nèi)容,建立光催化臭氧氧化處理自來水工藝神經(jīng)網(wǎng)絡模型如圖6-3所示。,.,1學習率和動量因子BP算法本質(zhì)上是優(yōu)化計算中的梯度下降法,利用誤差對于權(quán)、閥值的一階導數(shù)信息來指導下一步的權(quán)值調(diào)整方向,以求最終得到誤差最小。為了保證算法的收斂性,學習率必須小于某一上限,一般取01而且越接近極小值,由于梯度變化值逐漸趨于零,算法的收斂就越來越慢。在網(wǎng)絡參數(shù)中,學習率和動量因子是很重要的,它們的取值直接影響到網(wǎng)絡的性能,主要是收斂速度。為提高學習速度,應采用大的。但太大卻可能導致在穩(wěn)定點附近振蕩,乃至不收斂。針對具體的網(wǎng)絡結(jié)構(gòu)模型和學習樣本,都存在一個最佳的學習率門和動量因子,它們的取值范圍一般01之間,視實際情況而定。在上述范圍內(nèi)通過對不同的和的取值進行了考察,確定本文神經(jīng)網(wǎng)絡模型的參數(shù)為:0.7,0.9。,.,2初始權(quán)值的選擇在前饋多層神經(jīng)網(wǎng)絡的BP算法中,初始權(quán)、閾值一般是在一個固定范圍內(nèi)按均勻分布隨機產(chǎn)生的。一般文獻認為初始權(quán)值范圍為-11之間,初始權(quán)值的選擇對于局部極小點的防止和網(wǎng)絡收斂速度的提高均有一定程度的影響,如果初始權(quán)值范圍選擇不當,學習過程一開始就可能進入“假飽和”現(xiàn)象,甚至進入局部極小點,網(wǎng)絡根本不收

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論