国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)算法的研究與應(yīng)用

2019-06-01 08:07富宇李倩劉澎
關(guān)鍵詞:步數(shù)權(quán)值遺傳算法

富宇 李倩 劉澎

(東北石油大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院 大慶 163318)

1 引言

BP神經(jīng)網(wǎng)絡(luò)是依據(jù)類似人腦的神經(jīng)應(yīng)對外部干擾的的刺激做出反應(yīng)的方法,是一種多層前饋型網(wǎng)絡(luò)[1~3]。BP神經(jīng)網(wǎng)絡(luò)主要包括三層,即輸入層、隱藏層和輸出層,不同層分別包括多個(gè)并行的神經(jīng)元信號。BP神經(jīng)網(wǎng)絡(luò)利用正向傳播信號并結(jié)合誤差的反向調(diào)節(jié),尋找各個(gè)層級之間神經(jīng)元的權(quán)值,從而構(gòu)造出神經(jīng)網(wǎng)絡(luò)模型。在正向傳播時(shí),信號經(jīng)過各層次。反向傳播時(shí),將輸出層與期望輸出的誤差作為所用的信息。

向前傳播和反向調(diào)節(jié)是BP神經(jīng)網(wǎng)絡(luò)算法的兩大步驟,這兩個(gè)步驟相互進(jìn)行,指導(dǎo)模型的結(jié)果逼近期望輸出[4]。

在實(shí)際應(yīng)用中的BP神經(jīng)網(wǎng)絡(luò)會(huì)存在一些不足的地方,其層數(shù)較多,同時(shí)神經(jīng)元節(jié)點(diǎn)較多,連接不同層級神經(jīng)元間的權(quán)值也眾多,由于BP神經(jīng)網(wǎng)絡(luò)受初始權(quán)值的約束[5~7],往往陷入局部最優(yōu),導(dǎo)致逼近期望輸出失敗。

通過對BP神經(jīng)網(wǎng)絡(luò)研究的過程中發(fā)現(xiàn),有文獻(xiàn)[8]將學(xué)習(xí)率調(diào)整為自適應(yīng)來加快網(wǎng)絡(luò)收斂速度對算法進(jìn)行改進(jìn),該方法是在傳統(tǒng)BP算法上對時(shí)變過程參數(shù)的神經(jīng)元網(wǎng)絡(luò)學(xué)習(xí)的改進(jìn)算法,但是該算法對于BP算法中的局部極小問題沒有解決。有文獻(xiàn)[9]在研究過程中提出利用更新權(quán)值時(shí)采用最佳學(xué)習(xí)因子,利用此改進(jìn)算法在使用過程中的收斂速度,節(jié)省BP網(wǎng)絡(luò)訓(xùn)練的步數(shù),但是此改進(jìn)方法在使用過程中發(fā)現(xiàn)針對BP算法中極小點(diǎn)的問題并沒有做出解決,同時(shí)發(fā)現(xiàn)改進(jìn)的程度過于局限。在研究過程中發(fā)現(xiàn)有文獻(xiàn)[10]提出利用極限學(xué)習(xí)機(jī)的方法來提升BP算法的速度讀,此方法也就是增加結(jié)構(gòu)型反饋網(wǎng)絡(luò)。應(yīng)用此方法的學(xué)習(xí)速度比傳統(tǒng)的梯度型算法快,但是該算法對于多數(shù)訓(xùn)練數(shù)據(jù)來說需要更多的隱層節(jié)點(diǎn),這樣會(huì)導(dǎo)致計(jì)算的速度緩慢。

本文在研究的過程中著重對BP神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)過程中收斂速度緩慢和易陷入局部最小值等問題,尋找出將壓縮映射遺傳和BP神經(jīng)網(wǎng)絡(luò)相結(jié)合優(yōu)化的方法,在大群體中找出最優(yōu)個(gè)體來進(jìn)行BP訓(xùn)練,用此方法將收斂速度改善,減少訓(xùn)練步數(shù),降低訓(xùn)練誤差,在BP算法在個(gè)體中的尋找最優(yōu)和其他個(gè)體稱重的最優(yōu)空間中尋找最優(yōu)。

2 改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)算法概述

2.1 復(fù)雜前饋網(wǎng)絡(luò)

