• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種利用Gauss變異優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的方法

      2014-03-22 17:52:22王路等
      現(xiàn)代電子技術(shù) 2014年6期
      關(guān)鍵詞:動(dòng)態(tài)調(diào)整BP神經(jīng)網(wǎng)絡(luò)

      王路等

      摘 要: 為了克服傳統(tǒng)BP算法收斂速度慢和局部極小點(diǎn)等問(wèn)題,提出了一種改進(jìn)的BP網(wǎng)絡(luò)訓(xùn)練方法,將改進(jìn)的BP算法和遺傳算法相結(jié)合。首先引入遺傳算法中群體的概念,選取最好個(gè)體中的誤差作為最小誤差,其次利用Gauss變異生成的兩個(gè)小隨機(jī)數(shù)作為BP算法中的學(xué)習(xí)率和沖量系數(shù),實(shí)現(xiàn)對(duì)兩個(gè)參數(shù)的動(dòng)態(tài)調(diào)整,以達(dá)到對(duì)BP網(wǎng)絡(luò)的權(quán)值優(yōu)化的目的。實(shí)驗(yàn)結(jié)果表明,該方法有效提高了BP網(wǎng)絡(luò)的收斂速度,在訓(xùn)練時(shí)間方面具有明顯的優(yōu)越性,具有較好的實(shí)用性。

      關(guān)鍵詞: BP神經(jīng)網(wǎng)絡(luò); Gauss變異; 學(xué)習(xí)率; 沖量系數(shù); 動(dòng)態(tài)調(diào)整

      中圖分類(lèi)號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)06?0012?03

      0 引 言

      神經(jīng)網(wǎng)絡(luò)是一個(gè)黑箱模型,它具有很強(qiáng)的適應(yīng)能力和學(xué)習(xí)能力,在人工智能、自動(dòng)控制、模式識(shí)別、信號(hào)處理、預(yù)測(cè)及評(píng)價(jià)等方面都有著越來(lái)越廣泛的應(yīng)用[1?3]。目前已經(jīng)提出了多種訓(xùn)練算法和網(wǎng)絡(luò)模型,其中應(yīng)用最廣泛的是前饋型神經(jīng)網(wǎng)絡(luò)。前饋型神經(jīng)網(wǎng)絡(luò)訓(xùn)練中使用最多的方法是誤差反向傳播(Back Propagation,BP)學(xué)習(xí)算法。BP算法系統(tǒng)地解決了多層網(wǎng)絡(luò)中隱含神經(jīng)元連接權(quán)的學(xué)習(xí)問(wèn)題,使BP 網(wǎng)絡(luò)成為應(yīng)用最為廣泛的一種神經(jīng)網(wǎng)絡(luò)模型。但是BP網(wǎng)絡(luò)也有一些不足[4?5]。比如:收斂速度太慢問(wèn)題、局部極小點(diǎn)問(wèn)題、網(wǎng)絡(luò)癱瘓問(wèn)題、穩(wěn)定性問(wèn)題、步長(zhǎng)問(wèn)題等,極大地影響了神經(jīng)網(wǎng)絡(luò)的進(jìn)一步應(yīng)用。很多學(xué)者對(duì)BP 網(wǎng)絡(luò)進(jìn)行了深入研究并提出了許多改進(jìn)的模型[6?9],這些改進(jìn)模型的收斂速度比標(biāo)準(zhǔn)梯度法快數(shù)十倍,但它們?nèi)远疾皇瞧毡檫m用的,都有著各自的優(yōu)勢(shì)或缺陷。本文結(jié)合BP網(wǎng)絡(luò)的訓(xùn)練過(guò)程,提出一種改進(jìn)的BP網(wǎng)絡(luò)訓(xùn)練方法,將Gauss變異與改進(jìn)的BP算法相結(jié)合,對(duì)學(xué)習(xí)率參數(shù)和沖量系數(shù)進(jìn)行動(dòng)態(tài)調(diào)整,使得權(quán)值能很好的調(diào)整。避免了傳統(tǒng)的BP 算法容易陷入局部極小的問(wèn)題,同時(shí)可以提高BP 算法的訓(xùn)練速度,降低收斂時(shí)間。

      1 BP神經(jīng)網(wǎng)絡(luò)

      BP 神經(jīng)網(wǎng)絡(luò)是一種單向傳播的多層前饋網(wǎng)絡(luò)[1],它包含輸入層、中間層(隱層)和輸出層,是目前應(yīng)用較多的一種模型。該算法在層次型網(wǎng)絡(luò)結(jié)構(gòu)上采用誤差逆?zhèn)鞑W(xué)習(xí)方式,學(xué)習(xí)過(guò)程由正向傳播和誤差逆?zhèn)鞑ソM成。算法的主要思想是把學(xué)習(xí)過(guò)程分為兩個(gè)階段:第一階段是正向傳播過(guò)程,輸入信息從輸入層經(jīng)中間層逐層計(jì)算各神經(jīng)元的實(shí)際輸出值,每一層神經(jīng)元的狀態(tài)只對(duì)下一層神經(jīng)元的狀態(tài)產(chǎn)生影響;第二階段是反向傳播過(guò)程,若在輸出層未能得到期望的輸出值,則逐層遞歸計(jì)算實(shí)際輸出與期望輸出之間的差值,根據(jù)此誤差修正前一層權(quán)值使誤差信號(hào)趨向最小。它通過(guò)連續(xù)不斷地在相對(duì)于誤差函數(shù)斜率下降的方向上計(jì)算網(wǎng)絡(luò)權(quán)值和偏差變化而逐漸逼近目標(biāo)。每一次權(quán)值和誤差的變化都與網(wǎng)絡(luò)誤差的影響成正比。

      假設(shè)神經(jīng)網(wǎng)絡(luò)輸出層有m個(gè)神經(jīng)元,若輸出層第j個(gè)神經(jīng)元與中間層第i個(gè)神經(jīng)元之間權(quán)值為[wij],中間層第i個(gè)神經(jīng)元的輸出為[Oi],閾值為[bj],則輸出層第j個(gè)神經(jīng)元的輸入總和為其上層各單元加權(quán)和:

      輸出實(shí)際值為:

      若輸出期望值為[yj],則網(wǎng)絡(luò)關(guān)于第p個(gè)樣本的誤差函數(shù)定義為:

      而將網(wǎng)絡(luò)關(guān)于整個(gè)樣本集的全局誤差函數(shù)定義為:

      BP算法采用梯度下降法調(diào)整權(quán)值,每次調(diào)整的量為:

      式中:[δj=f(netj)(yj-Oj)];[α]為學(xué)習(xí)率,它決定每一次訓(xùn)練中的權(quán)值變化大小。

      BP算法主要的優(yōu)點(diǎn)是簡(jiǎn)單、易于實(shí)現(xiàn)。但是BP 算法有兩個(gè)致命的缺陷:首先最大的缺陷是BP算法很可能陷入局部極小值,因?yàn)橥ǔ5恼`差曲面都是凸凹不平的,會(huì)有多個(gè)極值點(diǎn);另一個(gè)缺陷是收斂速度慢,當(dāng)采用梯度下降法時(shí)步長(zhǎng)不容易確定,步長(zhǎng)太長(zhǎng)則達(dá)不到精度,甚至?xí)l(fā)散;太小則迭代步驟增加,收斂速度慢。鑒于此,目前對(duì)BP算法的改進(jìn)主要集中在兩個(gè)方面:其一是避免陷入局部極小值,一旦陷入要想辦法逃出;其二是改進(jìn)迭代算法,加快收斂速度。

      2 Gauss變異與改進(jìn)的BP算法相結(jié)合

      BP算法的不足在一定程度上都與每次權(quán)值修改程度大小有關(guān)。如果每次訓(xùn)練,權(quán)值都能向全局極小值方法進(jìn)行修改,那么上述問(wèn)題都能得到解決??捎眠z傳算法對(duì)BP算法中的學(xué)習(xí)率進(jìn)行動(dòng)態(tài)調(diào)整。初始時(shí)將學(xué)習(xí)率設(shè)大一些,加快算法的收斂。后期將學(xué)習(xí)率設(shè)小一些,以便可以找到全局極小值點(diǎn)。為了使算法的整體性能更高,采用將改進(jìn)的BP算法和遺傳算法相結(jié)合。

      2.1 改進(jìn)的BP算法

      BP網(wǎng)絡(luò)的訓(xùn)練過(guò)程是根據(jù)樣本集對(duì)神經(jīng)元之間的連接權(quán)進(jìn)行調(diào)整的過(guò)程。其次,BP網(wǎng)絡(luò)執(zhí)行的是有導(dǎo)師訓(xùn)練。所以,其樣本集是由形如:

      (輸入向量,理想輸出向量)

      的向量對(duì)構(gòu)成的。BP網(wǎng)絡(luò)接收樣本的順序會(huì)對(duì)訓(xùn)練的結(jié)果有很大的影響。它更“偏愛(ài)”較后出現(xiàn)的樣本。如果每次循環(huán)都按照[(X1,Y1)],[(X2,Y2)],…,[(XS,YS)]所給定的順序進(jìn)行訓(xùn)練,在網(wǎng)絡(luò)“學(xué)成”投入運(yùn)行后,對(duì)于與該樣本序列較后的樣本較接近的輸入,網(wǎng)絡(luò)所給出的輸出的精度將明顯高于與樣本序列較前的樣本較接近的輸入對(duì)應(yīng)的輸出精度。所以算法應(yīng)該避免“分別”、“依次”的出現(xiàn)。因此,不再“分別”、“依次”根據(jù)[(X1,Y1)],[(X2,Y2)],…,[(XS,YS)]對(duì)權(quán)值向量[W(1)],[W(2)],…,[W(M)]進(jìn)行調(diào)整,而是用[(X1,Y1)],[(X2,Y2)],…,[(XS,YS)]的“總效果”去實(shí)施對(duì)[W(1)],[W(2)],…,[W(M)]的修改。獲取樣本集“總效果”的最簡(jiǎn)單的辦法是?。?/p>

      式中:∑表示對(duì)整個(gè)樣本集的求和;[Δpw(k)ij]代表神經(jīng)元i到神經(jīng)元j的連接權(quán)[w(k)ij]關(guān)于樣本[(Xp,Yp)]的調(diào)整量。

      權(quán)值的本次修改要考慮上次修改的影響,以減少抖動(dòng)問(wèn)題。引入沖量系數(shù)[β],以將上次權(quán)值的調(diào)整量,進(jìn)入當(dāng)前權(quán)值的修改過(guò)程,平滑學(xué)習(xí)路徑??紤]上次修改的影響,本次權(quán)值的修改公式為[1]:

      式中:[Δwij′]為上一次的修改量;[Oi]表示第i個(gè)神經(jīng)元的輸出;[β]為沖量系數(shù),通常取0~1之間的小數(shù)。因?yàn)閇β]值較大時(shí),雖能加快訓(xùn)練速度,但影響精度及收斂性,太小又起不到影響本次權(quán)值修改的作用。因此,[β]的取值視具體問(wèn)題由試驗(yàn)確定。

      上述算法較好地解決了因樣本的順序引起的精度問(wèn)題和訓(xùn)練的抖動(dòng)問(wèn)題。但是,該算法的收斂速度還是比較慢的。為了解決收斂速度問(wèn)題,可以給每一個(gè)神經(jīng)元增加一個(gè)偏移量來(lái)加快收斂速度。

      2.2 Gauss變異調(diào)整學(xué)習(xí)率參數(shù)和沖量系數(shù)的基本思想

      BP算法中,如果學(xué)習(xí)率步長(zhǎng)、沖量系數(shù)不變,那么到后期可能由于步長(zhǎng)太大從而不能繼續(xù)進(jìn)行優(yōu)化。所以步長(zhǎng)應(yīng)該進(jìn)行動(dòng)態(tài)調(diào)整。當(dāng)權(quán)值進(jìn)行調(diào)整時(shí),可用Gauss變異生成兩個(gè)小的隨機(jī)數(shù),并將這兩個(gè)小的隨機(jī)數(shù)作為學(xué)習(xí)率參數(shù)和沖量系數(shù)。

      2.3 整體算法流程

      為了避免讓算法陷入局部極小值點(diǎn),將遺傳算法中群體的概念應(yīng)用進(jìn)來(lái)。生成N個(gè)個(gè)體,每個(gè)個(gè)體執(zhí)行算法,算法運(yùn)行完成后,選取最好個(gè)體中的誤差作為最小誤差。

      每個(gè)個(gè)體執(zhí)行的算法如下:

      3 實(shí)驗(yàn)及實(shí)驗(yàn)結(jié)果分析

      為了說(shuō)明Gauss變異的有效性,將本文中的改進(jìn)算法與不加入Gauss變異和群體概念的改進(jìn)BP算法在收斂速度方面進(jìn)行比較。采用Balance?scale數(shù)據(jù)集進(jìn)行了算法驗(yàn)證,該數(shù)據(jù)集的訓(xùn)練樣本特征為4個(gè),目標(biāo)輸出類(lèi)型有3種,本文采取200個(gè)4維樣本向量構(gòu)造標(biāo)準(zhǔn)樣本空間,輸出為2維向量進(jìn)行訓(xùn)練,其收斂曲線對(duì)比如圖1所示。

      圖1 訓(xùn)練收斂曲線對(duì)比圖

      圖1顯示的是迭代1 000次,算法的收斂速度。為了有可比性,初始權(quán)值設(shè)為固定值。從圖1中可以看出,加入Gauss變異后收斂速度大大提高。運(yùn)行了幾個(gè)例子,都能得到這一結(jié)論。但對(duì)于不同的例子,產(chǎn)生的Gauss隨機(jī)數(shù)不能直接賦給學(xué)習(xí)率參數(shù)和沖量系數(shù),還要根據(jù)不同的實(shí)際,對(duì)隨機(jī)數(shù)乘上不同的權(quán)值。這個(gè)權(quán)值是個(gè)經(jīng)驗(yàn)值,需要進(jìn)行若干次實(shí)驗(yàn)來(lái)確定一個(gè)比較優(yōu)的值。

      另外,用此算法對(duì)一個(gè)數(shù)據(jù)集進(jìn)行分類(lèi),采用breast?cancer?wiscon數(shù)據(jù)集,訓(xùn)練樣本和測(cè)試樣本根據(jù)Cross?validation[10]進(jìn)行劃分。每個(gè)分區(qū)輪流作為測(cè)試樣本進(jìn)行測(cè)試。由于breast?cancer?wiscon數(shù)據(jù)集比較簡(jiǎn)單,分類(lèi)屬性只有兩個(gè)值,所以只將分類(lèi)屬性的值變換成0或1。BP網(wǎng)絡(luò)的輸出如果在[0,0.5]之間,則將屬性的值定為0;否則為1。算法參數(shù)設(shè)置如表1所示。

      表1 算法參數(shù)設(shè)置

      實(shí)驗(yàn)結(jié)果如表2所示。

      表2 實(shí)驗(yàn)結(jié)果

      從以上實(shí)驗(yàn)結(jié)果可以得知,用Gauss變異動(dòng)態(tài)調(diào)整學(xué)習(xí)率參數(shù)和沖量系數(shù),可以加快算法的收斂速度,并且可以得到比較好的分類(lèi)結(jié)果。但是,Gauss函數(shù)自變量和隨機(jī)數(shù)權(quán)值應(yīng)取多大需要進(jìn)行若干次實(shí)驗(yàn),才能確定一個(gè)比較好的值。

      4 結(jié) 語(yǔ)

      本文結(jié)合BP網(wǎng)絡(luò)的訓(xùn)練過(guò)程,提出一種改進(jìn)的BP網(wǎng)絡(luò)訓(xùn)練方法,將Gauss變異與改進(jìn)的BP算法相結(jié)合,對(duì)學(xué)習(xí)率參數(shù)和沖量系數(shù)進(jìn)行動(dòng)態(tài)調(diào)整,使權(quán)值得到很好的調(diào)整。實(shí)驗(yàn)結(jié)果表明,此方法避免了傳統(tǒng)的BP 算法容易陷入局部極小的問(wèn)題,在訓(xùn)練時(shí)間和收斂速度方面均表現(xiàn)出更優(yōu)的性能,具有比較好的實(shí)用性。

      參考文獻(xiàn)

      [1] 蔣宗禮.人工神經(jīng)網(wǎng)絡(luò)導(dǎo)論[M].北京:高等教育出版社,2001.

      [2] 張毅,楊建國(guó).基于灰色神經(jīng)網(wǎng)絡(luò)的機(jī)床熱誤差建模[J].上海交通大學(xué)學(xué)報(bào),2011,45(11):1581?1585.

      [3] 黃偉,何眸,夏暉.基于小波神經(jīng)網(wǎng)絡(luò)的IP網(wǎng)絡(luò)流量預(yù)測(cè)[J].計(jì)算機(jī)科學(xué),2011,38(10):296?298.

      [4] 田景文,高美娟.人工神經(jīng)網(wǎng)絡(luò)算法研究與應(yīng)用[M].北京:北京理工大學(xué)出版社,2006.

      [5] KUMAR S. Neural networks [M].北京:清華大學(xué)出版社,2006.

      [6] YU X H, CHEN G A, CHENG S X. Dynamic learning rate optimization of the back propagation algorithm [J]. IEEE Transactions on Neural Networks, 1995: 6(3): 669?677.

      [7] ROYCHOWDHURY P, SINGH Y P, CHANSARKAR R A. Dynamic tunneling technique for efficient training of multilayer perceptions [J]. IEEE Transactions on Neural Networks, 1999: 10(1): 48?55.

      [8] 陳玉芳,雷霖.提高BP網(wǎng)絡(luò)收斂速率的又一種算法[J].計(jì)算機(jī)仿真,2004,21(11):74?79.

      [9] 閻平凡,張長(zhǎng)水.人工神經(jīng)網(wǎng)絡(luò)與模擬進(jìn)化計(jì)算[M].北京:清華大學(xué)出版社,2001.

      [10] WITTEN I H, FRANK E.數(shù)據(jù)挖掘?qū)嵱脵C(jī)器學(xué)習(xí)技術(shù)[M].北京:機(jī)械工業(yè)出版社,2006.

      式中:[Δwij′]為上一次的修改量;[Oi]表示第i個(gè)神經(jīng)元的輸出;[β]為沖量系數(shù),通常取0~1之間的小數(shù)。因?yàn)閇β]值較大時(shí),雖能加快訓(xùn)練速度,但影響精度及收斂性,太小又起不到影響本次權(quán)值修改的作用。因此,[β]的取值視具體問(wèn)題由試驗(yàn)確定。

      上述算法較好地解決了因樣本的順序引起的精度問(wèn)題和訓(xùn)練的抖動(dòng)問(wèn)題。但是,該算法的收斂速度還是比較慢的。為了解決收斂速度問(wèn)題,可以給每一個(gè)神經(jīng)元增加一個(gè)偏移量來(lái)加快收斂速度。

      2.2 Gauss變異調(diào)整學(xué)習(xí)率參數(shù)和沖量系數(shù)的基本思想

      BP算法中,如果學(xué)習(xí)率步長(zhǎng)、沖量系數(shù)不變,那么到后期可能由于步長(zhǎng)太大從而不能繼續(xù)進(jìn)行優(yōu)化。所以步長(zhǎng)應(yīng)該進(jìn)行動(dòng)態(tài)調(diào)整。當(dāng)權(quán)值進(jìn)行調(diào)整時(shí),可用Gauss變異生成兩個(gè)小的隨機(jī)數(shù),并將這兩個(gè)小的隨機(jī)數(shù)作為學(xué)習(xí)率參數(shù)和沖量系數(shù)。

      2.3 整體算法流程

      為了避免讓算法陷入局部極小值點(diǎn),將遺傳算法中群體的概念應(yīng)用進(jìn)來(lái)。生成N個(gè)個(gè)體,每個(gè)個(gè)體執(zhí)行算法,算法運(yùn)行完成后,選取最好個(gè)體中的誤差作為最小誤差。

      每個(gè)個(gè)體執(zhí)行的算法如下:

      3 實(shí)驗(yàn)及實(shí)驗(yàn)結(jié)果分析

      為了說(shuō)明Gauss變異的有效性,將本文中的改進(jìn)算法與不加入Gauss變異和群體概念的改進(jìn)BP算法在收斂速度方面進(jìn)行比較。采用Balance?scale數(shù)據(jù)集進(jìn)行了算法驗(yàn)證,該數(shù)據(jù)集的訓(xùn)練樣本特征為4個(gè),目標(biāo)輸出類(lèi)型有3種,本文采取200個(gè)4維樣本向量構(gòu)造標(biāo)準(zhǔn)樣本空間,輸出為2維向量進(jìn)行訓(xùn)練,其收斂曲線對(duì)比如圖1所示。

      圖1 訓(xùn)練收斂曲線對(duì)比圖

      圖1顯示的是迭代1 000次,算法的收斂速度。為了有可比性,初始權(quán)值設(shè)為固定值。從圖1中可以看出,加入Gauss變異后收斂速度大大提高。運(yùn)行了幾個(gè)例子,都能得到這一結(jié)論。但對(duì)于不同的例子,產(chǎn)生的Gauss隨機(jī)數(shù)不能直接賦給學(xué)習(xí)率參數(shù)和沖量系數(shù),還要根據(jù)不同的實(shí)際,對(duì)隨機(jī)數(shù)乘上不同的權(quán)值。這個(gè)權(quán)值是個(gè)經(jīng)驗(yàn)值,需要進(jìn)行若干次實(shí)驗(yàn)來(lái)確定一個(gè)比較優(yōu)的值。

      另外,用此算法對(duì)一個(gè)數(shù)據(jù)集進(jìn)行分類(lèi),采用breast?cancer?wiscon數(shù)據(jù)集,訓(xùn)練樣本和測(cè)試樣本根據(jù)Cross?validation[10]進(jìn)行劃分。每個(gè)分區(qū)輪流作為測(cè)試樣本進(jìn)行測(cè)試。由于breast?cancer?wiscon數(shù)據(jù)集比較簡(jiǎn)單,分類(lèi)屬性只有兩個(gè)值,所以只將分類(lèi)屬性的值變換成0或1。BP網(wǎng)絡(luò)的輸出如果在[0,0.5]之間,則將屬性的值定為0;否則為1。算法參數(shù)設(shè)置如表1所示。

      表1 算法參數(shù)設(shè)置

      實(shí)驗(yàn)結(jié)果如表2所示。

      表2 實(shí)驗(yàn)結(jié)果

      從以上實(shí)驗(yàn)結(jié)果可以得知,用Gauss變異動(dòng)態(tài)調(diào)整學(xué)習(xí)率參數(shù)和沖量系數(shù),可以加快算法的收斂速度,并且可以得到比較好的分類(lèi)結(jié)果。但是,Gauss函數(shù)自變量和隨機(jī)數(shù)權(quán)值應(yīng)取多大需要進(jìn)行若干次實(shí)驗(yàn),才能確定一個(gè)比較好的值。

      4 結(jié) 語(yǔ)

      本文結(jié)合BP網(wǎng)絡(luò)的訓(xùn)練過(guò)程,提出一種改進(jìn)的BP網(wǎng)絡(luò)訓(xùn)練方法,將Gauss變異與改進(jìn)的BP算法相結(jié)合,對(duì)學(xué)習(xí)率參數(shù)和沖量系數(shù)進(jìn)行動(dòng)態(tài)調(diào)整,使權(quán)值得到很好的調(diào)整。實(shí)驗(yàn)結(jié)果表明,此方法避免了傳統(tǒng)的BP 算法容易陷入局部極小的問(wèn)題,在訓(xùn)練時(shí)間和收斂速度方面均表現(xiàn)出更優(yōu)的性能,具有比較好的實(shí)用性。

      參考文獻(xiàn)

      [1] 蔣宗禮.人工神經(jīng)網(wǎng)絡(luò)導(dǎo)論[M].北京:高等教育出版社,2001.

      [2] 張毅,楊建國(guó).基于灰色神經(jīng)網(wǎng)絡(luò)的機(jī)床熱誤差建模[J].上海交通大學(xué)學(xué)報(bào),2011,45(11):1581?1585.

      [3] 黃偉,何眸,夏暉.基于小波神經(jīng)網(wǎng)絡(luò)的IP網(wǎng)絡(luò)流量預(yù)測(cè)[J].計(jì)算機(jī)科學(xué),2011,38(10):296?298.

      [4] 田景文,高美娟.人工神經(jīng)網(wǎng)絡(luò)算法研究與應(yīng)用[M].北京:北京理工大學(xué)出版社,2006.

      [5] KUMAR S. Neural networks [M].北京:清華大學(xué)出版社,2006.

      [6] YU X H, CHEN G A, CHENG S X. Dynamic learning rate optimization of the back propagation algorithm [J]. IEEE Transactions on Neural Networks, 1995: 6(3): 669?677.

      [7] ROYCHOWDHURY P, SINGH Y P, CHANSARKAR R A. Dynamic tunneling technique for efficient training of multilayer perceptions [J]. IEEE Transactions on Neural Networks, 1999: 10(1): 48?55.

      [8] 陳玉芳,雷霖.提高BP網(wǎng)絡(luò)收斂速率的又一種算法[J].計(jì)算機(jī)仿真,2004,21(11):74?79.

      [9] 閻平凡,張長(zhǎng)水.人工神經(jīng)網(wǎng)絡(luò)與模擬進(jìn)化計(jì)算[M].北京:清華大學(xué)出版社,2001.

      [10] WITTEN I H, FRANK E.數(shù)據(jù)挖掘?qū)嵱脵C(jī)器學(xué)習(xí)技術(shù)[M].北京:機(jī)械工業(yè)出版社,2006.

      式中:[Δwij′]為上一次的修改量;[Oi]表示第i個(gè)神經(jīng)元的輸出;[β]為沖量系數(shù),通常取0~1之間的小數(shù)。因?yàn)閇β]值較大時(shí),雖能加快訓(xùn)練速度,但影響精度及收斂性,太小又起不到影響本次權(quán)值修改的作用。因此,[β]的取值視具體問(wèn)題由試驗(yàn)確定。

      上述算法較好地解決了因樣本的順序引起的精度問(wèn)題和訓(xùn)練的抖動(dòng)問(wèn)題。但是,該算法的收斂速度還是比較慢的。為了解決收斂速度問(wèn)題,可以給每一個(gè)神經(jīng)元增加一個(gè)偏移量來(lái)加快收斂速度。

      2.2 Gauss變異調(diào)整學(xué)習(xí)率參數(shù)和沖量系數(shù)的基本思想

      BP算法中,如果學(xué)習(xí)率步長(zhǎng)、沖量系數(shù)不變,那么到后期可能由于步長(zhǎng)太大從而不能繼續(xù)進(jìn)行優(yōu)化。所以步長(zhǎng)應(yīng)該進(jìn)行動(dòng)態(tài)調(diào)整。當(dāng)權(quán)值進(jìn)行調(diào)整時(shí),可用Gauss變異生成兩個(gè)小的隨機(jī)數(shù),并將這兩個(gè)小的隨機(jī)數(shù)作為學(xué)習(xí)率參數(shù)和沖量系數(shù)。

      2.3 整體算法流程

      為了避免讓算法陷入局部極小值點(diǎn),將遺傳算法中群體的概念應(yīng)用進(jìn)來(lái)。生成N個(gè)個(gè)體,每個(gè)個(gè)體執(zhí)行算法,算法運(yùn)行完成后,選取最好個(gè)體中的誤差作為最小誤差。

      每個(gè)個(gè)體執(zhí)行的算法如下:

      3 實(shí)驗(yàn)及實(shí)驗(yàn)結(jié)果分析

      為了說(shuō)明Gauss變異的有效性,將本文中的改進(jìn)算法與不加入Gauss變異和群體概念的改進(jìn)BP算法在收斂速度方面進(jìn)行比較。采用Balance?scale數(shù)據(jù)集進(jìn)行了算法驗(yàn)證,該數(shù)據(jù)集的訓(xùn)練樣本特征為4個(gè),目標(biāo)輸出類(lèi)型有3種,本文采取200個(gè)4維樣本向量構(gòu)造標(biāo)準(zhǔn)樣本空間,輸出為2維向量進(jìn)行訓(xùn)練,其收斂曲線對(duì)比如圖1所示。

      圖1 訓(xùn)練收斂曲線對(duì)比圖

      圖1顯示的是迭代1 000次,算法的收斂速度。為了有可比性,初始權(quán)值設(shè)為固定值。從圖1中可以看出,加入Gauss變異后收斂速度大大提高。運(yùn)行了幾個(gè)例子,都能得到這一結(jié)論。但對(duì)于不同的例子,產(chǎn)生的Gauss隨機(jī)數(shù)不能直接賦給學(xué)習(xí)率參數(shù)和沖量系數(shù),還要根據(jù)不同的實(shí)際,對(duì)隨機(jī)數(shù)乘上不同的權(quán)值。這個(gè)權(quán)值是個(gè)經(jīng)驗(yàn)值,需要進(jìn)行若干次實(shí)驗(yàn)來(lái)確定一個(gè)比較優(yōu)的值。

      另外,用此算法對(duì)一個(gè)數(shù)據(jù)集進(jìn)行分類(lèi),采用breast?cancer?wiscon數(shù)據(jù)集,訓(xùn)練樣本和測(cè)試樣本根據(jù)Cross?validation[10]進(jìn)行劃分。每個(gè)分區(qū)輪流作為測(cè)試樣本進(jìn)行測(cè)試。由于breast?cancer?wiscon數(shù)據(jù)集比較簡(jiǎn)單,分類(lèi)屬性只有兩個(gè)值,所以只將分類(lèi)屬性的值變換成0或1。BP網(wǎng)絡(luò)的輸出如果在[0,0.5]之間,則將屬性的值定為0;否則為1。算法參數(shù)設(shè)置如表1所示。

      表1 算法參數(shù)設(shè)置

      實(shí)驗(yàn)結(jié)果如表2所示。

      表2 實(shí)驗(yàn)結(jié)果

      從以上實(shí)驗(yàn)結(jié)果可以得知,用Gauss變異動(dòng)態(tài)調(diào)整學(xué)習(xí)率參數(shù)和沖量系數(shù),可以加快算法的收斂速度,并且可以得到比較好的分類(lèi)結(jié)果。但是,Gauss函數(shù)自變量和隨機(jī)數(shù)權(quán)值應(yīng)取多大需要進(jìn)行若干次實(shí)驗(yàn),才能確定一個(gè)比較好的值。

      4 結(jié) 語(yǔ)

      本文結(jié)合BP網(wǎng)絡(luò)的訓(xùn)練過(guò)程,提出一種改進(jìn)的BP網(wǎng)絡(luò)訓(xùn)練方法,將Gauss變異與改進(jìn)的BP算法相結(jié)合,對(duì)學(xué)習(xí)率參數(shù)和沖量系數(shù)進(jìn)行動(dòng)態(tài)調(diào)整,使權(quán)值得到很好的調(diào)整。實(shí)驗(yàn)結(jié)果表明,此方法避免了傳統(tǒng)的BP 算法容易陷入局部極小的問(wèn)題,在訓(xùn)練時(shí)間和收斂速度方面均表現(xiàn)出更優(yōu)的性能,具有比較好的實(shí)用性。

      參考文獻(xiàn)

      [1] 蔣宗禮.人工神經(jīng)網(wǎng)絡(luò)導(dǎo)論[M].北京:高等教育出版社,2001.

      [2] 張毅,楊建國(guó).基于灰色神經(jīng)網(wǎng)絡(luò)的機(jī)床熱誤差建模[J].上海交通大學(xué)學(xué)報(bào),2011,45(11):1581?1585.

      [3] 黃偉,何眸,夏暉.基于小波神經(jīng)網(wǎng)絡(luò)的IP網(wǎng)絡(luò)流量預(yù)測(cè)[J].計(jì)算機(jī)科學(xué),2011,38(10):296?298.

      [4] 田景文,高美娟.人工神經(jīng)網(wǎng)絡(luò)算法研究與應(yīng)用[M].北京:北京理工大學(xué)出版社,2006.

      [5] KUMAR S. Neural networks [M].北京:清華大學(xué)出版社,2006.

      [6] YU X H, CHEN G A, CHENG S X. Dynamic learning rate optimization of the back propagation algorithm [J]. IEEE Transactions on Neural Networks, 1995: 6(3): 669?677.

      [7] ROYCHOWDHURY P, SINGH Y P, CHANSARKAR R A. Dynamic tunneling technique for efficient training of multilayer perceptions [J]. IEEE Transactions on Neural Networks, 1999: 10(1): 48?55.

      [8] 陳玉芳,雷霖.提高BP網(wǎng)絡(luò)收斂速率的又一種算法[J].計(jì)算機(jī)仿真,2004,21(11):74?79.

      [9] 閻平凡,張長(zhǎng)水.人工神經(jīng)網(wǎng)絡(luò)與模擬進(jìn)化計(jì)算[M].北京:清華大學(xué)出版社,2001.

      [10] WITTEN I H, FRANK E.數(shù)據(jù)挖掘?qū)嵱脵C(jī)器學(xué)習(xí)技術(shù)[M].北京:機(jī)械工業(yè)出版社,2006.

      猜你喜歡
      動(dòng)態(tài)調(diào)整BP神經(jīng)網(wǎng)絡(luò)
      分段堆場(chǎng)的動(dòng)態(tài)調(diào)度方法
      我國(guó)上市公司資本結(jié)構(gòu)動(dòng)態(tài)調(diào)整的初步研究
      商情(2016年49期)2017-03-01 18:55:35
      就bp神經(jīng)網(wǎng)絡(luò)銀行選址模型的相關(guān)研究
      基于DEA—GA—BP的建設(shè)工程評(píng)標(biāo)方法研究
      基于BP神經(jīng)網(wǎng)絡(luò)的旅行社發(fā)展方向研究
      商情(2016年39期)2016-11-21 09:30:36
      復(fù)雜背景下的手勢(shì)識(shí)別方法
      BP神經(jīng)網(wǎng)絡(luò)在軟件質(zhì)量評(píng)價(jià)中的應(yīng)用研究 
      建立和完善我國(guó)貧困縣退出機(jī)制問(wèn)題研究
      通貨膨脹率周期波動(dòng)與非線性動(dòng)態(tài)調(diào)整的研究
      BP神經(jīng)網(wǎng)絡(luò)算法在數(shù)值預(yù)報(bào)產(chǎn)品釋用中的應(yīng)用
      科技視界(2016年20期)2016-09-29 14:15:12
      绥芬河市| 凤山县| 三亚市| 历史| 桂东县| 肃宁县| 平湖市| 保亭| 遵义县| 桑日县| 宣化县| 肥西县| 原平市| 怀集县| 杭锦旗| 宁化县| 石楼县| 监利县| 自贡市| 云阳县| 靖边县| 云龙县| 改则县| 鄂托克旗| 金湖县| 迁安市| 定远县| 华阴市| 五指山市| 临高县| 崇义县| 定陶县| 利津县| 基隆市| 台北市| 民县| 依安县| 双流县| 子洲县| 郎溪县| 万载县|