版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
智能算法
(IntelligentAlgorithm)智能算法
(IntelligentAlgorithm)2主要內(nèi)容人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetwork,ANN)模擬退火(SimulatedAnnealing,SA)遺傳算法(GeneticAlgorithm,GA)2主要內(nèi)容人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeural3人工神經(jīng)網(wǎng)絡(luò)參考文獻(xiàn)陳念貽,欽佩,陳瑞亮,陸文聰,模式識(shí)別方法在化學(xué)化工中的應(yīng)用,科學(xué)出版社,北京,2000。從爽,面向MATLAB工具箱的神經(jīng)網(wǎng)絡(luò)理論與應(yīng)用,中國(guó)科學(xué)技術(shù)出版社,合肥,1998。焦李成,神經(jīng)網(wǎng)絡(luò)計(jì)算,西安電子科技大學(xué)出版社,西安,1993。王永驥,涂健,神經(jīng)元網(wǎng)絡(luò)控制,機(jī)械工業(yè)出版社,北京,1998。Bishop,C.(1995).NeuralNetworksforPatternRecognition.Oxford:UniversityPress.Carling,A.(1992).IntroducingNeuralNetworks.Wilmslow,UK:SigmaPress.Fausett,L.(1994).FundamentalsofNeuralNetworks.NewYork:PrenticeHallHaykin,S.(1994).NeuralNetworks:AComprehensiveFoundation.NewYork:MacmillanPublishing.Patterson,D.(1996).ArtificialNeuralNetworks.Singapore:PrenticeHall.3人工神經(jīng)網(wǎng)絡(luò)參考文獻(xiàn)陳念貽,欽佩,陳瑞亮,陸文聰,模式識(shí)別4生物神經(jīng)元及神經(jīng)網(wǎng)絡(luò)神經(jīng)元對(duì)信息的接受和傳遞都是通過(guò)突觸來(lái)進(jìn)行的。單個(gè)神經(jīng)元可以從別的細(xì)胞接受多個(gè)輸入。由于輸入分布于不同的部位,對(duì)神經(jīng)元影響的比例(權(quán)重)是不相同的。另外,各突觸輸入抵達(dá)神經(jīng)元的先后時(shí)間也不一祥。因此,一個(gè)神經(jīng)元接受的信息,在時(shí)間和空間上常呈現(xiàn)出一種復(fù)雜多變的形式,需要神經(jīng)元對(duì)它們進(jìn)行積累和整合加工,從而決定其輸出的時(shí)機(jī)和強(qiáng)度。正是神經(jīng)元這種整合作用,才使得億萬(wàn)個(gè)神經(jīng)元在神經(jīng)系統(tǒng)中有條不紊、夜以繼日地處理各種復(fù)雜的信息,執(zhí)行著生物中樞神經(jīng)系統(tǒng)的各種信息處理功能。多個(gè)神經(jīng)元以突觸聯(lián)接形成了一個(gè)神經(jīng)網(wǎng)絡(luò)。4生物神經(jīng)元及神經(jīng)網(wǎng)絡(luò)神經(jīng)元對(duì)信息的接受和傳遞都是通過(guò)突觸來(lái)5一、人工神經(jīng)網(wǎng)絡(luò)什么是人工神經(jīng)網(wǎng)絡(luò)?它就是在對(duì)大腦的生理研究的基礎(chǔ)上,用模擬生物神經(jīng)元的某些基本功能元件(即人工神經(jīng)元),按各種不同的聯(lián)結(jié)方式組織起來(lái)的一個(gè)網(wǎng)絡(luò)。其目的在于模擬大腦的某些機(jī)理與機(jī)制,實(shí)現(xiàn)某個(gè)方面的功能,可以用在模仿視覺(jué)、模式識(shí)別、函數(shù)逼近、模式識(shí)別、分類(lèi)和數(shù)據(jù)壓縮等領(lǐng)域,是近年來(lái)人工智能計(jì)算的一個(gè)重要學(xué)科分支。人工神經(jīng)網(wǎng)絡(luò)有多種形式,其中反向傳播人工神經(jīng)網(wǎng)絡(luò)(Back-PropagationArtificialNetwork,簡(jiǎn)稱(chēng)BP網(wǎng)絡(luò))是一種廣泛使用的神經(jīng)網(wǎng)絡(luò)模型,它充分體現(xiàn)了人工神經(jīng)網(wǎng)絡(luò)的特點(diǎn)。BP網(wǎng)絡(luò)是一種對(duì)非線(xiàn)性可微分函數(shù)進(jìn)行權(quán)值訓(xùn)練的多層網(wǎng)絡(luò),在人工神經(jīng)網(wǎng)絡(luò)的實(shí)際應(yīng)用中,80%~90%的人工神經(jīng)網(wǎng)絡(luò)模型是采用BP網(wǎng)絡(luò)或它的變化形式。5一、人工神經(jīng)網(wǎng)絡(luò)什么是人工神經(jīng)網(wǎng)絡(luò)?它就是在對(duì)大腦的生理研61.1BP神經(jīng)網(wǎng)絡(luò)神經(jīng)元的結(jié)構(gòu)神經(jīng)元是人工神經(jīng)網(wǎng)絡(luò)的基本處理單元,它一般為多輸入/單輸出的非線(xiàn)性元件。神經(jīng)元輸出除受輸入信號(hào)的影響外,還受神經(jīng)元內(nèi)部其它因素的制約,因此在人工神經(jīng)元的建模中,常常加一額外輸入信號(hào),稱(chēng)為偏差(bais),并取值為1。
輸入分量權(quán)值分量
神經(jīng)元的輸出偏差權(quán)值
激活函數(shù)輸入分量通過(guò)與它相乘的權(quán)值分量相連,求和后與偏差權(quán)值共同構(gòu)成激活函數(shù)的輸入
。61.1BP神經(jīng)網(wǎng)絡(luò)神經(jīng)元的結(jié)構(gòu)
輸入分量權(quán)值分量神經(jīng)元7偏差神經(jīng)元的輸出為:
偏差b被簡(jiǎn)單地加在上,作為激活函數(shù)的一個(gè)輸入分量。偏差的重要作用,它使得激活函數(shù)的圖形可以左右移動(dòng),這樣可增加網(wǎng)絡(luò)解決問(wèn)題的能力。
7偏差神經(jīng)元的輸出為:偏差b被簡(jiǎn)單地加在上,作為激活函數(shù)的8激活函數(shù)激活函數(shù)具有模擬生物神經(jīng)元的非線(xiàn)性特性。Sigmoid函數(shù):雙曲正切tanh函數(shù):Sigmoid函數(shù)和雙曲正切tanh函數(shù)都是單調(diào)上升函數(shù),其極值分別為0、1和-1、+1,且都是可微的。8激活函數(shù)激活函數(shù)具有模擬生物神經(jīng)元的非線(xiàn)性特性。Sigmo9激活函數(shù)的一階導(dǎo)數(shù)在BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法中,要用到激活函數(shù)的一階導(dǎo)數(shù)。Sigmoid函數(shù)的導(dǎo)數(shù):雙曲正切tanh函數(shù)的導(dǎo)數(shù):由此可以看出,由于激活函數(shù)的特點(diǎn),用神經(jīng)網(wǎng)絡(luò)計(jì)算時(shí),需對(duì)輸入和輸出的值進(jìn)行調(diào)整。激活函數(shù)是采用Sigmoid函數(shù)時(shí),輸入和輸出的值應(yīng)在{0,1}之間;激活函數(shù)是雙曲正切tanh函數(shù)時(shí),輸入和輸出的值范圍則在{-1,1}之間。9激活函數(shù)的一階導(dǎo)數(shù)在BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法中,要用到激活函數(shù)101.2BP網(wǎng)絡(luò)的模型結(jié)構(gòu)BP網(wǎng)絡(luò)是一種在輸入層和輸出層之間具有一層或多層隱層的網(wǎng)絡(luò)模型,而其典型的結(jié)構(gòu)為有一隱層、包含輸入層和輸出層的三層網(wǎng)絡(luò)模型。典型BP網(wǎng)絡(luò)的結(jié)構(gòu)示意圖如下:網(wǎng)絡(luò)的輸入模式向量為P,有r個(gè)輸入神經(jīng)元,對(duì)應(yīng)輸入模式向量的每個(gè)元素。
隱層內(nèi)有s1個(gè)神經(jīng)元,對(duì)應(yīng)隱層輸出是a1。網(wǎng)絡(luò)的輸出為a2,有s2個(gè)神經(jīng)元,而目標(biāo)輸出為T(mén)。
三層BP神經(jīng)網(wǎng)絡(luò)不同層神經(jīng)元之間實(shí)現(xiàn)權(quán)重連接,而每層內(nèi)各個(gè)神經(jīng)元之間不連接。101.2BP網(wǎng)絡(luò)的模型結(jié)構(gòu)BP網(wǎng)絡(luò)是一種在輸入層和輸出11BP網(wǎng)絡(luò)的四個(gè)計(jì)算過(guò)程輸入模式由輸入層經(jīng)隱含層向輸出層的“模式正向傳播”過(guò)程;(神經(jīng)元的激活值從輸入層經(jīng)隱含層向輸出層傳播,在輸出層各神經(jīng)元獲得網(wǎng)絡(luò)響應(yīng)。)網(wǎng)絡(luò)實(shí)際輸出與希望輸出的誤差信號(hào)由輸出層經(jīng)隱含層向輸入層逐層修正連接權(quán)和閡值的“誤差反向傳播”過(guò)程;由“模式正向傳播”過(guò)程與“誤差反向傳播”過(guò)程的反復(fù)交替進(jìn)行的網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練過(guò)程;網(wǎng)絡(luò)全局誤差趨向極小的學(xué)習(xí)收斂過(guò)程。(網(wǎng)絡(luò)對(duì)輸入模式響應(yīng)的正確率也不斷增加。)11BP網(wǎng)絡(luò)的四個(gè)計(jì)算過(guò)程輸入模式由輸入層經(jīng)隱含層向輸出層的12BP網(wǎng)絡(luò)的計(jì)算過(guò)程的簡(jiǎn)單描述(1)模式正向傳播過(guò)程隱含層中第j個(gè)神經(jīng)元的輸出為:輸出層中第k個(gè)神經(jīng)元的輸出為:誤差反向傳播過(guò)程定義誤差函數(shù)為:
神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的過(guò)程就是通過(guò)調(diào)整權(quán)值,使誤差E最小,此時(shí)可利用最速下降法求權(quán)值及誤差的反向傳播。12BP網(wǎng)絡(luò)的計(jì)算過(guò)程的簡(jiǎn)單描述(1)模式正向傳播過(guò)程隱含13BP網(wǎng)絡(luò)的計(jì)算過(guò)程的簡(jiǎn)單描述(2)隱含層中第j個(gè)神經(jīng)元的輸出的權(quán)值變化為:對(duì)第i個(gè)輸入到隱含層中第j個(gè)神經(jīng)元輸出的權(quán)值變化為:修正后的新權(quán)重調(diào)整為:
η稱(chēng)為學(xué)習(xí)系數(shù),值在{0,1}之間。
13BP網(wǎng)絡(luò)的計(jì)算過(guò)程的簡(jiǎn)單描述(2)隱含層中第j個(gè)神經(jīng)元的14加快BP網(wǎng)絡(luò)訓(xùn)練速度的方法
BP網(wǎng)絡(luò)得到了廣泛的應(yīng)用,但也存在自身的不足與限制,主要表現(xiàn)在網(wǎng)絡(luò)訓(xùn)練需較長(zhǎng)時(shí)間和網(wǎng)絡(luò)有可能達(dá)到局部最小。據(jù)此,BP網(wǎng)絡(luò)有各種改進(jìn)方法,以加快訓(xùn)練速度,避免陷入局部極小。主要的改進(jìn)方法有:增加動(dòng)量項(xiàng),以平滑權(quán)的變化,一種常用形式是:α為動(dòng)量因子,值在{0,1}之間,n為迭代次數(shù)。
采用二階學(xué)習(xí)算法。前面的基于函數(shù)梯度的算法屬于一階算法,缺點(diǎn)就是在極值點(diǎn)附近收斂速度慢。采用二階算法,如牛頓法、共軛梯度法等,將有較快的收斂速度。模擬退火法。14加快BP網(wǎng)絡(luò)訓(xùn)練速度的方法BP網(wǎng)絡(luò)得到了廣泛的應(yīng)用,但151.4BP神經(jīng)網(wǎng)絡(luò)計(jì)算(1)網(wǎng)絡(luò)的層數(shù):在運(yùn)用BP神經(jīng)網(wǎng)絡(luò)時(shí),最多采用的是具有一層或兩層隱層的網(wǎng)絡(luò)。
具有偏差和至少一個(gè)S型隱層的網(wǎng)絡(luò),可以近似任何函數(shù),這已成為設(shè)計(jì)BP神經(jīng)網(wǎng)絡(luò)的原則。
網(wǎng)絡(luò)計(jì)算精度的提高,可以通過(guò)采用一個(gè)隱層,而增加隱層神經(jīng)元數(shù)的方法來(lái)獲得,這也就是通常用一隱層、包含輸入層和輸出層的三層BP網(wǎng)絡(luò)模型的原因。神經(jīng)元數(shù):輸入和輸出的神經(jīng)元數(shù)可以根據(jù)需要求解的問(wèn)題和數(shù)據(jù)所表示的方式來(lái)確定。問(wèn)題確定后,輸入層與輸出層的神經(jīng)元數(shù)也就隨之定了。隱層神經(jīng)元數(shù)的選擇有較廣的范圍:當(dāng)隱層神經(jīng)元數(shù)較少時(shí),誤差下降到一定程度后會(huì)變化很??;當(dāng)隱層神經(jīng)元數(shù)過(guò)多時(shí),不僅網(wǎng)絡(luò)訓(xùn)練時(shí)間長(zhǎng),還會(huì)出現(xiàn)過(guò)擬合問(wèn)題,降低神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)功能。通常隱層神經(jīng)元數(shù)的選擇原則是:在能解決問(wèn)題的前提下,再加上1到2個(gè)神經(jīng)元以加快誤差的下降速度即可。151.4BP神經(jīng)網(wǎng)絡(luò)計(jì)算(1)網(wǎng)絡(luò)的層數(shù):16BP神經(jīng)網(wǎng)絡(luò)計(jì)算(2)初始權(quán)值的選取權(quán)重初始值的選取,對(duì)網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí)是否達(dá)到局部最小,是否能夠收斂以及訓(xùn)練時(shí)間的長(zhǎng)短有很大的關(guān)系。如果初始權(quán)值太大,使得加和后的值落在激活函數(shù)的飽和區(qū),從而導(dǎo)致激活函數(shù)的導(dǎo)數(shù)非常小,在計(jì)算權(quán)值修正時(shí),調(diào)整值接近零,網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練幾乎處在停止?fàn)顟B(tài)。所以一般總是希望經(jīng)過(guò)初始權(quán)值計(jì)算后每個(gè)神經(jīng)元的輸出值都接近零,這樣可以保證每個(gè)神經(jīng)元的權(quán)值都能在激活函數(shù)變化最大之處進(jìn)行調(diào)節(jié)。一般來(lái)說(shuō),初始權(quán)值取{-1,1}之間的隨機(jī)數(shù)是較好的選擇。
16BP神經(jīng)網(wǎng)絡(luò)計(jì)算(2)初始權(quán)值的選取17BP神經(jīng)網(wǎng)絡(luò)計(jì)算(3)學(xué)習(xí)速率學(xué)習(xí)速率決定每一次循環(huán)訓(xùn)練中所產(chǎn)生的權(quán)值變化量。大的學(xué)習(xí)速率可能導(dǎo)致系統(tǒng)的不穩(wěn)定;但小的學(xué)習(xí)速率導(dǎo)致較長(zhǎng)的訓(xùn)練時(shí)間,可能收斂很慢,不過(guò)能保證網(wǎng)絡(luò)的誤差值不跳出誤差表面的低谷而最終趨于最小誤差值。所以在一般情況下,傾向于選取較小的學(xué)習(xí)速率以保證系統(tǒng)的穩(wěn)定性。學(xué)習(xí)速率的選取范圍在0.01~0.8之間。在一個(gè)神經(jīng)網(wǎng)絡(luò)的計(jì)算過(guò)程中,使網(wǎng)絡(luò)經(jīng)過(guò)幾個(gè)不同的學(xué)習(xí)速率的訓(xùn)練,通過(guò)觀(guān)察每一次訓(xùn)練后的誤差平方和的下降速率來(lái)判斷所選定的學(xué)習(xí)速率是否合適。如果誤差平方和下降很快,則說(shuō)明學(xué)習(xí)速率合適若誤差平方和出現(xiàn)振蕩現(xiàn)象,則說(shuō)明學(xué)習(xí)速率過(guò)大。對(duì)于每一個(gè)具體網(wǎng)絡(luò)都存在一個(gè)合適的學(xué)習(xí)速率。但對(duì)于較復(fù)雜網(wǎng)絡(luò),在誤差曲面的不同部位可能需要不同的學(xué)習(xí)速率。為了減少尋找學(xué)習(xí)速率的訓(xùn)練次數(shù)以及訓(xùn)練時(shí)間,比較合適的方法是采用變化的學(xué)習(xí)速率,使網(wǎng)絡(luò)的訓(xùn)練在不同的階段自動(dòng)設(shè)置不同學(xué)習(xí)速率的大小。17BP神經(jīng)網(wǎng)絡(luò)計(jì)算(3)學(xué)習(xí)速率18BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介BATCHNET是一個(gè)BP神經(jīng)網(wǎng)絡(luò)計(jì)算的DOS程序,程序由batchnet.exe和weights.exe兩個(gè)可執(zhí)行文件構(gòu)成。batchnet為網(wǎng)絡(luò)訓(xùn)練和預(yù)測(cè)程序,激活函數(shù)為Sigmoid函數(shù),輸入輸出樣本值范圍為{0,1}。weights程序產(chǎn)生初始權(quán)值。批處理程序demo.batbatchnet-e10–d1.0e-5demo.run
說(shuō)明:-e10—
表示網(wǎng)絡(luò)每迭代10步后顯示誤差;–d1.0e-5—
表示網(wǎng)絡(luò)訓(xùn)練誤差;demo.run—
求解問(wèn)題的網(wǎng)絡(luò)參數(shù)文件,由batchnet調(diào)用,文件名可改,但擴(kuò)展名run不能變。
18BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介BATCHNET19BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介網(wǎng)絡(luò)參數(shù)文件demo.run的格式4train.outtrain.errtrain.patweights.wtstrain.wts10010009420.150.075test.outtest.errtest.pattrain.wtstest.wts16619420.150.075train.outtrain.errtrain.pattrain.wtstrain.wts10010009420.150.075test.outtest.errtest.pattrain.wtstest.wts16619420.150.075NumfOutfErrfPatfWtsfWtsonPatsnIternInpnHidnOutetaalphaNum—運(yùn)行次數(shù),本例為4;
fOut—網(wǎng)絡(luò)計(jì)算結(jié)果輸出文件,輸出;fErr—網(wǎng)絡(luò)計(jì)算誤差文件,輸出;fPat—訓(xùn)練學(xué)習(xí)樣本文件,輸入;fWts—問(wèn)題的初始權(quán)值文件,輸入,由程序weights產(chǎn)生;fWtso—訓(xùn)練后的權(quán)值文件,輸出;nPats—訓(xùn)練樣本數(shù),本例為100;nIter—訓(xùn)練迭代次數(shù),本例為1000;nInp—輸入層神經(jīng)元數(shù)目,本例為9;nHid—隱層神經(jīng)元數(shù)目,本例為4;nOut—輸出層神經(jīng)元數(shù)目,本例為2;eta—學(xué)習(xí)速率,本例為0.15;alpha—?jiǎng)恿恳蜃?,本例?.075。
表示用BP神經(jīng)網(wǎng)絡(luò)先對(duì)100對(duì)輸入輸出樣本進(jìn)行學(xué)習(xí)訓(xùn)練1000次,預(yù)測(cè)166個(gè)樣本一次,然后繼續(xù)學(xué)習(xí)訓(xùn)練1000次后再進(jìn)行一次預(yù)測(cè)。Batchnet如只計(jì)算一次,則不對(duì)連接權(quán)重進(jìn)行更新。
19BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介網(wǎng)絡(luò)參數(shù)文件de20BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介程序weights的運(yùn)行:weightsint_numnInpnHidnOutran_wts
說(shuō)明:int_num—
任一6位整數(shù);nInp—
輸入層神經(jīng)元數(shù)目;nHid—
隱層神經(jīng)元數(shù)目;nOut—
輸出層神經(jīng)元數(shù)目,這3個(gè)參數(shù)同run程序中的相一致;ran_wts—
初始權(quán)值取值范圍,實(shí)數(shù)1.表示取值范圍在{-1,1}之間。Weights1234569421.020BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介程序weight21BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介訓(xùn)練樣本文件fPat的格式:說(shuō)明:In_pat—
樣本的輸入;Out_pat—
對(duì)應(yīng)的樣本輸出;Id—
對(duì)應(yīng)的樣本標(biāo)號(hào);
In_patOut_patId0.3636360.1916670.70.750.6666670.5312250.08983330.05042190.6844341012345670.3272730.1875010.7333330.750.80.5310380.08194420.05042190.801057101234567
21BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介訓(xùn)練樣本文件fP22STATISTICANeuralNetworks(SNN)簡(jiǎn)介通過(guò)輸入數(shù)值變量(自變量)可以用神經(jīng)網(wǎng)絡(luò)來(lái)計(jì)算輸出變量(應(yīng)變量),輸出變量的類(lèi)型可以是數(shù)值型的,也可以是非數(shù)值型的。在SNN中,求解問(wèn)題可通過(guò)兩種基本方式來(lái)進(jìn)行:智能問(wèn)題求解器(IntelligentProblemSolver)或程序的菜單。智能問(wèn)題求解器引導(dǎo)使用者建立求解問(wèn)題的神經(jīng)網(wǎng)絡(luò)。在智能問(wèn)題求解器中,有基本型和高級(jí)型兩種模式可供選擇?;拘椭校褂谜咧荒芸刂圃O(shè)計(jì)神經(jīng)網(wǎng)絡(luò)中的幾個(gè)關(guān)鍵點(diǎn),包括問(wèn)題類(lèi)型(樣本相互獨(dú)立的標(biāo)準(zhǔn)型和變量預(yù)測(cè)值依賴(lài)先前值的時(shí)間序列)、輸出和輸入變量、求解器篩選優(yōu)化網(wǎng)絡(luò)的計(jì)算時(shí)間控制、在網(wǎng)絡(luò)設(shè)置中需保存的網(wǎng)絡(luò)情況以及需顯示的結(jié)果與統(tǒng)計(jì),其余的網(wǎng)絡(luò)設(shè)計(jì)及計(jì)算由求解器自動(dòng)完成。基本型供對(duì)神經(jīng)網(wǎng)絡(luò)計(jì)算了解不多者使用。高級(jí)型中,使用者能控制設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的各方面,包括網(wǎng)絡(luò)訓(xùn)練、校驗(yàn)、測(cè)試時(shí)所用數(shù)據(jù)的分割、置信度的類(lèi)型選擇、選擇需產(chǎn)生網(wǎng)絡(luò)的類(lèi)型及復(fù)雜程度等,供對(duì)神經(jīng)網(wǎng)絡(luò)計(jì)算較熟悉者使用。22STATISTICANeuralNetworks(23SNN中的神經(jīng)網(wǎng)絡(luò)方法多層網(wǎng)絡(luò)(MultilayerPerceptrons);徑向基函數(shù)網(wǎng)絡(luò)(RadialBasisFunctionNetworks);概率神經(jīng)網(wǎng)絡(luò)(ProbabilisticNeuralNetworks);通用回歸神經(jīng)網(wǎng)絡(luò)(GeneralizedRegressionNeuralNetworks);線(xiàn)性網(wǎng)絡(luò)(LinearNetworks);Kohonen網(wǎng)絡(luò)(KohonenNetworks);神經(jīng)網(wǎng)絡(luò)的時(shí)間序列預(yù)測(cè)(TimeSeriesPrediction)。23SNN中的神經(jīng)網(wǎng)絡(luò)方法多層網(wǎng)絡(luò)(Multilayer24SNN菜單命令匯總24SNN菜單命令匯總25SNN處理數(shù)據(jù)需要注意的兩個(gè)問(wèn)題數(shù)據(jù)的前處理與后處理在處理實(shí)際問(wèn)題的數(shù)據(jù)時(shí),數(shù)據(jù)要進(jìn)行勻整處理,這樣的處理包括計(jì)算前和計(jì)算后的處理。神經(jīng)網(wǎng)絡(luò)計(jì)算用的數(shù)據(jù)類(lèi)型應(yīng)該是數(shù)值型的,當(dāng)有些問(wèn)題的變量是多態(tài)的情況,如對(duì)與錯(cuò)等,這些變量在用神經(jīng)網(wǎng)絡(luò)處理時(shí),也需將其數(shù)值化。在SNN中有Pre/postprocessing,可處理這些數(shù)據(jù)的變換問(wèn)題,有時(shí)還可以用Options菜單中的STATISTICATransfer,使數(shù)據(jù)直接在STATISTICA中處理。過(guò)擬合問(wèn)題在用多項(xiàng)式擬合數(shù)據(jù)時(shí),就會(huì)出現(xiàn)過(guò)擬合的情況。一個(gè)低階多項(xiàng)式可能做不到很好地?cái)M合所有的數(shù)據(jù)點(diǎn),而一個(gè)高階的則可能做到,但實(shí)際上沒(méi)有反映問(wèn)題的性質(zhì)。25SNN處理數(shù)據(jù)需要注意的兩個(gè)問(wèn)題數(shù)據(jù)的前處理與后處理26SNN處理過(guò)擬合的方法神經(jīng)網(wǎng)絡(luò)計(jì)算有同樣的問(wèn)題,隱層神經(jīng)元數(shù)太少,不能很好地描述問(wèn)題,神經(jīng)元數(shù)過(guò)多,會(huì)出現(xiàn)過(guò)擬合,因較大的神經(jīng)網(wǎng)絡(luò)總能使誤差減小。解決過(guò)擬合的辦法之一是用交替有效法(Cross-verification)。一些訓(xùn)練用樣本不參加神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練,而是獨(dú)立地在訓(xùn)練學(xué)習(xí)過(guò)程中用來(lái)校驗(yàn)。當(dāng)校驗(yàn)誤差出現(xiàn)同訓(xùn)練學(xué)習(xí)誤差不一樣的情況,即不是隨著訓(xùn)練學(xué)習(xí)的進(jìn)行,訓(xùn)練誤差不斷減小,反而停止下降,開(kāi)始升高,表明網(wǎng)絡(luò)有過(guò)擬合數(shù)據(jù)的情況,這時(shí)應(yīng)減少隱層神經(jīng)元數(shù)。在SNN中智能問(wèn)題求解器具有自動(dòng)選擇隱層神經(jīng)元數(shù)的功能。26SNN處理過(guò)擬合的方法神經(jīng)網(wǎng)絡(luò)計(jì)算有同樣的問(wèn)題,隱層神經(jīng)27SNN的求解過(guò)程在神經(jīng)網(wǎng)絡(luò)的研究和計(jì)算中,常能見(jiàn)到異或問(wèn)題的求解與討論。這里以異或問(wèn)題的求解為例介紹SNN的求解過(guò)程,并對(duì)SNN智能問(wèn)題求解器中的各項(xiàng)選擇作一說(shuō)明。FIRSTSECONDXOR000101011110異或問(wèn)題兩個(gè)輸入變量為二進(jìn)制的數(shù),其可能的取值及期望輸出如右表所示:異或問(wèn)題看起來(lái)簡(jiǎn)單,但具有復(fù)雜的特征,它不是線(xiàn)性可分的,即不可能有一直線(xiàn)使同類(lèi)在線(xiàn)的一邊,如右圖所示:27SNN的求解過(guò)程在神經(jīng)網(wǎng)絡(luò)的研究和計(jì)算中,常能見(jiàn)到異或問(wèn)28SNN中的智能問(wèn)題求解器使用步驟Step1:建立上述的數(shù)據(jù)文件輸入變量類(lèi)型(Input
orOutput)樣本分組(Training、Verification、Testing
)28SNN中的智能問(wèn)題求解器使用步驟Step1:建立上述的29Step2:選擇求解問(wèn)題方式問(wèn)題類(lèi)型(BasicorAdvanced),選擇“Advanced”。29Step2:選擇求解問(wèn)題方式問(wèn)題類(lèi)型(Basicor30SNN中的智能問(wèn)題求解器使用步驟Step3:選擇問(wèn)題類(lèi)型(ProblemType),選擇“Standard
”。30SNN中的智能問(wèn)題求解器使用步驟Step3:選擇問(wèn)題類(lèi)31SNN中的智能問(wèn)題求解器使用步驟Step4:選擇輸出變量(OutputVariableSelection
),選擇XOR變量作為輸出變量。31SNN中的智能問(wèn)題求解器使用步驟Step4:選擇輸出變32SNN中的智能問(wèn)題求解器使用步驟Step5:選擇輸入變量(InputVariableSelection
),選擇變量FIRST,SECOND作為輸入變量。并關(guān)閉選項(xiàng)“Searchforaneffectivesubset…
”。32SNN中的智能問(wèn)題求解器使用步驟Step5:選擇輸入變33SNN中的智能問(wèn)題求解器使用步驟Step6:樣本分組(Divisionofcases
)??刂朴?xùn)練(Training)、檢驗(yàn)(Verification)和測(cè)試(Testing)樣本的大小。采用自定義分組樣本33SNN中的智能問(wèn)題求解器使用步驟Step6:樣本分組(34SNN中的智能問(wèn)題求解器使用步驟Step7:選擇網(wǎng)絡(luò)類(lèi)型(TypeofNetwork
)。為比較網(wǎng)絡(luò),幾種網(wǎng)絡(luò)都選,即線(xiàn)性、徑向基函數(shù)(RBF)、通用回歸神經(jīng)網(wǎng)絡(luò)(GRNN)、三層和四層MLP。34SNN中的智能問(wèn)題求解器使用步驟Step7:選擇網(wǎng)絡(luò)類(lèi)35SNN中的智能問(wèn)題求解器使用步驟Step8:控制網(wǎng)絡(luò)隱層數(shù)目(HiddenUnits
)。選擇“Determinenetworkcomplexityautomatically”自動(dòng)確定網(wǎng)絡(luò)復(fù)雜性,忽略數(shù)值選定。35SNN中的智能問(wèn)題求解器使用步驟Step8:控制網(wǎng)絡(luò)隱36SNN中的智能問(wèn)題求解器使用步驟Step9:網(wǎng)絡(luò)設(shè)計(jì)過(guò)程(DurationofDesignProcess
)。選擇完全“Thorough”項(xiàng)。36SNN中的智能問(wèn)題求解器使用步驟Step9:網(wǎng)絡(luò)設(shè)計(jì)過(guò)37SNN中的智能問(wèn)題求解器使用步驟Step10:希望保存最佳網(wǎng)絡(luò)和在網(wǎng)絡(luò)確定過(guò)程中增加網(wǎng)絡(luò)大?。⊿avingNetworks
)。選擇
“Keepnetworks…”和“Increase…”項(xiàng)。37SNN中的智能問(wèn)題求解器使用步驟Step10:希望保存38SNN中的智能問(wèn)題求解器使用步驟Step11:結(jié)果顯示
(ResultsShown
)。選擇列表樣本結(jié)果“Datasheet…”和統(tǒng)計(jì)結(jié)果匯總“Overall…”。SNN計(jì)算完成后,給出多種結(jié)果。38SNN中的智能問(wèn)題求解器使用步驟Step11:結(jié)果顯示39SNN的求解異或問(wèn)題的結(jié)果DataSetEditor給出了訓(xùn)練樣本。
RunDataSet是訓(xùn)練結(jié)果,有目標(biāo)值、計(jì)算值和誤差。RegressionStatistics是最優(yōu)網(wǎng)絡(luò)計(jì)算的統(tǒng)計(jì)結(jié)果。
NetworkSetEditor則是智能問(wèn)題求解器所用的各種網(wǎng)絡(luò)的計(jì)算結(jié)果。NetworkIllustration則是最優(yōu)網(wǎng)絡(luò)的圖示。
39SNN的求解異或問(wèn)題的結(jié)果DataSetEditor40SNN的求解異或問(wèn)題的結(jié)果計(jì)算結(jié)果表明了多層網(wǎng)絡(luò)的隱層神經(jīng)元數(shù)為5時(shí),計(jì)算的誤差已達(dá)10-5,可以用來(lái)描述異或問(wèn)題。是否還有描述異或問(wèn)題更好的網(wǎng)絡(luò)結(jié)構(gòu)呢?隱層數(shù)為4的RBF網(wǎng)絡(luò),計(jì)算異或問(wèn)題的誤差達(dá)到10-15,比隱層神經(jīng)元數(shù)為5的多層網(wǎng)絡(luò)的計(jì)算誤差要小10個(gè)數(shù)量級(jí),完全描述了異或問(wèn)題。40SNN的求解異或問(wèn)題的結(jié)果計(jì)算結(jié)果表明了多層網(wǎng)絡(luò)的隱層神411.4關(guān)于ANN的進(jìn)一步說(shuō)明選用合適的學(xué)習(xí)訓(xùn)練網(wǎng)絡(luò)樣本、優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)、采用適當(dāng)?shù)膶W(xué)習(xí)訓(xùn)練方法就能得到包含學(xué)習(xí)訓(xùn)練樣本范圍的輸入與輸出關(guān)系。如果用于學(xué)習(xí)訓(xùn)練的樣本不能充分反映體系的特性,用ANN也不能很好的描述與預(yù)測(cè)體系,所以有“垃圾進(jìn),垃圾出;金子進(jìn),金子出”之說(shuō)。確定性模型的參數(shù)回歸與ANN之類(lèi)的非確定性模型的不同特點(diǎn)。411.4關(guān)于ANN的進(jìn)一步說(shuō)明選用合適的學(xué)習(xí)訓(xùn)練網(wǎng)絡(luò)樣本42確定性模型與非確定性模型的比較確定性模型的參數(shù)回歸的特點(diǎn):自變量與因變量之間有明確的函數(shù)關(guān)系,具有未知數(shù)值的參數(shù),需要通過(guò)自變量與因變量的數(shù)據(jù)組樣本來(lái)回歸估計(jì),而且參數(shù)個(gè)數(shù)通常較少,具有明確的物理意義。ANN之類(lèi)的非確定性模型的特點(diǎn):無(wú)須針對(duì)問(wèn)題提出明確的自變量與因變量之間的函數(shù)關(guān)系,而函數(shù)關(guān)系用含有眾多自由參數(shù)的模型回歸擬合,但自由參數(shù)無(wú)明確的物理意義。因此,確定性模型回歸的主要目標(biāo)是得到模型的參數(shù)值。而非確定性模型計(jì)算的主要目標(biāo)是得到輸入與輸出的關(guān)系。42確定性模型與非確定性模型的比較確定性模型的參數(shù)回歸的特點(diǎn)43二、模擬退火法(SimulatedAnnealing)人工神經(jīng)網(wǎng)絡(luò)方法是用某種目標(biāo)函數(shù)的全局極小作為算法搜索和網(wǎng)絡(luò)所要達(dá)到的目標(biāo)。在學(xué)習(xí)或運(yùn)行過(guò)程中,網(wǎng)絡(luò)的誤差總是按其梯度下降的方向變化。當(dāng)梯度趨于零時(shí),網(wǎng)絡(luò)的學(xué)習(xí)或運(yùn)行就停止了,所以這種算法往往會(huì)陷入局部最小而達(dá)不到全局最小。導(dǎo)致網(wǎng)絡(luò)陷入局部最小的主要原因是網(wǎng)絡(luò)誤差按單方向減少,沒(méi)有上升的過(guò)程。如果將誤差的減少過(guò)程由“總是按梯度下降的方向變化”改為“大部分情況下按梯度下降的方向變化”,而有時(shí)按梯度上升的方向變化,這樣就有可能跳出局部最小而達(dá)到全局最小(下圖給出了梯度下降法(a)和SA方法(b)搜索途徑)。模擬退火算法的基本思想
43二、模擬退火法(SimulatedAnnealing)44模擬退火法的起源SA算法是受金屬冷卻過(guò)程的啟發(fā),最早由Metropolis于1953年提出來(lái)的。它具有靈活有效,能對(duì)問(wèn)題進(jìn)行全局優(yōu)化。金屬中原子的能量與溫度有關(guān)。原子能量高的時(shí)候,有能力擺脫其原來(lái)的能量狀態(tài)而最后達(dá)到一個(gè)更加穩(wěn)定的狀態(tài)——全局極小能量狀態(tài)。金屬固體進(jìn)行退火處理時(shí),通常先將它加熱熔化,然后逐漸降低溫度。在凝固點(diǎn)附近,若溫度下降的速度足夠慢,則固體物質(zhì)會(huì)形成能量最低的穩(wěn)定狀態(tài)。其中的金屬粒子都經(jīng)歷能量由高到低、暫時(shí)由低到高、最終趨向低能態(tài)的過(guò)程。在金屬的退火過(guò)程中,能量的狀態(tài)分布:P(E)∝P(E)——系統(tǒng)處于具有能量E的狀態(tài)的概率;k——Boltzmann常數(shù);T——系統(tǒng)的絕對(duì)溫度(Kelvin)
44模擬退火法的起源SA算法是受金屬冷卻過(guò)程的啟發(fā),最早由M45模擬退火優(yōu)化法SA算法將優(yōu)化問(wèn)題與統(tǒng)計(jì)物理學(xué)中的熱平衡問(wèn)題進(jìn)行類(lèi)比,即將統(tǒng)計(jì)物理學(xué)處理金屬固體冷卻的熱平衡方法用于優(yōu)化問(wèn)題。
目標(biāo)函數(shù)——能量函數(shù)優(yōu)化參數(shù)的狀態(tài)空間——物質(zhì)的微觀(guān)狀態(tài)人工溫度T——一個(gè)初值較大的控制參數(shù)依據(jù)網(wǎng)絡(luò)的能量來(lái)決定控制參數(shù)的調(diào)整量(稱(chēng)為步長(zhǎng))。當(dāng)T較大時(shí),目標(biāo)函數(shù)值由低向高變化的可能性較大;而T減小,這種可能性也隨之減小。與金屬的退火過(guò)程(Annealing)非常相似。當(dāng)控制參數(shù)T下降到一定程度時(shí),目標(biāo)函數(shù)將收斂于最小值。模擬退火優(yōu)化算法的基本思想45模擬退火優(yōu)化法SA算法將優(yōu)化問(wèn)題與統(tǒng)計(jì)物理學(xué)中的熱平衡問(wèn)46模擬退火優(yōu)化法計(jì)算機(jī)模擬某一溫度T下物質(zhì)體系熱平衡狀態(tài)的方法:Step1:隨機(jī)選擇一個(gè)初始微觀(guān)狀態(tài)i作為當(dāng)前狀態(tài),其相應(yīng)的能量為Ei。Step2:從狀態(tài)i作隨機(jī)擾動(dòng),產(chǎn)生一新的狀態(tài)j,其相應(yīng)的能量為Ej,計(jì)算能量增量△E=Ei
–Ej。Step3:如果△E≤0,則接受狀態(tài)j作為當(dāng)前狀態(tài),即j→i;若△E>0
,計(jì)算基于Boltzmann分布函數(shù)的比值:其中:Boltzmann分布函數(shù)
k為Boltzmann常數(shù)取(0,1)之間的一個(gè)隨機(jī)數(shù)p,若r>p,則接受狀態(tài)j作為當(dāng)前狀態(tài),即j→i
;否則,保持原來(lái)的狀態(tài)i。46模擬退火優(yōu)化法計(jì)算機(jī)模擬某一溫度T下物質(zhì)體系熱平衡狀態(tài)的47模擬退火優(yōu)化法從Boltzmann分布函數(shù)的比值(即8.3.15式)可看出,溫度高時(shí)大,相應(yīng)kT也較大,接受與當(dāng)前狀態(tài)能差較大的新?tīng)顟B(tài)的概率大;降低溫度,r較小,只能接受能差較小的新?tīng)顟B(tài)。因此不斷降低溫度,體系最終能達(dá)到能量最低熱平衡狀態(tài)。
Step4:重復(fù)第二、三步,在大量的能量狀態(tài)變化后,系統(tǒng)處于能量較低的平衡態(tài)。降低溫度T再重復(fù)上述過(guò)程,體系又處在能量更低的平衡態(tài)。47模擬退火優(yōu)化法從Boltzmann分布函數(shù)的比值(即8.48SA基本算法的步驟與框圖首先進(jìn)行初始化,任意給定初始態(tài)X0,取參數(shù)初值T0,計(jì)算優(yōu)化目標(biāo)函數(shù)E0,然后按下進(jìn)行:(1)隨機(jī)產(chǎn)生擾動(dòng)態(tài)Xi,計(jì)算△E=Ei
–E0
;(2)若△E<0
,轉(zhuǎn)到(4)。否則在(0,1)之間的一個(gè)隨機(jī)數(shù)p;(3)若exp(△E/T)<p
,轉(zhuǎn)(5);(4)用Xi代替X0,E0
+△E代替E0;(5)以某種方式取Ti
<T0,如Ti=αT0;(6)SA計(jì)算過(guò)程是否結(jié)束,是就停止,否則就轉(zhuǎn)到(1)。48SA基本算法的步驟與框圖首先進(jìn)行初始化,任意給定初始態(tài)X49SA算法的控制SA算法能否達(dá)到目標(biāo)函數(shù)的最小值,主要取決于控制參數(shù)的初值是否足夠高和其下降得是否慢,因此注意有關(guān)控制參數(shù)的選取問(wèn)題。對(duì)于參數(shù)初值T0,常用的處理方法之一是在均勻地隨機(jī)抽樣X(jué)0后,取的E0方差作為T(mén)0。對(duì)于降溫策略Ti=αT0,0<α<1,常取α∈[0.85,0.96]。SA算法的使用可以參考教材P257(FORTRAN程序)用SA擬合丙烷-絲光沸石體系在303K時(shí)的吸附平衡數(shù)據(jù)和模型。
49SA算法的控制SA算法能否達(dá)到目標(biāo)函數(shù)的最小值,主要取決50三、遺傳算法(GeneticAlgorithm)遺傳算法是一種模擬自然選擇和遺傳的隨機(jī)搜索算法。它最初由Holland在1975年提出的,研究自然系統(tǒng)的適應(yīng)過(guò)程和設(shè)計(jì)具有自適應(yīng)性能的軟件。遺傳算法的基本形式是用染色體來(lái)表示參數(shù)空間的編碼,用適應(yīng)度函數(shù)來(lái)評(píng)價(jià)染色體群體的優(yōu)劣,通過(guò)遺傳操作產(chǎn)生新的染色體,并用概率來(lái)控制遺傳操作。遺傳算法是一種非線(xiàn)性方法,它具有簡(jiǎn)潔、靈活、高效和全局優(yōu)化的特性,在過(guò)程控制、系統(tǒng)診斷、非線(xiàn)性擬合與優(yōu)化、人工智能等工程和研究領(lǐng)域都得到了廣泛的應(yīng)用。50三、遺傳算法(GeneticAlgorithm)遺傳51遺傳算法基礎(chǔ)遺傳算法是一種迭代算法,它在每一次迭代時(shí)都擁有一組解(父代染色體群體),這組解答最初是隨機(jī)生成的。在每次迭代時(shí),首先保持解,然后染色體群體經(jīng)過(guò)遺傳操作(選擇、雜交、變異等),生成新的組解(子代染色體群體)。每個(gè)解都由一個(gè)目標(biāo)函數(shù)來(lái)評(píng)價(jià),而且這一過(guò)程不斷重復(fù),直至達(dá)到某種形式上的收斂。新的一組解不但可以有選擇地保留一些先前迭代中目標(biāo)函數(shù)值高的解,而且可以包括一些經(jīng)由其它解結(jié)合而得的新的解,其子代的數(shù)值可以與其父代的情況有相當(dāng)大的差別。51遺傳算法基礎(chǔ)遺傳算法是一種迭代算法,它在每一次迭代時(shí)都擁52符號(hào)串表示和遺傳操作的設(shè)計(jì)遺傳算法的術(shù)語(yǔ)借鑒于自然遺傳學(xué),遺傳物質(zhì)的主要載體是染色體。在遺傳算法中,染色體(個(gè)體)由一串?dāng)?shù)據(jù)或數(shù)組構(gòu)成,用來(lái)作為問(wèn)題解的代碼。染色體由決定其特性的基因構(gòu)成,而基因又可以有稱(chēng)為等位基因的不同取值。目標(biāo)函數(shù)稱(chēng)為適應(yīng)度函數(shù),而一組染色體稱(chēng)為群體。遺傳算法的一次迭代稱(chēng)為一代。遺傳算法成功的關(guān)鍵在于符號(hào)串表示和遺傳操作的設(shè)計(jì)。52符號(hào)串表示和遺傳操作的設(shè)計(jì)遺傳算法的術(shù)語(yǔ)借鑒于自然遺傳學(xué)53染色體解空間中的每一點(diǎn)都對(duì)應(yīng)一個(gè)用由基因表示的染色體。
例如:要確定適應(yīng)度函數(shù)f(x,y)的最大值,搜尋空間變量x和y為整數(shù),其變化范圍是0-15。這樣對(duì)應(yīng)于搜尋空間任何點(diǎn)可由兩基因的染色體來(lái)表示:
點(diǎn)(2,6)用二進(jìn)制數(shù)有如下的染色體:xy26→0010011053染色體解空間中的每一點(diǎn)都對(duì)應(yīng)一個(gè)用由基因表示的染色體。54交叉在兩父代的染色體的隨機(jī)長(zhǎng)度位置上,用交叉概率進(jìn)行后部交換,產(chǎn)生兩子代,如下所示:上面的交叉操作稱(chēng)為單點(diǎn)交叉。一般地可以進(jìn)行多點(diǎn)交叉,如下所示:54交叉在兩父代的染色體的隨機(jī)長(zhǎng)度位置上,用交叉概率進(jìn)行后部55變異與交叉不同,變異涉及到一染色體個(gè)體的一個(gè)或多個(gè)基因位的翻轉(zhuǎn),產(chǎn)生新的基因組合,以通過(guò)交叉來(lái)獲得子代染色體。下面的任一方法都可以用來(lái)進(jìn)行變異操作:隨機(jī)選擇的基因位數(shù)值可以被隨機(jī)產(chǎn)生的數(shù)值替代,這種替代對(duì)二進(jìn)制和非二進(jìn)制染色體都適用;在二進(jìn)制染色體中,可以對(duì)隨機(jī)選擇的基因位進(jìn)行觸發(fā),即1→0或0→1??梢砸愿怕蔖m隨機(jī)選擇個(gè)體進(jìn)行變異操作。變異操作的主要優(yōu)點(diǎn)是使染色體群體中出現(xiàn)各種基因,這樣遺傳算法有在參數(shù)解空間找出各種可能的解,避免解的丟失。55變異與交叉不同,變異涉及到一染色體個(gè)體的一個(gè)或多個(gè)基因位56有效性檢驗(yàn)對(duì)于不同的優(yōu)化問(wèn)題,有時(shí)需要增加檢驗(yàn),確保新子代的染色體表示的是參數(shù)解空間中的有效點(diǎn)。如考慮由四個(gè)基因組成的染色體,每個(gè)基因有三個(gè)可能的二進(jìn)制值A(chǔ)=01,B=10,C=11。二進(jìn)制染色體表示組合BACA是:1001110110011100如對(duì)最后的基因位進(jìn)行變異操作,產(chǎn)生了如下所示的無(wú)效染色體,因基因值00沒(méi)有定義。同樣,交叉也可能產(chǎn)生有缺陷的染色體操作??朔@些問(wèn)題的方法是采用結(jié)構(gòu)操作,交叉或變異操作針對(duì)基因,而不是針對(duì)基因位。這樣,交叉操作點(diǎn)總能與基因邊界相一致,變異操作對(duì)整個(gè)基因組隨機(jī)選擇新值,確保產(chǎn)生有效染色體。如此做的缺點(diǎn)是染色體群體的差異性會(huì)受到影響。
56有效性檢驗(yàn)對(duì)于不同的優(yōu)化問(wèn)題,有時(shí)需要增加檢驗(yàn),確保新子57基本的遺傳算法框圖初始染色體群體隨機(jī)產(chǎn)生;用適應(yīng)度函數(shù)來(lái)評(píng)價(jià)染色體個(gè)體;根據(jù)適應(yīng)度產(chǎn)生繁殖的染色體個(gè)體,適應(yīng)度好的染色體個(gè)體其被選擇來(lái)繁殖的可能性大;通過(guò)染色體對(duì)的交叉和變異操作,產(chǎn)生各自的子代繁殖染色體。57基本的遺傳算法框圖初始染色體群體隨機(jī)產(chǎn)生;58基本的遺傳算法在遺傳算法中,是依據(jù)適應(yīng)度來(lái)選擇個(gè)體進(jìn)行繁殖的,最適合的染色體繁殖的可能性也最大。選擇不僅決定由那些個(gè)體來(lái)繁殖,而且還要確定繁殖子代的數(shù)目。因此選擇的方法對(duì)遺傳算法的有效性有著重要的作用。GA算法的使用可以參考教材P262(FORTRAN程序)GeneticAlgorithmandDirectSearchToolboxinMATLABv2006a58基本的遺傳算法在遺傳算法中,是依據(jù)適應(yīng)度來(lái)選擇個(gè)體進(jìn)行繁59GeneticAlgorithmToolboxinMATLABCallingtheFunctiongaattheCommandLine[xfval]=ga(@fitnessfun,nvars,options)@fitnessfunisahandletothefitnessfunction.nvarsisthenumberofindependentvariablesforthefitnessfunction.optionsisastructurecontainingoptionsforthegeneticalgorithm.Ifyoudonotpassinthisargument,gausesitsdefaultoptions.Step
x—Pointatwhichthefinalvalueisattainedfval—FinalvalueofthefitnessfunctionUsingtheGeneticAlgorithmToolgatool59GeneticAlgorithmToolboxin60GAToolGUIofMATLAB目標(biāo)函數(shù)變量數(shù)約束條件圖形顯示執(zhí)行計(jì)算計(jì)算結(jié)果計(jì)算選項(xiàng)60GAToolGUIofMATLAB目標(biāo)函數(shù)變量數(shù)約61Ex1:UnconstrainedMinimizationUsingGAFunction:Thefunctionhastwolocalminima:oneatx=0,wherethefunctionvalueis-1,theotheratx=21,wherethefunctionvalueis-1-1/e.Sincethelattervalueissmaller,theglobalminimumoccursatx=21.61Ex1:UnconstrainedMinimizat62Resultoflocalminimumfunctiony=two_min(x)ifx<=20y=-exp(-(x/20).^2);elsey=-exp(-1)+(x-20)*(x-22);end62Resultoflocalminimumfunct63
Howtoexplorepointsneartheglobalminimum
Onewaytomakethegeneticalgorithmexploreawiderrangeofpoints—thatis,toincreasethediversityofthepopulations—istoincreasetheInitialrange.63Howtoexplorepointsnear64Rangeofindividualsineachgenerationamuchwiderrangeofindividuals.Bythesecondgenerationthereareindividualsgreaterthan21,andbygeneration12,thealgorithmfindsabestindividualthatisapproximatelyequalto21.allindividualsarebetween-2and2.5.WhilethisrangeislargerthanthedefaultInitialrangeof[0;1],duetomutation,itisnotlargeenoughtoexplorepointsneartheglobalminimumatx=21.
64Rangeofindividualsineach65Ex2:ConstrainedMinimizationUsingGA
minimizeasimplefitnessfunctionoftwovariablesx1andx2minf(x)=100*(x1^2-x2)^2+(1-x1)^2;x
thefollowingtwononlinearconstraintsandboundsaresatisfiedx1*x2+x1-x2+1.5<=0,(nonlinearconstraint)10-x1*x2<=0,(nonlinearconstraint)0<=x1<=1,and(bound)0<=x2<=13(bound)65Ex2:ConstrainedMinimizatio66Defineofobjectivefunctionandconstrainsfunction[c,ceq]=simple_constraint(x)c=[1.5+x(1)*x(2)+x(1)-x(2);-x(1)*x(2)+10];ceq=[];functiony=simple_fitness(x)y=100*(x(1)^2-x(2))^2+(1-x(1))^2;0<=x1<=10<=x2<=1366Defineofobjectivefunction67ResultofEx267ResultofEx268M-fileGeneratedbyGAToolfunction[X,FVAL,REASON,OUTPUT,POPULATION,SCORES]=cm_ga%%FitnessfunctionfitnessFunction=@simple_fitness;%%NumberofVariablesnvars=2;%LinearinequalityconstraintsAineq=[];Bineq=[];%LinearequalityconstraintsAeq=[];Beq=[];%BoundsLB=[00];UB=[113];%NonlinearconstraintsnonlconFunction=@simple_constraint;%Startwithdefaultoptionsoptions=gaoptimset;%%Modifysomeparametersoptions=gaoptimset(options,'PopulationSize',100);options=gaoptimset(options,'MutationFcn',{@mutationgaussian11});options=gaoptimset(options,'Display','off');%%RunGA[X,FVAL,REASON,OUTPUT,POPULATION,SCORES]=ga(fitnessFunction,nvars,Aineq,Bineq,Aeq,Beq,LB,UB,nonlconFunction,options);68M-fileGeneratedbyGAToolfu69M-filebyuserfunction[c,ceq]=simple_constraint(x)c=[1.5+x(1)*x(2)+x(1)-x(2);-x(1)*x(2)+10];ceq=[];functiony=simple_fitness(x)y=100*(x(1)^2-x(2))^2+(1-x(1))^2;ObjectiveFunction=@simple_fitness;nvars=2;%NumberofvariablesLB=[00];%LowerboundUB=[113];%UpperboundConstraintFunction=@simple_constraint;[x,fval]=ga(ObjectiveFunction,nvars,[],[],[],[],LB,UB,...ConstraintFunction)x=0.812212.3122fval=1.3578e+00469M-filebyuserfunction[c,c70ConventionalstructureofaGAappliedtotheexperomentaldesign70Conventionalstructureofa71ApplicationofGAinCatalysisJoséM.Serra,AntonioChica,AvelinoCorma,AppliedCatalysisA:General239(2003)35–4271ApplicationofGAinCatalys72ApplicationofGAinCatalysis72ApplicationofGAinCatalys73ApplicationofGAinCatalysis73ApplicationofGAinCatalys74ApplicationofGAinCatalysis74ApplicationofGAinCatalys75序號(hào)遺傳學(xué)概念遺傳算法概念數(shù)學(xué)概念1個(gè)體要處理的基本對(duì)象、結(jié)構(gòu)也就是可行解2群體個(gè)體的集合被選定的一組可行解3染色體個(gè)體的表現(xiàn)形式可行解的編碼4基因染色體中的元素編碼中的元素5基因位某一基因在染色體中的位置元素在編碼中的位置6適應(yīng)值個(gè)體對(duì)于環(huán)境的適應(yīng)程度,或在環(huán)境壓力下的生存能力可行解所對(duì)應(yīng)的適應(yīng)函數(shù)值7種群被選定的一組染色體或個(gè)體根據(jù)入選概率定出的一組可行解8選擇從群體中選擇優(yōu)勝的個(gè)體,淘汰劣質(zhì)個(gè)體的操作保留或復(fù)制適應(yīng)值大的可行解,去掉小的可行解9交叉一組染色體上對(duì)應(yīng)基因段的交換根據(jù)交叉原則產(chǎn)生的一組新解10交叉概率染色體對(duì)應(yīng)基因段交換的概率(可能性大小)閉區(qū)間[0,1]上的一個(gè)值,一般為0.65~0.9011變異染色體水平上基因變化編碼的某些元素被改變12變異概率染色體上基因變化的概率(可能性大小)開(kāi)區(qū)間(0,1)內(nèi)的一個(gè)值,一般為0.001~0.0113進(jìn)化、適者生存?zhèn)€體進(jìn)行優(yōu)勝劣汰的進(jìn)化,一代又一代地優(yōu)化目標(biāo)函數(shù)取到最大值,最優(yōu)的可行解75序號(hào)遺傳學(xué)概念遺傳算法概念數(shù)學(xué)概念1個(gè)體要處理的基本對(duì)象智能算法
(IntelligentAlgorithm)智能算法
(IntelligentAlgorithm)77主要內(nèi)容人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetwork,ANN)模擬退火(SimulatedAnnealing,SA)遺傳算法(GeneticAlgorithm,GA)2主要內(nèi)容人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeural78人工神經(jīng)網(wǎng)絡(luò)參考文獻(xiàn)陳念貽,欽佩,陳瑞亮,陸文聰,模式識(shí)別方法在化學(xué)化工中的應(yīng)用,科學(xué)出版社,北京,2000。從爽,面向MATLAB工具箱的神經(jīng)網(wǎng)絡(luò)理論與應(yīng)用,中國(guó)科學(xué)技術(shù)出版社,合肥,1998。焦李成,神經(jīng)網(wǎng)絡(luò)計(jì)算,西安電子科技大學(xué)出版社,西安,1993。王永驥,涂健,神經(jīng)元網(wǎng)絡(luò)控制,機(jī)械工業(yè)出版社,北京,1998。Bishop,C.(1995).NeuralNetworksforPatternRecognition.Oxford:UniversityPress.Carling,A.(1992).IntroducingNeuralNetworks.Wilmslow,UK:SigmaPress.Fausett,L.(1994).FundamentalsofNeuralNetworks.NewYork:PrenticeHallHaykin,S.(1994).NeuralNetworks:AComprehensiveFoundation.NewYork:MacmillanPublishing.Patterson,D.(1996).ArtificialNeuralNetworks.Singapore:PrenticeHall.3人工神經(jīng)網(wǎng)絡(luò)參考文獻(xiàn)陳念貽,欽佩,陳瑞亮,陸文聰,模式識(shí)別79生物神經(jīng)元及神經(jīng)網(wǎng)絡(luò)神經(jīng)元對(duì)信息的接受和傳遞都是通過(guò)突觸來(lái)進(jìn)行的。單個(gè)神經(jīng)元可以從別的細(xì)胞接受多個(gè)輸入。由于輸入分布于不同的部位,對(duì)神經(jīng)元影響的比例(權(quán)重)是不相同的。另外,各突觸輸入抵達(dá)神經(jīng)元的先后時(shí)間也不一祥。因此,一個(gè)神經(jīng)元接受的信息,在時(shí)間和空間上常呈現(xiàn)出一種復(fù)雜多變的形式,需要神經(jīng)元對(duì)它們進(jìn)行積累和整合加工,從而決定其輸出的時(shí)機(jī)和強(qiáng)度。正是神經(jīng)元這種整合作用,才使得億萬(wàn)個(gè)神經(jīng)元在神經(jīng)系統(tǒng)中有條不紊、夜以繼日地處理各種復(fù)雜的信息,執(zhí)行著生物中樞神經(jīng)系統(tǒng)的各種信息處理功能。多個(gè)神經(jīng)元以突觸聯(lián)接形成了一個(gè)神經(jīng)網(wǎng)絡(luò)。4生物神經(jīng)元及神經(jīng)網(wǎng)絡(luò)神經(jīng)元對(duì)信息的接受和傳遞都是通過(guò)突觸來(lái)80一、人工神經(jīng)網(wǎng)絡(luò)什么是人工神經(jīng)網(wǎng)絡(luò)?它就是在對(duì)大腦的生理研究的基礎(chǔ)上,用模擬生物神經(jīng)元的某些基本功能元件(即人工神經(jīng)元),按各種不同的聯(lián)結(jié)方式組織起來(lái)的一個(gè)網(wǎng)絡(luò)。其目的在于模擬大腦的某些機(jī)理與機(jī)制,實(shí)現(xiàn)某個(gè)方面的功能,可以用在模仿視覺(jué)、模式識(shí)別、函數(shù)逼近、模式識(shí)別、分類(lèi)和數(shù)據(jù)壓縮等領(lǐng)域,是近年來(lái)人工智能計(jì)算的一個(gè)重要學(xué)科分支。人工神經(jīng)網(wǎng)絡(luò)有多種形式,其中反向傳播人工神經(jīng)網(wǎng)絡(luò)(Back-PropagationArtificialNetwork,簡(jiǎn)稱(chēng)BP網(wǎng)絡(luò))是一種廣泛使用的神經(jīng)網(wǎng)絡(luò)模型,它充分體現(xiàn)了人工神經(jīng)網(wǎng)絡(luò)的特點(diǎn)。BP網(wǎng)絡(luò)是一種對(duì)非線(xiàn)性可微分函數(shù)進(jìn)行權(quán)值訓(xùn)練的多層網(wǎng)絡(luò),在人工神經(jīng)網(wǎng)絡(luò)的實(shí)際應(yīng)用中,80%~90%的人工神經(jīng)網(wǎng)絡(luò)模型是采用BP網(wǎng)絡(luò)或它的變化形式。5一、人工神經(jīng)網(wǎng)絡(luò)什么是人工神經(jīng)網(wǎng)絡(luò)?它就是在對(duì)大腦的生理研811.1BP神經(jīng)網(wǎng)絡(luò)神經(jīng)元的結(jié)構(gòu)神經(jīng)元是人工神經(jīng)網(wǎng)絡(luò)的基本處理單元,它一般為多輸入/單輸出的非線(xiàn)性元件。神經(jīng)元輸出除受輸入信號(hào)的影響外,還受神經(jīng)元內(nèi)部其它因素的制約,因此在人工神經(jīng)元的建模中,常常加一額外輸入信號(hào),稱(chēng)為偏差(bais),并取值為1。
輸入分量權(quán)值分量
神經(jīng)元的輸出偏差權(quán)值
激活函數(shù)輸入分量通過(guò)與它相乘的權(quán)值分量相連,求和后與偏差權(quán)值共同構(gòu)成激活函數(shù)的輸入
。61.1BP神經(jīng)網(wǎng)絡(luò)神經(jīng)元的結(jié)構(gòu)
輸入分量權(quán)值分量神經(jīng)元82偏差神經(jīng)元的輸出為:
偏差b被簡(jiǎn)單地加在上,作為激活函數(shù)的一個(gè)輸入分量。偏差的重要作用,它使得激活函數(shù)的圖形可以左右移動(dòng),這樣可增加網(wǎng)絡(luò)解決問(wèn)題的能力。
7偏差神經(jīng)元的輸出為:偏差b被簡(jiǎn)單地加在上,作為激活函數(shù)的83激活函數(shù)激活函數(shù)具有模擬生物神經(jīng)元的非線(xiàn)性特性。Sigmoid函數(shù):雙曲正切tanh函數(shù):Sigmoid函數(shù)和雙曲正切tanh函數(shù)都是單調(diào)上升函數(shù),其極值分別為0、1和-1、+1,且都是可微的。8激活函數(shù)激活函數(shù)具有模擬生物神經(jīng)元的非線(xiàn)性特性。Sigmo84激活函數(shù)的一階導(dǎo)數(shù)在BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法中,要用到激活函數(shù)的一階導(dǎo)數(shù)。Sigmoid函數(shù)的導(dǎo)數(shù):雙曲正切tanh函數(shù)的導(dǎo)數(shù):由此可以看出,由于激活函數(shù)的特點(diǎn),用神經(jīng)網(wǎng)絡(luò)計(jì)算時(shí),需對(duì)輸入和輸出的值進(jìn)行調(diào)整。激活函數(shù)是采用Sigmoid函數(shù)時(shí),輸入和輸出的值應(yīng)在{0,1}之間;激活函數(shù)是雙曲正切tanh函數(shù)時(shí),輸入和輸出的值范圍則在{-1,1}之間。9激活函數(shù)的一階導(dǎo)數(shù)在BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法中,要用到激活函數(shù)851.2BP網(wǎng)絡(luò)的模型結(jié)構(gòu)BP網(wǎng)絡(luò)是一種在輸入層和輸出層之間具有一層或多層隱層的網(wǎng)絡(luò)模型,而其典型的結(jié)構(gòu)為有一隱層、包含輸入層和輸出層的三層網(wǎng)絡(luò)模型。典型BP網(wǎng)絡(luò)的結(jié)構(gòu)示意圖如下:網(wǎng)絡(luò)的輸入模式向量為P,有r個(gè)輸入神經(jīng)元,對(duì)應(yīng)輸入模式向量的每個(gè)元素。
隱層內(nèi)有s1個(gè)神經(jīng)元,對(duì)應(yīng)隱層輸出是a1。網(wǎng)絡(luò)的輸出為a2,有s2個(gè)神經(jīng)元,而目標(biāo)輸出為T(mén)。
三層BP神經(jīng)網(wǎng)絡(luò)不同層神經(jīng)元之間實(shí)現(xiàn)權(quán)重連接,而每層內(nèi)各個(gè)神經(jīng)元之間不連接。101.2BP網(wǎng)絡(luò)的模型結(jié)構(gòu)BP網(wǎng)絡(luò)是一種在輸入層和輸出86BP網(wǎng)絡(luò)的四個(gè)計(jì)算過(guò)程輸入模式由輸入層經(jīng)隱含層向輸出層的“模式正向傳播”過(guò)程;(神經(jīng)元的激活值從輸入層經(jīng)隱含層向輸出層傳播,在輸出層各神經(jīng)元獲得網(wǎng)絡(luò)響應(yīng)。)網(wǎng)絡(luò)實(shí)際輸出與希望輸出的誤差信號(hào)由輸出層經(jīng)隱含層向輸入層逐層修正連接權(quán)和閡值的“誤差反向傳播”過(guò)程;由“模式正向傳播”過(guò)程與“誤差反向傳播”過(guò)程的反復(fù)交替進(jìn)行的網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練過(guò)程;網(wǎng)絡(luò)全局誤差趨向極小的學(xué)習(xí)收斂過(guò)程。(網(wǎng)絡(luò)對(duì)輸入模式響應(yīng)的正確率也不斷增加。)11BP網(wǎng)絡(luò)的四個(gè)計(jì)算過(guò)程輸入模式由輸入層經(jīng)隱含層向輸出層的87BP網(wǎng)絡(luò)的計(jì)算過(guò)程的簡(jiǎn)單描述(1)模式正向傳播過(guò)程隱含層中第j個(gè)神經(jīng)元的輸出為:輸出層中第k個(gè)神經(jīng)元的輸出為:誤差反向傳播過(guò)程定義誤差函數(shù)為:
神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的過(guò)程就是通過(guò)調(diào)整權(quán)值,使誤差E最小,此時(shí)可利用最速下降法求權(quán)值及誤差的反向傳播。12BP網(wǎng)絡(luò)的計(jì)算過(guò)程的簡(jiǎn)單描述(1)模式正向傳播過(guò)程隱含88BP網(wǎng)絡(luò)的計(jì)算過(guò)程的簡(jiǎn)單描述(2)隱含層中第j個(gè)神經(jīng)元的輸出的權(quán)值變化為:對(duì)第i個(gè)輸入到隱含層中第j個(gè)神經(jīng)元輸出的權(quán)值變化為:修正后的新權(quán)重調(diào)整為:
η稱(chēng)為學(xué)習(xí)系數(shù),值在{0,1}之間。
13BP網(wǎng)絡(luò)的計(jì)算過(guò)程的簡(jiǎn)單描述(2)隱含層中第j個(gè)神經(jīng)元的89加快BP網(wǎng)絡(luò)訓(xùn)練速度的方法
BP網(wǎng)絡(luò)得到了廣泛的應(yīng)用,但也存在自身的不足與限制,主要表現(xiàn)在網(wǎng)絡(luò)訓(xùn)練需較長(zhǎng)時(shí)間和網(wǎng)絡(luò)有可能達(dá)到局部最小。據(jù)此,BP網(wǎng)絡(luò)有各種改進(jìn)方法,以加快訓(xùn)練速度,避免陷入局部極小。主要的改進(jìn)方法有:增加動(dòng)量項(xiàng),以平滑權(quán)的變化,一種常用形式是:α為動(dòng)量因子,值在{0,1}之間,n為迭代次數(shù)。
采用二階學(xué)習(xí)算法。前面的基于函數(shù)梯度的算法屬于一階算法,缺點(diǎn)就是在極值點(diǎn)附近收斂速度慢。采用二階算法,如牛頓法、共軛梯度法等,將有較快的收斂速度。模擬退火法。14加快BP網(wǎng)絡(luò)訓(xùn)練速度的方法BP網(wǎng)絡(luò)得到了廣泛的應(yīng)用,但901.4BP神經(jīng)網(wǎng)絡(luò)計(jì)算(1)網(wǎng)絡(luò)的層數(shù):在運(yùn)用BP神經(jīng)網(wǎng)絡(luò)時(shí),最多采用的是具有一層或兩層隱層的網(wǎng)絡(luò)。
具有偏差和至少一個(gè)S型隱層的網(wǎng)絡(luò),可以近似任何函數(shù),這已成為設(shè)計(jì)BP神經(jīng)網(wǎng)絡(luò)的原則。
網(wǎng)絡(luò)計(jì)算精度的提高,可以通過(guò)采用一個(gè)隱層,而增加隱層神經(jīng)元數(shù)的方法來(lái)獲得,這也就是通常用一隱層、包含輸入層和輸出層的三層BP網(wǎng)絡(luò)模型的原因。神經(jīng)元數(shù):輸入和輸出的神經(jīng)元數(shù)可以根據(jù)需要求解的問(wèn)題和數(shù)據(jù)所表示的方式來(lái)確定。問(wèn)題確定后,輸入層與輸出層的神經(jīng)元數(shù)也就隨之定了。隱層神經(jīng)元數(shù)的選擇有較廣的范圍:當(dāng)隱層神經(jīng)元數(shù)較少時(shí),誤差下降到一定程度后會(huì)變化很??;當(dāng)隱層神經(jīng)元數(shù)過(guò)多時(shí),不僅網(wǎng)絡(luò)訓(xùn)練時(shí)間長(zhǎng),還會(huì)出現(xiàn)過(guò)擬合問(wèn)題,降低神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)功能。通常隱層神經(jīng)元數(shù)的選擇原則是:在能解決問(wèn)題的前提下,再加上1到2個(gè)神經(jīng)元以加快誤差的下降速度即可。151.4BP神經(jīng)網(wǎng)絡(luò)計(jì)算(1)網(wǎng)絡(luò)的層數(shù):91BP神經(jīng)網(wǎng)絡(luò)計(jì)算(2)初始權(quán)值的選取權(quán)重初始值的選取,對(duì)網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí)是否達(dá)到局部最小,是否能夠收斂以及訓(xùn)練時(shí)間的長(zhǎng)短有很大的關(guān)系。如果初始權(quán)值太大,使得加和后的值落在激活函數(shù)的飽和區(qū),從而導(dǎo)致激活函數(shù)的導(dǎo)數(shù)非常小,在計(jì)算權(quán)值修正時(shí),調(diào)整值接近零,網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練幾乎處在停止?fàn)顟B(tài)。所以一般總是希望經(jīng)過(guò)初始權(quán)值計(jì)算后每個(gè)神經(jīng)元的輸出值都接近零,這樣可以保證每個(gè)神經(jīng)元的權(quán)值都能在激活函數(shù)變化最大之處進(jìn)行調(diào)節(jié)。一般來(lái)說(shuō),初始權(quán)值取{-1,1}之間的隨機(jī)數(shù)是較好的選擇。
16BP神經(jīng)網(wǎng)絡(luò)計(jì)算(2)初始權(quán)值的選取92BP神經(jīng)網(wǎng)絡(luò)計(jì)算(3)學(xué)習(xí)速率學(xué)習(xí)速率決定每一次循環(huán)訓(xùn)練中所產(chǎn)生的權(quán)值變化量。大的學(xué)習(xí)速率可能導(dǎo)致系統(tǒng)的不穩(wěn)定;但小的學(xué)習(xí)速率導(dǎo)致較長(zhǎng)的訓(xùn)練時(shí)間,可能收斂很慢,不過(guò)能保證網(wǎng)絡(luò)的誤差值不跳出誤差表面的低谷而最終趨于最小誤差值。所以在一般情況下,傾向于選取較小的學(xué)習(xí)速率以保證系統(tǒng)的穩(wěn)定性。學(xué)習(xí)速率的選取范圍在0.01~0.8之間。在一個(gè)神經(jīng)網(wǎng)絡(luò)的計(jì)算過(guò)程中,使網(wǎng)絡(luò)經(jīng)過(guò)幾個(gè)不同的學(xué)習(xí)速率的訓(xùn)練,通過(guò)觀(guān)察每一次訓(xùn)練后的誤差平方和的下降速率來(lái)判斷所選定的學(xué)習(xí)速率是否合適。如果誤差平方和下降很快,則說(shuō)明學(xué)習(xí)速率合適若誤差平方和出現(xiàn)振蕩現(xiàn)象,則說(shuō)明學(xué)習(xí)速率過(guò)大。對(duì)于每一個(gè)具體網(wǎng)絡(luò)都存在一個(gè)合適的學(xué)習(xí)速率。但對(duì)于較復(fù)雜網(wǎng)絡(luò),在誤差曲面的不同部位可能需要不同的學(xué)習(xí)速率。為了減少尋找學(xué)習(xí)速率的訓(xùn)練次數(shù)以及訓(xùn)練時(shí)間,比較合適的方法是采用變化的學(xué)習(xí)速率,使網(wǎng)絡(luò)的訓(xùn)練在不同的階段自動(dòng)設(shè)置不同學(xué)習(xí)速率的大小。17BP神經(jīng)網(wǎng)絡(luò)計(jì)算(3)學(xué)習(xí)速率93BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介BATCHNET是一個(gè)BP神經(jīng)網(wǎng)絡(luò)計(jì)算的DOS程序,程序由batchnet.exe和weights.exe兩個(gè)可執(zhí)行文件構(gòu)成。batchnet為網(wǎng)絡(luò)訓(xùn)練和預(yù)測(cè)程序,激活函數(shù)為Sigmoid函數(shù),輸入輸出樣本值范圍為{0,1}。weights程序產(chǎn)生初始權(quán)值。批處理程序demo.batbatchnet-e10–d1.0e-5demo.run
說(shuō)明:-e10—
表示網(wǎng)絡(luò)每迭代10步后顯示誤差;–d1.0e-5—
表示網(wǎng)絡(luò)訓(xùn)練誤差;demo.run—
求解問(wèn)題的網(wǎng)絡(luò)參數(shù)文件,由batchnet調(diào)用,文件名可改,但擴(kuò)展名run不能變。
18BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介BATCHNET94BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介網(wǎng)絡(luò)參數(shù)文件demo.run的格式4train.outtrain.errtrain.patweights.wtstrain.wts10010009420.150.075test.outtest.errtest.pattrain.wtstest.wts16619420.150.075train.outtrain.errtrain.pattrain.wtstrain.wts10010009420.150.075test.outtest.errtest.pattrain.wtstest.wts16619420.150.075NumfOutfErrfPatfWtsfWtsonPatsnIternInpnHidnOutetaalphaNum—運(yùn)行次數(shù),本例為4;
fOut—網(wǎng)絡(luò)計(jì)算結(jié)果輸出文件,輸出;fErr—網(wǎng)絡(luò)計(jì)算誤差文件,輸出;fPat—訓(xùn)練學(xué)習(xí)樣本文件,輸入;fWts—問(wèn)題的初始權(quán)值文件,輸入,由程序weights產(chǎn)生;fWtso—訓(xùn)練后的權(quán)值文件,輸出;nPats—訓(xùn)練樣本數(shù),本例為100;nIter—訓(xùn)練迭代次數(shù),本例為1000;nInp—輸入層神經(jīng)元數(shù)目,本例為9;nHid—隱層神經(jīng)元數(shù)目,本例為4;nOut—輸出層神經(jīng)元數(shù)目,本例為2;eta—學(xué)習(xí)速率,本例為0.15;alpha—?jiǎng)恿恳蜃?,本例?.075。
表示用BP神經(jīng)網(wǎng)絡(luò)先對(duì)100對(duì)輸入輸出樣本進(jìn)行學(xué)習(xí)訓(xùn)練1000次,預(yù)測(cè)166個(gè)樣本一次,然后繼續(xù)學(xué)習(xí)訓(xùn)練1000次后再進(jìn)行一次預(yù)測(cè)。Batchnet如只計(jì)算一次,則不對(duì)連接權(quán)重進(jìn)行更新。
19BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介網(wǎng)絡(luò)參數(shù)文件de95BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介程序weights的運(yùn)行:weightsint_numnInpnHidnOutran_wts
說(shuō)明:int_num—
任一6位整數(shù);nInp—
輸入層神經(jīng)元數(shù)目;nHid—
隱層神經(jīng)元數(shù)目;nOut—
輸出層神經(jīng)元數(shù)目,這3個(gè)參數(shù)同run程序中的相一致;ran_wts—
初始權(quán)值取值范圍,實(shí)數(shù)1.表示取值范圍在{-1,1}之間。Weights1234569421.020BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介程序weight96BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介訓(xùn)練樣本文件fPat的格式:說(shuō)明:In_pat—
樣本的輸入;Out_pat—
對(duì)應(yīng)的樣本輸出;Id—
對(duì)應(yīng)的樣本標(biāo)號(hào);
In_patOut_patId0.3636360.1916670.70.750.6666670.5312250.08983330.05042190.6844341012345670.3272730.1875010.7333330.750.80.5310380.08194420.05042190.801057101234567
21BP神經(jīng)網(wǎng)絡(luò)計(jì)算程序BATCHNET簡(jiǎn)介訓(xùn)練樣本文件fP97STATISTICANeuralNetworks(SNN)簡(jiǎn)介通過(guò)輸入數(shù)值變量(自變量)可以用神經(jīng)網(wǎng)絡(luò)來(lái)計(jì)算輸出變量(應(yīng)變量),輸出變量的類(lèi)型可以是數(shù)值型的,也可以是非數(shù)值型的。在SNN中,求解問(wèn)題可通過(guò)兩種基本方式來(lái)進(jìn)行:智能問(wèn)題求解器(IntelligentProblemSolver)或程序的菜單。智能問(wèn)題求解器引導(dǎo)使用者建立求解問(wèn)題的神經(jīng)網(wǎng)絡(luò)。在智能問(wèn)題求解器中,有基本型和高級(jí)型兩種模式可供選擇。基本型中,使用者只能控制設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)中的幾個(gè)關(guān)鍵點(diǎn),包括問(wèn)題類(lèi)型(樣本相互獨(dú)立的標(biāo)準(zhǔn)型和變量預(yù)測(cè)值依賴(lài)先前值的時(shí)間序列)、輸出和輸入變量、求解器篩選優(yōu)化網(wǎng)絡(luò)的計(jì)算時(shí)間控制、在網(wǎng)絡(luò)設(shè)置中需保存的網(wǎng)絡(luò)情況以及需顯示的結(jié)果與統(tǒng)計(jì),其余的網(wǎng)絡(luò)設(shè)計(jì)及計(jì)算由求解器自動(dòng)完成。基本型供對(duì)神經(jīng)網(wǎng)絡(luò)計(jì)算了解不多者使用。高級(jí)型中,使用者能控制設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的各方面,包括網(wǎng)絡(luò)訓(xùn)練、校驗(yàn)、測(cè)試時(shí)所用數(shù)據(jù)的分割、置信度的類(lèi)型選擇、選擇需產(chǎn)生網(wǎng)絡(luò)的類(lèi)型及復(fù)雜程度等,供對(duì)神經(jīng)網(wǎng)絡(luò)計(jì)算較熟悉者使用。22STATISTICANeuralNetworks(98SNN中的神經(jīng)網(wǎng)絡(luò)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024常規(guī)終止解除勞動(dòng)合同證明書(shū)
- 2024年城市供水工程建設(shè)項(xiàng)目特許經(jīng)營(yíng)合同
- 2024年廢棄物處理拆除勞務(wù)合同
- 有關(guān)產(chǎn)品加工合同經(jīng)典范文
- 2024工傷賠償協(xié)議書(shū)示例
- 私營(yíng)店主用人勞動(dòng)合同范本2024年
- 互聯(lián)網(wǎng)接入服務(wù)合同范本
- 標(biāo)準(zhǔn)建房合同范本
- 工程分包合同書(shū)范本專(zhuān)業(yè)
- 全面店面出租合同模板
- 杜邦杜邦工程塑料課件
- 砌體工程監(jiān)理實(shí)施細(xì)則
- 運(yùn)輸車(chē)輛衛(wèi)生安全檢查記錄表
- 房建裝修修繕工程量清單
- 部編版四年級(jí)道德與法治上冊(cè)第8課《網(wǎng)絡(luò)新世界》優(yōu)質(zhì)課件
- 柴油發(fā)電機(jī)組應(yīng)急預(yù)案
- 格力2匹柜機(jī)檢測(cè)報(bào)告KFR-50LW(50530)FNhAk-B1(性能)
- 分級(jí)護(hù)理制度考試題及答案
- 小學(xué)生勞動(dòng)課炒菜教案(精選8篇)
- 高考作文模擬寫(xiě)作:“德”與“得”導(dǎo)寫(xiě)及范文
- 江蘇專(zhuān)轉(zhuǎn)本《大學(xué)語(yǔ)文》考綱
評(píng)論
0/150
提交評(píng)論