在傳統(tǒng)的BP算法的基礎(chǔ)上結(jié)合復(fù)雜前饋網(wǎng)絡(luò),也就是多層前饋網(wǎng)絡(luò),在使用時(shí),單隱層的神經(jīng)網(wǎng)絡(luò)應(yīng)用次數(shù)比較多,非線性傳輸函數(shù)是隱層神經(jīng)元在BP網(wǎng)絡(luò)中具有的特點(diǎn)。而在輸出層則用線性傳輸函數(shù)顯現(xiàn)。如果算法使用時(shí),存在隱層的節(jié)點(diǎn)比較多的情況時(shí),單隱層前饋網(wǎng)絡(luò)可以與任意區(qū)間內(nèi)的連續(xù)函數(shù)進(jìn)行靠近。

沒有約束優(yōu)化是神經(jīng)網(wǎng)絡(luò)訓(xùn)練的主要存在的問題,訓(xùn)練過程的目標(biāo)就是要減少輸出端的均方誤差。在BP網(wǎng)絡(luò)中的輸出結(jié)果可以利用正向傳播來取得[11~14],如果使用過程中輸出的結(jié)果無法達(dá)到預(yù)期的期望,實(shí)踐過程就會(huì)進(jìn)入反向傳播的狀態(tài),并將權(quán)值在神經(jīng)元連接處修改,如果發(fā)現(xiàn)算法中輸出層的輸出結(jié)果達(dá)不到預(yù)期的希望,算法就會(huì)進(jìn)入反向傳播狀態(tài),可不斷的調(diào)節(jié)神經(jīng)元連接的權(quán)值,此過程循環(huán)往復(fù)的傳播,可以逐漸使誤差達(dá)到預(yù)期想允許的范圍,權(quán)值可修正如下所示:

網(wǎng)絡(luò)連接權(quán)值權(quán)初值的選擇對算法來說至關(guān)重要,權(quán)值初值的選擇合理化會(huì)致使網(wǎng)絡(luò)收斂性較好,相反,權(quán)值初值的選擇不合理會(huì)致網(wǎng)絡(luò)出現(xiàn)收斂性較差的情況,但是權(quán)值的選擇在BP網(wǎng)絡(luò)上的情況具有很大的隨機(jī)性,由此可看出算法使用時(shí)收斂的情況較為困難。

2.2 壓縮映射遺傳算法

梯度方法是BP算法過程的重要部分,此方法具有收斂速度慢、容易受局部極小點(diǎn)的束縛[15~17],而此時(shí)遺傳算法可彌補(bǔ)BP算法過程中的不足,因此可彌補(bǔ)缺陷。

普通的遺傳算法無法保證整個(gè)全局都是收斂的。由此可用壓縮映射遺傳算法利用映射過程中的原理來解決遺傳算法整個(gè)全局都是收斂的問題。

設(shè)其中一距離空間是(X,d),則有對于每個(gè)x,y∈X有d(Ax,Ay)<a d(x,y),其中,a∈(0,1)是常數(shù)值,可看做A為X上的某個(gè)壓縮映射,此時(shí)映射f有唯一點(diǎn),即有且僅有一個(gè)X可以使f(x)=X。

假設(shè)構(gòu)造成員為P,同時(shí)設(shè)度量空間為X,壓縮映射是具有過程性的,在這個(gè)過程中,f都有唯一的確定點(diǎn)。該點(diǎn)是通過f應(yīng)用于某一初始值P(0)不斷的發(fā)展獲出來,同時(shí)確定點(diǎn)找好后,就可以在該點(diǎn)上得知算法的收斂性,而與初始選擇的群體關(guān)系較小。

2.3 BP網(wǎng)絡(luò)與壓縮映射

本文采用的BP網(wǎng)絡(luò)改進(jìn)方法是將壓縮映射遺傳算法引入到BP網(wǎng)絡(luò)中,對BP網(wǎng)絡(luò)進(jìn)行優(yōu)化,以此來解決傳統(tǒng)BP算法中的缺陷問題。

