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

?

BP神經(jīng)網(wǎng)絡(luò)算法及其改進(jìn)研究

2014-11-04 15:26:22龐明月
電腦知識(shí)與技術(shù) 2014年28期
關(guān)鍵詞:人工神經(jīng)網(wǎng)絡(luò)

龐明月

摘要:BP算法是非循環(huán)多級(jí)網(wǎng)絡(luò)的訓(xùn)練算法,對(duì)人工神經(jīng)網(wǎng)絡(luò)的發(fā)展起到了重大的推動(dòng)作用,該文介紹了BP算法的基本原理及其缺陷,并提出了改進(jìn)BP算法的方法。

關(guān)鍵詞:BP算法;人工神經(jīng)網(wǎng)絡(luò);改進(jìn)的BP算法

中圖分類(lèi)號(hào):TP18 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)28-6643-02

1 概述

人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,ANN),是基于人類(lèi)大腦的生物活動(dòng)所提出的,是一個(gè)數(shù)學(xué)模型。它由眾多節(jié)點(diǎn)通過(guò)一定的方式互聯(lián)組成,是一個(gè)規(guī)模巨大、自適應(yīng)的系統(tǒng)。其中有一種學(xué)習(xí)算法是誤差傳遞學(xué)習(xí)算法即BP算法。BP算法是人工智能最常用到的學(xué)習(xí)方法,從一定意義上來(lái)講,BP算法的提出,終結(jié)了多層網(wǎng)絡(luò)在學(xué)習(xí)訓(xùn)練算法上的空白史,是在實(shí)際應(yīng)用中最有效的網(wǎng)絡(luò)訓(xùn)練方法,對(duì)ANN的應(yīng)用和發(fā)展起到了決定性的作用。

BP算法是使用從輸出層得到的誤差來(lái)估算前一層的誤差,再利用該誤差估算更前一層的誤差。依次進(jìn)行,就會(huì)獲得其他所有各層的估算誤差。這樣就實(shí)現(xiàn)了將從輸出層的得到誤差沿著與輸入信號(hào)傳送相反的方向逐級(jí)向網(wǎng)絡(luò)的輸入端傳遞的過(guò)程[1]。但是,BP算法也存在著不可忽視的缺陷?;诖耍撐目偨Y(jié)介紹了BP的改進(jìn)方法。

2 BP算法的基本思想

2.1 BP算法的基本原理

BP算法是有監(jiān)督指導(dǎo)的算法,它的學(xué)習(xí)訓(xùn)練過(guò)程一般分為兩步:首先是輸入樣本的正向傳遞;第二步誤差的反向傳遞;其中信號(hào)正向傳遞,基本思想是樣本值從輸入層輸入,經(jīng)輸入層傳入隱藏層,最后通過(guò)輸出層輸出,中間層對(duì)樣本數(shù)據(jù)進(jìn)行處理操作,利用各層的權(quán)值和激活函數(shù)對(duì)數(shù)據(jù)進(jìn)行操作然后在輸出層獲得輸出[2];接下來(lái)就是反向傳遞,算法得到的實(shí)際輸出值與期望目標(biāo)輸出之間必然會(huì)有誤差,根據(jù)誤差的大小來(lái)決定下一步的工作。如果誤差值較小滿(mǎn)足訓(xùn)練的精度要求,則認(rèn)為在輸出層得到的值滿(mǎn)足要求,停止訓(xùn)練;反之,則將該誤差傳遞給隱藏層進(jìn)行訓(xùn)練,按照梯度下降的方式,對(duì)權(quán)值和閾值進(jìn)行調(diào)整,接著進(jìn)行循環(huán),直到誤差值滿(mǎn)足精度要求停止訓(xùn)練[3]。

3 BP算法的缺陷

盡管BP算法有著顯著的優(yōu)點(diǎn),但是在實(shí)際應(yīng)用過(guò)程中,BP算法會(huì)出現(xiàn)很多問(wèn)題。尤其是下面的問(wèn)題,對(duì)BP神經(jīng)網(wǎng)絡(luò)更好的發(fā)展有很大影響。有的甚至?xí)?dǎo)致算法崩潰。