在BP神經(jīng)網(wǎng)絡(luò)中引入壓縮映射遺傳后的優(yōu)化方法稱為GA優(yōu)化,可理解為:GA進(jìn)行遺傳操作前利用BP訓(xùn)練對從而降低目標(biāo)誤差的值,對群體中最優(yōu)個(gè)體和其他不同的個(gè)體交叉、變異訓(xùn)練,致使算法尋找出最優(yōu),在不同的個(gè)體之間,采用變異子代中找出目前正在運(yùn)行的算法中最優(yōu)的個(gè)體,用此最優(yōu)個(gè)體進(jìn)行下一次的BP訓(xùn)練。

確定點(diǎn)P*在壓縮映射遺傳算法中可看做:

其中,P代表著產(chǎn)生算法使用過程中整個(gè)全局最好的群體。

在BP神經(jīng)網(wǎng)絡(luò)中,三層的實(shí)驗(yàn)具有非線性的映射關(guān)系,三層實(shí)現(xiàn)的非線性映射關(guān)系為

其中,訓(xùn)練樣本用(xj,tk)表示,Nh為隱含元個(gè)數(shù),f看做是激勵(lì)函數(shù),輸入層和隱含層的連接權(quán)值可用w表示,隱含層輸出權(quán)值用C表示,隱含層閾值用θ表示。

由此,BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練目標(biāo)可如下表示:

其中,ω=(w,c,θ)。

通過對算法的深入研究,可將改進(jìn)后的算法中參數(shù)的選擇和計(jì)算步驟總結(jié)如下:

1)找出應(yīng)用BP網(wǎng)絡(luò)算法所求問題的應(yīng)輸入樣本和輸出樣本,樣本確立后,對網(wǎng)絡(luò)結(jié)構(gòu)做出假設(shè),并假設(shè)出隱含層和輸出層過程中的激勵(lì)函數(shù)。

2)將運(yùn)行參數(shù)設(shè)置出固定值,包括對算法中的群體的規(guī)模、最大化的代數(shù)等的設(shè)置。

3)實(shí)數(shù)編碼在BP網(wǎng)絡(luò)應(yīng)用的過程中較為實(shí)用,因此采用實(shí)數(shù)編碼方式,實(shí)數(shù)編碼時(shí)要減少由二進(jìn)制編碼造成的數(shù)值精度不準(zhǔn)確以及取值范圍不確定的問題。

4)對算法評價(jià)的函數(shù)進(jìn)行設(shè)定。不同的染色體可表示不同的權(quán)值,算法運(yùn)行時(shí)把不同的權(quán)值發(fā)送到不同的網(wǎng)絡(luò)結(jié)構(gòu)中去,之前已經(jīng)有的訓(xùn)練樣本可作為輸入和輸出,算法在運(yùn)行之后將返回值作為個(gè)體的評價(jià)函數(shù)。

5)要產(chǎn)生初始群體,產(chǎn)生的過程是隨機(jī)的,同時(shí)也要計(jì)算不同群體中的每個(gè)個(gè)體的輸出誤差值。

6)判斷最優(yōu)的個(gè)體在相鄰兩代中是否相同,若相鄰兩代最優(yōu)個(gè)體相同,則進(jìn)行下一步,若相鄰兩代最優(yōu)個(gè)體不相同,則利用BP算法進(jìn)行訓(xùn)練。

7)需要判斷最優(yōu)個(gè)體的輸出誤差是否與目標(biāo)誤差不一致,或大或小。如果差別不大,則可以看做截止訓(xùn)練,如果得到的值差別過大,則進(jìn)行下一步。

8)要計(jì)算出不同的個(gè)體的適應(yīng)度值。

9)在交叉子代和通過BP網(wǎng)絡(luò)訓(xùn)練后的最優(yōu)個(gè)體中選出當(dāng)代最優(yōu)個(gè)體進(jìn)行接下來的BP訓(xùn)練。

10)在個(gè)體中,任意兩個(gè)個(gè)體可以產(chǎn)生多個(gè)新的個(gè)體,組成新鮮的個(gè)體,采用的方法是交叉方法,將最優(yōu)個(gè)體與群體中的個(gè)體相結(jié)合。在傳統(tǒng)的BP算法使用過程中,由于均勻變異和正太變異是與進(jìn)化代數(shù)解關(guān)系不大,所以遺傳算法缺乏部分的搜索能力,導(dǎo)致算法在應(yīng)用過程中的變異算子能夠自適應(yīng),這這個(gè)步驟的局部搜索過程中,搜索的范圍需考慮解的程度,可大幅度提高搜索的能力。

11)在這個(gè)步驟中,主要是對每個(gè)進(jìn)化代數(shù)都加上1,完成后,對進(jìn)化代數(shù)進(jìn)行理解,找出進(jìn)化代數(shù)是否能夠達(dá)到最大進(jìn)化代數(shù),如果能達(dá)到最大進(jìn)化代數(shù),可退出BP訓(xùn)練,如果沒能達(dá)到最大進(jìn)化代數(shù),從步驟6)中心執(zhí)行下一次的進(jìn)化。

在上述表述中可知,在BP算法中引入壓縮映射遺傳算法,可以改進(jìn)傳統(tǒng)BP網(wǎng)絡(luò)中的不足,將劣勢彌補(bǔ),優(yōu)化BP算法,同時(shí),改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)能夠大幅度提高使用過程中的收斂速度,可取得良好的訓(xùn)練成果。

3 實(shí)驗(yàn)分析

對改進(jìn)的BP算法的實(shí)驗(yàn)分析主要是通過對壓力、壓差等2000組數(shù)據(jù)進(jìn)行仿真測試的。利用仿真測試對實(shí)驗(yàn)數(shù)據(jù)模擬,可以幫助我們驗(yàn)證算法的優(yōu)劣。

本文所做的GA優(yōu)化BP網(wǎng)絡(luò)結(jié)構(gòu)主要分為三層,在BP網(wǎng)絡(luò)訓(xùn)練的過程中采用三層訓(xùn)練設(shè)計(jì),由輔助變量、流動(dòng)體的流動(dòng)狀態(tài)、溫度、壓力、壓差等輸入神經(jīng)元,神經(jīng)元個(gè)數(shù)在隱層中為10,一個(gè)流量估計(jì)值和五個(gè)校驗(yàn)值組成輸出神經(jīng)元,為確保在網(wǎng)絡(luò)訓(xùn)練的過程中無誤,可根據(jù)在實(shí)際中發(fā)生的狀況選取10組數(shù)據(jù)作為測試的樣本數(shù)據(jù),在運(yùn)行過程中,不斷地改變學(xué)習(xí)率和動(dòng)量的因子,可使得目標(biāo)精度為0.001,最大訓(xùn)練步數(shù)為1998步,交叉率位0.65,變異率為0.07,47為初始種群個(gè)數(shù),199是最大遺傳代數(shù)。如圖1為傳統(tǒng)的BP網(wǎng)絡(luò)訓(xùn)練結(jié)果,圖2為壓縮映射遺傳與BP網(wǎng)絡(luò)訓(xùn)練相結(jié)合的訓(xùn)練結(jié)果。

由圖可知,傳統(tǒng)的BP網(wǎng)絡(luò)結(jié)構(gòu)的訓(xùn)練步數(shù)為958,其訓(xùn)練時(shí)間為14.9531s。

利用GA優(yōu)化后的BP網(wǎng)絡(luò)來訓(xùn)練后的結(jié)果可知,訓(xùn)練步數(shù)為671,訓(xùn)練時(shí)間為13.9290s。與傳統(tǒng)的BP網(wǎng)絡(luò)相比,訓(xùn)練步數(shù)減少了287,訓(xùn)練時(shí)間減少了1.0241s,有較大幅度的提高。

圖1 傳統(tǒng)的BP網(wǎng)絡(luò)

圖2 GA優(yōu)化的BP網(wǎng)絡(luò)

在數(shù)據(jù)文件中任意抽取5組數(shù)據(jù)用來驗(yàn)證結(jié)果,各組數(shù)據(jù)為17個(gè)樣本,來對GA-BP網(wǎng)絡(luò)測試,分別計(jì)算出訓(xùn)練步數(shù)、訓(xùn)練時(shí)間。