3.1 收斂速度的問(wèn)題

BP算法在進(jìn)行訓(xùn)練學(xué)習(xí)時(shí),收斂速度慢,特別是在網(wǎng)絡(luò)訓(xùn)練達(dá)到一定的精度時(shí),BP算法就會(huì)出現(xiàn)一個(gè)長(zhǎng)時(shí)間的誤差“平原”,算法的收斂速度會(huì)下降到極慢[4]。如果盲目的加快收斂速度,則會(huì)使算法產(chǎn)生震蕩現(xiàn)象。

3.2 局部極小點(diǎn)問(wèn)題

在一些初始權(quán)值的條件下,BP算法在訓(xùn)練過(guò)程中會(huì)陷入局部極值。這是由于BP網(wǎng)絡(luò)采用最速下降法,誤差曲面非常復(fù)雜且分布著許多局部極值點(diǎn),一旦陷入,BP算法就很難逃脫,進(jìn)而會(huì)使BP網(wǎng)絡(luò)的訓(xùn)練停止。算法可以在某處得到一個(gè)收斂值,但是并不能確定取到了誤差曲面的最小值。這樣就會(huì)使網(wǎng)絡(luò)難以達(dá)到事先規(guī)定的誤差精度[5]。

3.3 網(wǎng)絡(luò)癱瘓問(wèn)題

在算法的學(xué)習(xí)訓(xùn)練過(guò)程中,網(wǎng)絡(luò)的權(quán)值會(huì)變得很大,從而使得節(jié)點(diǎn)的輸入變大,這就會(huì)導(dǎo)致其激活函數(shù)的導(dǎo)函數(shù)在改點(diǎn)取得的值很小,接著會(huì)導(dǎo)致算法的訓(xùn)練速度變得極低,最終會(huì)導(dǎo)致BP網(wǎng)絡(luò)停止收斂,網(wǎng)絡(luò)癱瘓。

3.4 步長(zhǎng)問(wèn)題

BP的收斂是建立在無(wú)窮小權(quán)修改量的基礎(chǔ)上,而這就意味著網(wǎng)絡(luò)所需要的訓(xùn)練時(shí)間是無(wú)窮的,這顯然是不可取的。因此,要限定權(quán)值修改量的值。這主要是因?yàn)?,如果步長(zhǎng)太小,那么網(wǎng)絡(luò)的收斂速度就會(huì)下降,如果步長(zhǎng)太大,就會(huì)使BP神經(jīng)網(wǎng)絡(luò)產(chǎn)生癱瘓和振蕩。學(xué)者們經(jīng)過(guò)研究提出一個(gè)較好的方法,就是用自適應(yīng)的步長(zhǎng)代替原來(lái)的定值步長(zhǎng),以使權(quán)值修改量隨著B(niǎo)P網(wǎng)絡(luò)的訓(xùn)練而不斷變化[6]。

4 改進(jìn)BP算法的方法

BP算法應(yīng)用廣泛,但它又存在很多缺陷,針對(duì)BP算法的問(wèn)題,國(guó)內(nèi)外許多學(xué)者提出各種改進(jìn)方法,主要的改進(jìn)方法分為兩類(lèi):一是啟發(fā)式改進(jìn),如附加動(dòng)量法和自適應(yīng)學(xué)習(xí)率等;二是結(jié)合新理論的改進(jìn)。這些方法在不同程度上提高了網(wǎng)絡(luò)的收斂速度,避免了局部最小問(wèn)題。

4.1 啟發(fā)式改進(jìn)方法

啟發(fā)式改進(jìn)方法是建立在BP網(wǎng)絡(luò)梯度下降規(guī)則的基礎(chǔ)上,通過(guò)對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和學(xué)習(xí)率的改進(jìn),從而解決BP網(wǎng)絡(luò)在學(xué)習(xí)訓(xùn)練過(guò)程中遇到的問(wèn)題。它的核心思想是:使權(quán)重的調(diào)整量最大限度的適應(yīng)誤差下降的要求。該文主要介紹了附加動(dòng)量法。