可在數(shù)據(jù)文件中隨機(jī)抽取5組數(shù)據(jù)進(jìn)一步驗(yàn)證結(jié)果,每組數(shù)據(jù)為17個(gè)樣本,對GA-BP網(wǎng)絡(luò)進(jìn)行測試,計(jì)算其平均訓(xùn)練步數(shù)和訓(xùn)練時(shí)間。具體比較結(jié)果見如表1~3所示,傳統(tǒng)的BP網(wǎng)絡(luò)結(jié)構(gòu)為表1、GA優(yōu)化的BP網(wǎng)絡(luò)結(jié)構(gòu)為表2、傳統(tǒng)的BP網(wǎng)絡(luò)結(jié)構(gòu)與GA優(yōu)化的BP網(wǎng)絡(luò)為表3。

表1 傳統(tǒng)的BP網(wǎng)絡(luò)結(jié)構(gòu)

表2 GA優(yōu)化的BP網(wǎng)絡(luò)

表3 傳統(tǒng)的BP網(wǎng)絡(luò)結(jié)構(gòu)與CMGA優(yōu)化的BP網(wǎng)絡(luò)

在上述表中,I代表訓(xùn)練時(shí)間,X代表訓(xùn)練步數(shù),B代表是否達(dá)到訓(xùn)練精度,F(xiàn)代表是否收斂,P代表均值,N代表訓(xùn)練次數(shù)編號。

通過對表1、表2和表3的統(tǒng)計(jì)結(jié)果可知,傳統(tǒng)的BP算法訓(xùn)練過程所用的時(shí)間相對較長,訓(xùn)練步數(shù)比較多,平均達(dá)到963.6步,但是成功率幾乎達(dá)到100%。優(yōu)化后的BP網(wǎng)絡(luò)跟傳統(tǒng)的BP算法訓(xùn)練過程相比所用的時(shí)間較少,平均所用時(shí)間為13.6621,同時(shí)訓(xùn)練過程所需要的步數(shù)也較少,均值為799步,精度并無發(fā)生任何變化。由此可知,優(yōu)化后的算法對BP網(wǎng)絡(luò)訓(xùn)練所達(dá)到的精確程度和收斂程度并不影響,訓(xùn)練時(shí)間和訓(xùn)練步數(shù)相對傳統(tǒng)的BP網(wǎng)絡(luò)節(jié)省較多。

4 結(jié)語

改進(jìn)后的BP算法,即利用本文提出的GA優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)在保證神經(jīng)網(wǎng)絡(luò)訓(xùn)練達(dá)到全局最優(yōu)的同時(shí),還可以幫助克服BP算法易陷入局部及小點(diǎn)和BP神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)時(shí)候權(quán)值選擇的這一主要問題。本文也通過最算法在實(shí)驗(yàn)中的仿真數(shù)據(jù)對優(yōu)化的BP網(wǎng)絡(luò)合理性進(jìn)行了證實(shí)。通過實(shí)驗(yàn)結(jié)果可以看到本方法取得了良好的效果,對以后BP神經(jīng)網(wǎng)絡(luò)的研究提供了重要的參考價(jià)值。

猜你喜歡
步數(shù)權(quán)值遺傳算法
一種融合時(shí)間權(quán)值和用戶行為序列的電影推薦模型
基于改進(jìn)遺傳算法的航空集裝箱裝載優(yōu)化
基于改進(jìn)遺傳算法的航空集裝箱裝載問題研究
楚國的探索之旅
基于遺傳算法的高精度事故重建與損傷分析
微信運(yùn)動(dòng)步數(shù)識人指南
國人運(yùn)動(dòng)偏愛健走
物流配送車輛路徑的免疫遺傳算法探討
財(cái)務(wù)風(fēng)險(xiǎn)跟蹤評價(jià)方法初探
基于洪泛查詢的最短路徑算法在智能交通系統(tǒng)中的應(yīng)用
靖江市| 乐安县| 民权县| 溧阳市| 都安| 黑河市| 新化县| 曲松县| 襄垣县| 尉氏县| 大新县| 东方市| 安宁市| 涞源县| 襄汾县| 寿阳县| 马边| 华亭县| 水富县| 陇南市| 五指山市| 高州市| 赤峰市| 若羌县| 双峰县| 凉城县| 醴陵市| 宿松县| 岑巩县| 博野县| 昌乐县| 什邡市| 平凉市| 迁西县| 南宫市| 逊克县| 芜湖市| 石狮市| 红桥区| 深州市| 曲水县|