傳統(tǒng)的BP算法實(shí)際上是運(yùn)用最速下降規(guī)則來(lái)搜索最優(yōu)點(diǎn)的算法,該規(guī)則是順著梯度的反方向進(jìn)行權(quán)值的修正,并不將前一階段積累的經(jīng)驗(yàn)考慮進(jìn)來(lái)。因此會(huì)在訓(xùn)練過(guò)程中發(fā)生震蕩,導(dǎo)致收斂速度緩慢。但是將動(dòng)量項(xiàng)引入到BP網(wǎng)絡(luò)中后,當(dāng)輸入樣本依照順序輸入時(shí),則可以將權(quán)值的修正公式看作為以t為變量的時(shí)間序列,那么權(quán)值的修改公式就改變?yōu)槿缦滤荆?/p>

[Δwn=-ηt=0nan-1?Et?Wt]

加入動(dòng)量項(xiàng)以后若本次[?Et?Wt]與前一次同號(hào)時(shí),則加權(quán)和增大,使[Δwn]增大;當(dāng)[?Et?Wt]與上一次符號(hào)相反時(shí),說(shuō)明算法存在一定的震蕩,此時(shí)指數(shù)加權(quán)和減小,使[Δwn]減小[7]。

4.2 BP網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化

在BP算法中,輸入和輸出節(jié)點(diǎn)的個(gè)數(shù)由實(shí)際問(wèn)題確定,網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化主要是針對(duì)隱藏層的節(jié)點(diǎn)數(shù)和層數(shù)。許多研究表明,一個(gè)隱藏層就可以解決各種分類(lèi)問(wèn)題。那么對(duì)于隱藏層節(jié)點(diǎn)的個(gè)數(shù)的確定,有的學(xué)者給出了公式[NH=NI+NO+L](其中[NH]表示隱藏層節(jié)點(diǎn)數(shù),[NI]表示輸入層節(jié)點(diǎn)數(shù),[NO]表示輸出層節(jié)點(diǎn)數(shù)),但是公式缺乏一定的理論支持,所以目前最好的方法是通過(guò)經(jīng)驗(yàn)和在學(xué)習(xí)訓(xùn)練過(guò)程中不斷的調(diào)整隱藏層節(jié)點(diǎn)數(shù),最后得到一個(gè)合適的網(wǎng)絡(luò)結(jié)構(gòu)。

4.3 基于新理論的算法改進(jìn)

隨著對(duì)BP網(wǎng)絡(luò)結(jié)構(gòu)知識(shí)的研究,能夠更加深刻的理解BP算法誤差傳遞的本質(zhì)。出現(xiàn)了許多基于新興理論的BP算法的改進(jìn),這種改進(jìn)方式是結(jié)合了其它領(lǐng)域比較成功的優(yōu)化算法和理論,比如將遺傳算法與BP算法相結(jié)合,將遺傳算法高效的全局尋優(yōu)能力引入進(jìn)來(lái),利用GA算法來(lái)優(yōu)化BP算法的權(quán)值和閾值,解決BP神經(jīng)網(wǎng)絡(luò)存在容易陷入局部極值和收斂速度慢的問(wèn)題,兩種算法的結(jié)合實(shí)現(xiàn)了各自?xún)?yōu)勢(shì)的互補(bǔ),取得了良好的效果[8];將粒子群優(yōu)化算法用于BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練,使算法更容易找到全局最優(yōu)解,具有更好的收斂性[9]。很多研究者還將BP算法與模糊數(shù)學(xué)理論、小波理論、混沌算法等相結(jié)合。這些改進(jìn)使得BP神經(jīng)網(wǎng)絡(luò)得到更進(jìn)一步的應(yīng)用。

5 小結(jié)

BP算法是目前在神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法中得到最廣泛應(yīng)用的。該文總結(jié)了BP算法的原理,針對(duì)BP算法中出現(xiàn)的問(wèn)題,雖然給出了BP算法的改進(jìn)方法,但還是有很多不足之處。隨著科學(xué)日新月異的發(fā)展,各種新的優(yōu)化算法不斷的提出,BP算法也會(huì)得到更廣泛的發(fā)展。

參考文獻(xiàn):

[1] 胡彩萍.基于BP神經(jīng)網(wǎng)絡(luò)的排序評(píng)價(jià)算法研究及應(yīng)用[D].南昌:江西師范大學(xué)碩士學(xué)位論文,2009.

[2] 劉翔.BP算法的改進(jìn)及其應(yīng)用[D].太原:太原理工大學(xué)碩士學(xué)位論文,2012.

[3] 張璐璐.基于遺傳神經(jīng)網(wǎng)絡(luò)的人民幣識(shí)別方法研究[D].長(zhǎng)春:吉林大學(xué)碩士學(xué)位論文,2009.

[4] 張波.DRP決策支持系統(tǒng)及小波網(wǎng)絡(luò)在其中的應(yīng)用[D].成都:四川大學(xué)碩士學(xué)位論文,2006.

[5]付海兵,曾黃麟.BP神經(jīng)網(wǎng)絡(luò)的算法及改進(jìn)[J].中國(guó)西部科技,2012,11(8):1671-6396.

[6] 周羽.紅外圖像人臉識(shí)別研究[D].大連:大連理工大學(xué)碩士學(xué)位論文,2007.

[7] 楊賽.BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)問(wèn)題的分析研究[D].贛州:江西理工大學(xué)碩士學(xué)位論文,2009.

[8] 楊珍.基于遺傳神經(jīng)網(wǎng)絡(luò)的鐵路危險(xiǎn)貨物運(yùn)輸風(fēng)險(xiǎn)評(píng)價(jià)分析與應(yīng)用研究[D].北京:北京交通大學(xué)碩士學(xué)位論文,2011.

[9] 李澄非,朱群雄.模糊粒子群神經(jīng)網(wǎng)絡(luò)算法及應(yīng)用[J].計(jì)算機(jī)與應(yīng)用化學(xué),2007,24(10):1359-1362.

猜你喜歡
人工神經(jīng)網(wǎng)絡(luò)
利用人工神經(jīng)網(wǎng)絡(luò)快速計(jì)算木星系磁坐標(biāo)
基于BP人工神經(jīng)網(wǎng)絡(luò)的iWrite英語(yǔ)寫(xiě)作教學(xué)與評(píng)閱系統(tǒng)的語(yǔ)用研究
人工神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)簡(jiǎn)單字母的識(shí)別
電子制作(2019年10期)2019-06-17 11:45:10
滑動(dòng)電接觸摩擦力的BP與RBF人工神經(jīng)網(wǎng)絡(luò)建模
基于人工神經(jīng)網(wǎng)絡(luò)的分布式視頻編碼邊信息生成方法
人工神經(jīng)網(wǎng)絡(luò)和安時(shí)法電池SOC估計(jì)
基于改進(jìn)人工神經(jīng)網(wǎng)絡(luò)的航天器電信號(hào)分類(lèi)方法
模糊人工神經(jīng)網(wǎng)絡(luò)在工程建設(shè)項(xiàng)目后評(píng)價(jià)中的運(yùn)用
基于聲發(fā)射和人工神經(jīng)網(wǎng)絡(luò)的混凝土損傷程度識(shí)別
探討人工神經(jīng)網(wǎng)絡(luò)在作物水分生產(chǎn)函數(shù)建模中的應(yīng)用
河南科技(2014年19期)2014-02-27 14:15:29
新绛县| 昌宁县| 宜春市| 萍乡市| 克什克腾旗| 宽甸| 大埔县| 呼和浩特市| 中方县| 武清区| 南陵县| 平南县| 融水| 沧州市| 馆陶县| 延寿县| 云和县| 海阳市| 乐陵市| 新余市| 张家港市| 扎赉特旗| 武安市| 紫阳县| 罗江县| 平湖市| 卓尼县| 莲花县| 江孜县| 湘潭县| 石景山区| 新野县| 蓝田县| 龙门县| 措勤县| 新巴尔虎右旗| 泾川县| 城市| 伊宁市| 武山县| 隆德县|