亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于自適應(yīng)花授粉算法的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化

        2018-02-07 01:47:20卞京紅賀興時(shí)范欽偉伊寶民
        關(guān)鍵詞:權(quán)值全局閾值

        卞京紅,賀興時(shí),范欽偉,伊寶民

        1.西安工程大學(xué) 理學(xué)院,西安 710048

        2.長(zhǎng)安大學(xué) 工程機(jī)械學(xué)院,西安 710064

        1 引言

        BP神經(jīng)網(wǎng)絡(luò)是由Rumelhart等人于1986年提出的一種誤差反向傳播網(wǎng)絡(luò),由于其具有較強(qiáng)的學(xué)習(xí)能力、靈活的非線性建模能力以及大規(guī)模的并行計(jì)算能力,從而受到了學(xué)者的廣泛關(guān)注,已經(jīng)被廣泛應(yīng)用于圖像處理[1]、經(jīng)濟(jì)預(yù)測(cè)[2]及網(wǎng)絡(luò)分類器[3]等領(lǐng)域。傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)是通過(guò)梯度下降法來(lái)調(diào)整網(wǎng)絡(luò)中的權(quán)值和閾值,因此初始權(quán)值和閾值的選取對(duì)網(wǎng)絡(luò)的學(xué)習(xí)結(jié)果起著至關(guān)重要的作用,特別對(duì)于高維冗余的樣本數(shù)據(jù),如果選取的初始值不好,則極易導(dǎo)致訓(xùn)練結(jié)果陷入局部最優(yōu),因而限制了網(wǎng)絡(luò)的泛化能力及學(xué)習(xí)能力。為了解決BP神經(jīng)網(wǎng)絡(luò)存在的問(wèn)題,很多學(xué)者利用智能算法(如遺傳算法[4]、粒子群算法[5-6]、蟻群算法[7]、生物地理學(xué)算法[8]等)來(lái)優(yōu)化神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,但是仍未解決其收斂速度慢、易陷入局部最優(yōu)等缺陷,因此本文提出利用全局尋優(yōu)能力較好的花授粉算法來(lái)優(yōu)化BP網(wǎng)絡(luò)的結(jié)構(gòu)。

        花授粉算法(Flower Pollination Algorithm,F(xiàn)PA)是由楊新社學(xué)者于2012年提出的一種新型啟發(fā)式算法[9],由于該算法具有結(jié)構(gòu)簡(jiǎn)單、參數(shù)較少、無(wú)需梯度信息、易于實(shí)現(xiàn)等優(yōu)點(diǎn),已被廣泛地應(yīng)用到解決約束優(yōu)化以及多目標(biāo)優(yōu)化[10]等問(wèn)題中。但是由于FPA算法存在后期收斂速度慢等缺陷,使其應(yīng)用受到限制,因此為了更好地利用FPA算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行優(yōu)化,本文首先對(duì)FPA算法中的轉(zhuǎn)換概率做自適應(yīng)調(diào)整,并在局部授粉過(guò)程中引入自適應(yīng)的變異因子,提出了一種自適應(yīng)的花授粉算法(SFPA)。

        利用啟發(fā)式算法優(yōu)化網(wǎng)絡(luò)權(quán)值和閾值的方式通常有兩種:第一,將通過(guò)啟發(fā)式算法得到的權(quán)值和閾值的組合直接作為BP網(wǎng)絡(luò)開(kāi)始訓(xùn)練的初始權(quán)值和閾值[11];第二,將啟發(fā)式算法與BP網(wǎng)絡(luò)融合成一個(gè)新的網(wǎng)絡(luò),在每次訓(xùn)練中,先運(yùn)行一次算法得到權(quán)值和閾值的組合,把得到的組合作為BP算法訓(xùn)練的初始值,然后運(yùn)行一次BP算法,從而完成一次訓(xùn)練[12]。文中利用這兩種方式將SFPA算法與BP神經(jīng)網(wǎng)絡(luò)進(jìn)行結(jié)合,從而提出了基于自適應(yīng)花授粉算法的BP神經(jīng)網(wǎng)絡(luò),且利用第一種方法得到SFPA1-BP網(wǎng)絡(luò),利用第二種方式得到SFPA2-BP網(wǎng)絡(luò)。

        2 BP神經(jīng)網(wǎng)絡(luò)和花授粉算法

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

        Cybenko[13]等人已經(jīng)從理論上證明,單隱含層的BP神經(jīng)網(wǎng)絡(luò)能夠以任意精度逼近任何非線性函數(shù),因此本文只對(duì)單隱層的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行研究。

        假設(shè)BP神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)數(shù)為n,隱層節(jié)點(diǎn)數(shù)為m,輸出層節(jié)點(diǎn)數(shù)為s,即BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為:n-m-s,選擇可微非線性Sigmoid函數(shù)作為BP神經(jīng)網(wǎng)絡(luò)的激活函數(shù),即激活函數(shù)為:f(x)=1(1+e-x)。在BP網(wǎng)絡(luò)訓(xùn)練開(kāi)始之前,首先隨機(jī)初始化網(wǎng)絡(luò)的權(quán)值和閾值,然后利用訓(xùn)練樣本,通過(guò)網(wǎng)絡(luò)輸出值與理論值之間誤差的反向傳播來(lái)調(diào)節(jié)權(quán)值和閾值,以使網(wǎng)絡(luò)的輸出值與理論值之間的誤差梯度下降,當(dāng)誤差達(dá)到要求時(shí),BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值即得到確定,此即BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程,其具體訓(xùn)練過(guò)程如文獻(xiàn)[1]中所述。

        2.2 花授粉算法

        在FPA算法中,為了更好地模擬全局授粉過(guò)程和局部授粉過(guò)程,做以下假設(shè)[9]:

        (1)非生物的自花授粉可以看做是局部授粉過(guò)程。

        (2)交叉授粉是攜帶花粉配子的傳播者,通過(guò)Lévy飛行進(jìn)行全局授粉。

        (3)花的常性即繁衍概率,繁衍概率與所參與的兩朵花的相似性成比例關(guān)系。

        (4)轉(zhuǎn)換概率p∈[0,1]控制著全局授粉和局部授粉之間的轉(zhuǎn)換。

        在FPA的初始階段,隨機(jī)產(chǎn)生一個(gè)由N個(gè)個(gè)體組成的種群X=(X1,X2,…,XN),其中第i個(gè)粒子為一個(gè)D維向量,代表第i個(gè)花粉在D維搜索空間中的位置,即表示優(yōu)化問(wèn)題的一個(gè)潛在解,其中D是優(yōu)化問(wèn)題的維數(shù),t是當(dāng)前迭代次數(shù)。N為種群的大小,代表解的多樣性,表示的是每次都有N個(gè)個(gè)體進(jìn)行迭代,在算法的運(yùn)行過(guò)程中,種群數(shù)一般設(shè)定在10~30之間,在本文的數(shù)值實(shí)驗(yàn)中,設(shè)種群數(shù)N為20。

        全局授粉的過(guò)程如下:

        局部授粉的過(guò)程如下:

        在FPA算法迭代之前先產(chǎn)生一個(gè)隨機(jī)數(shù)rand∈(0,1),若p>rand,則執(zhí)行式(1)的全局搜索,若p≤rand,則執(zhí)行式(2)的局部搜索,即利用轉(zhuǎn)換概率p控制全局授粉和局部授粉的執(zhí)行概率,使算法能夠利用群體全局信息以及個(gè)體局部信息進(jìn)行協(xié)同搜索。

        FPA算法與其他智能算法同樣存在易陷入局部最優(yōu)且收斂速度慢等缺陷。為改進(jìn)智能算法存在的不足,眾多學(xué)者對(duì)此進(jìn)行了深入的研究。楊帆等人[14]對(duì)粒子群算法的慣性權(quán)重進(jìn)行自適應(yīng)的調(diào)整,通過(guò)信息素濃度以及粒子在搜索空間中分布的先驗(yàn)知識(shí)來(lái)確定各個(gè)慣性權(quán)重的選擇概率,從而提出了一種基于蟻群系統(tǒng)的慣性權(quán)重自適應(yīng)蟻群算法(AS-PSO),并通過(guò)實(shí)驗(yàn)證明AS-PSO的收斂速度和解的精度方面優(yōu)于標(biāo)準(zhǔn)PSO;Xie等人在文獻(xiàn)[15]中,對(duì)遺傳算法中的遺傳算子進(jìn)行自適應(yīng)調(diào)整,并將提出的自適應(yīng)遺傳算法應(yīng)用在多目標(biāo)優(yōu)化問(wèn)題中得到較好的結(jié)果;李宏在文獻(xiàn)[16]中對(duì)標(biāo)準(zhǔn)的粒子群優(yōu)化算法引入了兩個(gè)自適應(yīng)加速因子,并對(duì)粒子群優(yōu)化算法的權(quán)函數(shù)做了改進(jìn),若算法陷入局部最優(yōu)值,則采用新的粒子更新方式,從而提出了一種自適應(yīng)的粒子群優(yōu)化算法,并將其應(yīng)用到圖像分割問(wèn)題中。

        在本文中,為了更好地利用花授粉算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行優(yōu)化,首先對(duì)花授粉算法中的轉(zhuǎn)換概率及變異因子進(jìn)行自適應(yīng)的調(diào)整,提出了一種自適應(yīng)的花授粉算法(SFPA),然后利用SFPA來(lái)實(shí)現(xiàn)對(duì)BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)優(yōu)化。

        3 花授粉算法的改進(jìn)

        3.1 對(duì)轉(zhuǎn)換概率做自適應(yīng)調(diào)整

        在基本花授粉算法中p為常數(shù),即在算法執(zhí)行過(guò)程中,執(zhí)行全局授粉操作和局部授粉操作的概率是不變的。 但是若p值過(guò)大,則執(zhí)行全局授粉操作的次數(shù)較多,此時(shí),算法不易于收斂;若p值過(guò)小,則執(zhí)行局部授粉操作的次數(shù)較多,此時(shí)易陷入局部最優(yōu)解,因此,對(duì)轉(zhuǎn)化概率p做自適應(yīng)的調(diào)整。在標(biāo)準(zhǔn)FPA算法[9]中表明,當(dāng)p值取0.8時(shí),算法的性能較好,因此基于自適應(yīng)參數(shù)的p設(shè)定為在0.8附近浮動(dòng),鑒于轉(zhuǎn)換概率p∈(0,1),所以使用數(shù)值0.2控制p值在0.8附近浮動(dòng)的范圍,即自適應(yīng)p值的計(jì)算公式為:

        其中,rand1是[0,1]之間產(chǎn)生的隨機(jī)數(shù),該改進(jìn)方法能夠控制p值過(guò)大或過(guò)小。在改進(jìn)后的算法中,每迭代一次,p值更新一次,自適應(yīng)地調(diào)節(jié)全局搜索和局部搜索的執(zhí)行概率,有效地解決了算法的開(kāi)發(fā)能力和探索能力之間的平衡問(wèn)題,不僅能夠避免FPA算法陷入局部最優(yōu),同時(shí)能夠提高算法的收斂速度。

        3.2 對(duì)變異因子ε的自適應(yīng)調(diào)整

        在FPA的局部授粉過(guò)程中,利用[0,1]之間的隨機(jī)數(shù)ε來(lái)控制第i個(gè)花粉的變異概率,若ε過(guò)小,那么在執(zhí)行局部授粉過(guò)程時(shí),迭代前后花粉的位置過(guò)于緊密,雖然可以遍歷所有位置,但需要太多的運(yùn)行時(shí)間,致使算法的收斂速度較慢;若ε過(guò)大,則迭代前后花粉的位置過(guò)于松散,雖然可以節(jié)省大量的運(yùn)行時(shí)間,但跳躍步長(zhǎng)過(guò)大,不利于找到最優(yōu)解,因此隨機(jī)的變異概率會(huì)導(dǎo)致算法的收斂速度較慢,或者收斂到較差的解。在文獻(xiàn)[17]中,采用了固定因子F作為ε的值來(lái)改進(jìn)FPA的局部授粉過(guò)程中,即第i個(gè)花粉的變異概率是固定不變的,且證明當(dāng)F∈(0.25,0.75)時(shí)算法的性能較好。因此,對(duì)變異因子ε進(jìn)行如下改進(jìn):

        其中rand2,rand3是[0,1]之間產(chǎn)生的隨機(jī)數(shù),εt是第t次迭代時(shí)變異因子的值。利用控制變量法通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),τ ,εl,εu的值分別取 0.1, 0.1, 0.9時(shí),該算法性能達(dá)到最好。ε的初始值ε0為(0.25,0.75)之間的隨機(jī)數(shù)。通過(guò)這種改進(jìn)方法,可以使得ε以較小的可能發(fā)生變化,即ε以較大的可能性保持為定值,在算法的進(jìn)化過(guò)程中保持了種群的多樣性,有利于提高算法的收斂速度,從而提高了算法的性能。

        在對(duì)轉(zhuǎn)換概率p及變異因子ε的自適應(yīng)調(diào)整過(guò)程中雖然利用了隨機(jī)向量rand1, rand2, rand3,但事實(shí)上這兩個(gè)參數(shù)的變化并不是隨機(jī)的,自適應(yīng)參數(shù)的基本形式即:選擇性、隨機(jī)化,該自適應(yīng)方法已經(jīng)用于遺傳算法、粒子群算法、差分進(jìn)化算法[18]等眾多智能算法中。

        通過(guò)對(duì)轉(zhuǎn)化概率做自適應(yīng)的調(diào)整以及引入自適應(yīng)的變異因子,提出了自適應(yīng)花授粉算法(SFPA),其實(shí)現(xiàn)步驟如下:

        步驟1初始化算法的基本參數(shù)。設(shè)置種群數(shù)N,變異因子的初始值ε0,并設(shè)置最大迭代次數(shù)或搜索精度作為算法結(jié)束的條件。

        步驟2隨機(jī)初始化個(gè)體的位置,并計(jì)算每個(gè)個(gè)體的的適應(yīng)度函數(shù)值。

        步驟3隨機(jī)生成rand1,并按式(3)計(jì)算轉(zhuǎn)換概率p,以調(diào)節(jié)全局搜索和局部搜索之間的轉(zhuǎn)換。

        步驟3.1隨機(jī)產(chǎn)生rand∈[0,1],若轉(zhuǎn)換概率p>rand,則按式(1)進(jìn)行全局搜索。

        步驟3.2若轉(zhuǎn)換概率p≤rand,按式(4)計(jì)算ε,并將ε值代入式(2)中進(jìn)行局部搜索。

        步驟4計(jì)算每個(gè)花粉的適應(yīng)度函數(shù)值,并找出當(dāng)前最優(yōu)解。

        步驟5判斷是否滿足循環(huán)結(jié)束的條件,若不滿足,轉(zhuǎn)步驟3,若滿足,轉(zhuǎn)步驟6。

        步驟6輸出結(jié)果,結(jié)束算法。

        4 基于SFPA算法的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化

        利用花授粉算法優(yōu)化BP網(wǎng)絡(luò)時(shí)主要包括以下幾個(gè)方面。

        4.1 數(shù)據(jù)的歸一化處理

        利用自適應(yīng)的花授粉算法(SFPA)優(yōu)化神經(jīng)網(wǎng)絡(luò)時(shí),如果輸入樣本全部為正值或者負(fù)值,那么輸入層到隱含層之間的權(quán)值只能同時(shí)增加或者減小,從而導(dǎo)致網(wǎng)絡(luò)的學(xué)習(xí)速率慢等問(wèn)題。且由于本文中采用Sigmoid函數(shù)作為網(wǎng)絡(luò)的激活函數(shù),因此,通過(guò)數(shù)據(jù)的歸一化處理可以避免大量的數(shù)據(jù)進(jìn)入飽和區(qū)。采用式(5)對(duì)數(shù)據(jù)進(jìn)行歸一化處理:

        其中,Xmax,Xmin分別表示訓(xùn)練樣本中的最大值和最小值。

        4.2 個(gè)體編碼

        本文采用實(shí)數(shù)編碼的形式將神經(jīng)網(wǎng)絡(luò)的連接權(quán)值和閾值表示為花粉個(gè)體。由于輸入層神經(jīng)元的個(gè)數(shù)為n,隱層神經(jīng)元個(gè)數(shù)為m,輸出層神經(jīng)元的個(gè)數(shù)為s,則花粉個(gè)體的字符串長(zhǎng)度為L(zhǎng)=n×m+m×s+m+s。

        假設(shè)輸入層到隱含層之間的權(quán)值矩陣為:

        隱含層的閾值向量為:

        隱層到輸出層的權(quán)值矩陣為:

        隱含層到輸出層的閾值向量為:

        則花粉個(gè)體的編碼形式為:

        4.3 評(píng)價(jià)標(biāo)準(zhǔn)

        在訓(xùn)練樣本的過(guò)程中,將網(wǎng)絡(luò)實(shí)際輸出與期望輸出之間的均方誤差(MSE)作為網(wǎng)絡(luò)的評(píng)價(jià)標(biāo)準(zhǔn),因此在花授粉算法中使用的適應(yīng)度函數(shù)為:

        其中N為輸入樣本的總數(shù),yi為第i個(gè)樣本的實(shí)際輸出值為第i個(gè)樣本的期望輸出值。MSE的值越小,表明網(wǎng)絡(luò)的性能越好,因此利用花授粉算法優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)的目的就是找到能夠使BP神經(jīng)網(wǎng)絡(luò)的實(shí)際輸出值與期望值之間的均方誤差較小的粒子。

        4.4 隱層節(jié)點(diǎn)數(shù)的確定

        根據(jù)經(jīng)驗(yàn)公式[15],取隱層節(jié)點(diǎn)數(shù)為:

        其中,m為隱層節(jié)點(diǎn)數(shù),n為輸入層節(jié)點(diǎn)數(shù),s為輸出層節(jié)點(diǎn)數(shù)。

        4.5 基于SFPA算法的BP神經(jīng)網(wǎng)絡(luò)

        利用兩種不同的結(jié)合方式得到的SFPA1-BP網(wǎng)絡(luò)和SFPA2-BP網(wǎng)絡(luò)的基本實(shí)現(xiàn)步驟如下。

        4.5.1 SFPA1-BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的基本步驟

        步驟1初始化SFPA算法以及BP神經(jīng)網(wǎng)絡(luò)的參數(shù),包括種群數(shù)N,變異因子的初始值ε0,網(wǎng)絡(luò)的學(xué)習(xí)參數(shù)α,β,輸入層、隱層以及輸出層的節(jié)點(diǎn)數(shù),并設(shè)置最大迭代次數(shù)或搜索精度作為網(wǎng)絡(luò)訓(xùn)練結(jié)束的條件。

        步驟2編碼:采用實(shí)數(shù)編碼的方式,按照式(10)將BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值統(tǒng)一編碼到花粉個(gè)體中,那么每個(gè)花粉個(gè)體即代表一個(gè)BP網(wǎng)絡(luò)結(jié)構(gòu)。

        步驟3根據(jù)式(5)對(duì)訓(xùn)練數(shù)據(jù)做歸一化處理,并隨機(jī)初始化個(gè)體的位置。利用式(11)計(jì)算每個(gè)個(gè)體的適應(yīng)度函數(shù)值,并保留適應(yīng)度值最小的個(gè)體。

        步驟4隨機(jī)生成rand1,并按式(3)計(jì)算轉(zhuǎn)換概率p,以調(diào)節(jié)花授粉算法中全局搜索和局部搜索之間的轉(zhuǎn)換。

        步驟4.1隨機(jī)產(chǎn)生rand∈[0,1],若轉(zhuǎn)換概率p>rand,則按式(1)進(jìn)行全局搜索。

        步驟4.2若轉(zhuǎn)換概率p≤rand,按式(4)計(jì)算ε,并將ε值代入式(2)中進(jìn)行局部搜索。

        步驟5根據(jù)式(11)計(jì)算每個(gè)花粉的適應(yīng)度函數(shù)值,并找出當(dāng)前最優(yōu)解。

        步驟6判斷是否滿足SFPA算法結(jié)束的條件,若不滿足,轉(zhuǎn)步驟4;若滿足,則轉(zhuǎn)步驟7。

        步驟7解碼:將花粉個(gè)體解碼為BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,以此作為BP網(wǎng)絡(luò)的初始權(quán)值和初始閾值,并對(duì)BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練。

        步驟8判斷是否滿足網(wǎng)絡(luò)訓(xùn)練結(jié)束的條件,若不滿足,轉(zhuǎn)步驟7;若滿足,轉(zhuǎn)步驟9。

        步驟9得到最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu),可輸入檢測(cè)樣本進(jìn)行預(yù)測(cè)或分類。

        4.5.2 SFPA2-BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的基本步驟

        步驟1初始化花授粉算法以及BP神經(jīng)網(wǎng)絡(luò)的參數(shù),包括種群數(shù)N,變異因子的初始值ε0,網(wǎng)絡(luò)的學(xué)習(xí)參數(shù)α,β,輸入層、隱層以及輸出層的節(jié)點(diǎn)數(shù),并設(shè)置最大迭代次數(shù)或搜索精度作為網(wǎng)絡(luò)訓(xùn)練結(jié)束的條件。

        步驟2編碼:采用實(shí)數(shù)編碼的方式,根據(jù)式(10)將BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值統(tǒng)一編碼到花粉個(gè)體中,因此每個(gè)花粉個(gè)體即代表一個(gè)BP網(wǎng)絡(luò)結(jié)構(gòu)。

        步驟3根據(jù)式(5)對(duì)訓(xùn)練數(shù)據(jù)做歸一化處理,并隨機(jī)初始化個(gè)體的位置。利用式(11)計(jì)算每個(gè)個(gè)體的適應(yīng)度函數(shù)值,并保留適應(yīng)度值最小的個(gè)體。

        步驟4隨機(jī)生成rand1,并按式(3)計(jì)算轉(zhuǎn)換概率p,以調(diào)節(jié)花授粉算法中全局搜索和局部搜索之間的轉(zhuǎn)換。

        步驟4.1隨機(jī)產(chǎn)生rand∈[0,1],若轉(zhuǎn)換概率p>rand,則按式(1)進(jìn)行全局搜索。

        步驟4.2若轉(zhuǎn)換概率p≤rand,按式(4)計(jì)算ε,并將ε值代入式(2)中進(jìn)行局部搜索。

        步驟5根據(jù)式(11)計(jì)算每個(gè)花粉的適應(yīng)度函數(shù)值,并找出當(dāng)前最優(yōu)解。

        步驟6解碼:將花粉個(gè)體解碼為BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,以此作為BP網(wǎng)絡(luò)的初始權(quán)值和初始閾值,并對(duì)BP網(wǎng)絡(luò)進(jìn)行一次訓(xùn)練。

        步驟7判斷是否滿足網(wǎng)絡(luò)訓(xùn)練結(jié)束的條件,若不滿足,轉(zhuǎn)步驟4;若滿足,轉(zhuǎn)步驟8。

        步驟8得到最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu),可輸入檢測(cè)樣本進(jìn)行預(yù)測(cè)或分類。

        5 仿真對(duì)比實(shí)驗(yàn)及結(jié)果分析

        5.1 函數(shù)逼近

        為了驗(yàn)證本文提出的SFPA1-BP網(wǎng)絡(luò)和SFPA2-BP網(wǎng)絡(luò)的性能,在Windows7環(huán)境中,利用Matlab7.0編程,對(duì)以下7個(gè)網(wǎng)絡(luò)做比較實(shí)驗(yàn):標(biāo)準(zhǔn)BP、FPA1-BP、FPA2-BP、SFPA1-BP、SFPA2-BP以及GA-BP、PSO-BP。根據(jù)經(jīng)驗(yàn)和實(shí)驗(yàn)的測(cè)試情況,設(shè)定參數(shù):種群的規(guī)模N為20,在FPA1-BP和SFPA1-BP中,花授粉算法的最大迭代次數(shù)500,BP網(wǎng)絡(luò)的最大訓(xùn)練次數(shù)為500;在FPA2-BP和SFPA2-BP中,網(wǎng)絡(luò)的訓(xùn)練次數(shù)為500,學(xué)習(xí)率α=0.7 ,β=0.7。

        對(duì)復(fù)雜函數(shù):

        進(jìn)行擬合仿真,由于f(x)有一個(gè)因變量,一個(gè)自變量,因此網(wǎng)絡(luò)的輸入層有1個(gè)節(jié)點(diǎn),輸出層有1個(gè)節(jié)點(diǎn),根據(jù)經(jīng)驗(yàn)公式(12)得到隱含層有5個(gè)節(jié)點(diǎn),所以網(wǎng)絡(luò)結(jié)構(gòu)為:1-5-1。在網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,訓(xùn)練樣本是在定義域(-10,10)上均勻分布的300個(gè)數(shù)據(jù)對(duì),測(cè)試樣本是(-10,10)上均勻分布的75個(gè)數(shù)據(jù)對(duì)(訓(xùn)練樣本和測(cè)試樣本分別占總樣本的80%,20%)[16]。利用7種網(wǎng)絡(luò)分別對(duì)f(x)單獨(dú)擬合30次,并統(tǒng)計(jì)出平均運(yùn)行時(shí)間以及平均網(wǎng)絡(luò)誤差,其中平均運(yùn)行時(shí)間代表網(wǎng)絡(luò)收斂的速度,平均網(wǎng)絡(luò)誤差代表網(wǎng)絡(luò)的擬合能力,統(tǒng)計(jì)結(jié)果如表1所示。

        通過(guò)比較表1中的平均網(wǎng)絡(luò)誤差值可以看出,本文提出的SFPA1-BP的擬合能力優(yōu)于另外6種網(wǎng)絡(luò),且該網(wǎng)絡(luò)運(yùn)行時(shí)間較短。通過(guò)比較表1中的平均運(yùn)行時(shí)間可以看出,F(xiàn)PA2-BP和SFPA2-BP的運(yùn)行時(shí)間較長(zhǎng),這是由于FPA2-BP和SFPA2-BP每次訓(xùn)練都會(huì)運(yùn)行花授粉算法和BP算法,因此使得運(yùn)行時(shí)間大大增加。

        圖1 標(biāo)準(zhǔn)BP、FPA1-BP、SFPA1-BP的誤差變化圖

        表1 7種網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果對(duì)比

        為了更加直觀地比較改進(jìn)后的自適應(yīng)花授粉算法(SFPA)與原始的花授粉算法(FPA)對(duì)網(wǎng)絡(luò)的影響,首先給出標(biāo)準(zhǔn)BP、FPA1-BP、SFPA1-BP以及標(biāo)準(zhǔn)BP、FPA2-BP、SFPA2-BP在訓(xùn)練過(guò)程中的誤差變化圖,分別如圖1、圖2所示。

        從圖1和圖2中不難看出,F(xiàn)PA1-BP、SFPA1-BP、FPA2-BP、SFPA2-BP的性能都優(yōu)于標(biāo)準(zhǔn)的BP網(wǎng)絡(luò),不僅能夠在較短的時(shí)間內(nèi)達(dá)到收斂狀態(tài),且最終的誤差值也較好。

        相較于原始的FPA算法,通過(guò)改進(jìn)得到的SFPA算法對(duì)BP網(wǎng)絡(luò)的性能都有不同程度上的改進(jìn),從圖1中可以看出,SFPA1-BP相較于FPA1-BP有了明顯的改進(jìn)。SFPA1-BP和FPA1-BP首先利用SFPA或FPA的全局尋優(yōu)能力找到能夠使誤差達(dá)到相對(duì)較小的權(quán)值和閾值的組合,然后通過(guò)BP網(wǎng)絡(luò)的局部尋優(yōu)能力找到最優(yōu)的組合,由于SFPA的全局尋優(yōu)能力優(yōu)于FPA算法,所以在訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)之前,利用SFPA得到的權(quán)值和閾值的組合要優(yōu)于FPA得到的組合,因此與FPA1-BP相比,SFPA1-BP的性能有了大幅度的提高。從圖2中可以看出,SFPA2-BP與FPA2-BP的誤差曲線圖并沒(méi)有太大的差異,即SFPA2-BP與FPA2-BP性能并無(wú)較大差異,這是由于在SFPA2-BP網(wǎng)絡(luò)和FPA2-BP網(wǎng)絡(luò)訓(xùn)練的過(guò)程中,每次訓(xùn)練都是先通過(guò)SFPA算法或FPA算法迭代一次,然后利用BP算法再訓(xùn)練一次,由于SFPA算法和FPA算法在初始迭代階段并沒(méi)有差異,因此導(dǎo)致SFPA2-BP與FPA2-BP的性能并沒(méi)有太大的差異。

        圖2 標(biāo)準(zhǔn)BP、FPA2-BP、SFPA2-BP的誤差變化圖

        圖3 標(biāo)準(zhǔn)BP、FPA1-BP、FPA2-BP的誤差變化圖

        為了進(jìn)一步驗(yàn)證哪一種方法更適合花授粉算法與BP網(wǎng)絡(luò)的結(jié)合,給出標(biāo)準(zhǔn)BP、FPA1-BP、FPA2-BP以及標(biāo)準(zhǔn)BP、SFPA1-BP、SFPA2-BP的誤差變化圖,分別如圖3、圖4所示。

        從圖3中可以看出,雖然FPA1-BP和FPA2-BP幾乎同時(shí)達(dá)到收斂狀態(tài),但是FPA1-BP最終達(dá)到的誤差遠(yuǎn)小于FPA2-BP所達(dá)到的誤差。從圖4中可以看出,當(dāng)SFPA2-BP已經(jīng)達(dá)到收斂狀態(tài)的時(shí)候,SFPA1-BP仍在進(jìn)一步的收斂,且最終達(dá)到的誤差值較小。因此,從圖3和圖4中不難看出,F(xiàn)PA1-BP的擬合能力優(yōu)于FPA2-BP,且SFPA1-BP的擬合能力優(yōu)于SFPA2-BP。

        這是因?yàn)镕PA1-BP和SFPA1-BP在BP網(wǎng)絡(luò)訓(xùn)練之前,先利用FPA和SFPA算法的全局尋優(yōu)能力得到接近最優(yōu)權(quán)值和閾值的組合,然后在得到的組合附近利用BP算法的局部尋優(yōu)能力找到能夠使網(wǎng)絡(luò)性能達(dá)到最好的權(quán)值和閾值,從而達(dá)到利用花授粉算法來(lái)優(yōu)化BP網(wǎng)絡(luò)結(jié)構(gòu)的目的。這種結(jié)合方法充分地利用了FPA算法和SFPA算法的全局尋優(yōu)能力以及BP算法的局部尋優(yōu)能力。但是利用第二種結(jié)合方法得到的FPA2-BP和SFPA2-BP在網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,首先迭代一次FPA或SFPA算法,然后利用BP算法進(jìn)行訓(xùn)練,然而FPA或SFPA并不能在迭代次數(shù)較少的情況下就找到全局的最優(yōu)解,所以利用FPA或SFPA算法在初期得到的權(quán)值和閾值的組合并不能接近最優(yōu)組合,因此FPA2-BP和SFPA2-BP并沒(méi)有充分利用FPA或SFPA算法的全局尋優(yōu)能力。從而可以得到結(jié)論:相較于FPA2-BP,SFPA2-BP,利用第一種結(jié)合方式得到的FPA1-BP,SFPA1-BP性能較好,且具有收斂速度快等優(yōu)點(diǎn)。

        最后給出BP、SFPA1-BP、SFPA2-BP對(duì)測(cè)試函數(shù)f(x)的擬合圖像,如圖5所示。

        通過(guò)圖5不難看出,SFPA1-BP對(duì)函數(shù)的逼近效果較好,SFPA2-BP的效果次之,但是SFPA1-BP和SFPA2-BP都優(yōu)于BP網(wǎng)絡(luò)的擬合能力。

        圖4 標(biāo)準(zhǔn)BP、SFPA1-BP、SFPA2-BP誤差變化圖

        圖5 BP、SFPA1-BP、SFPA2-BP的擬合圖像

        通過(guò)以上分析可知,在函數(shù)的逼近實(shí)驗(yàn)中,SFPA1-BP和SFPA2-BP網(wǎng)絡(luò)的性能優(yōu)于標(biāo)準(zhǔn)BP網(wǎng)絡(luò)、FPA1-BP、FPA2-BP,更進(jìn)一步的,SFPA1-BP的性能優(yōu)于SFPA2-BP網(wǎng)絡(luò)。通過(guò)實(shí)驗(yàn)驗(yàn)證,先通過(guò)花授粉算法得到較優(yōu)權(quán)值和閾值的組合,然后利用BP算法的局部尋優(yōu)能力在較優(yōu)組合的附近找到能夠使網(wǎng)絡(luò)性能達(dá)到最好的權(quán)值和閾值的結(jié)合方式,更能夠充分發(fā)揮SFPA算法的全局尋優(yōu)能力以及BP算法的局部尋優(yōu)能力,從而提高網(wǎng)絡(luò)的性能。

        5.2 分類實(shí)驗(yàn)

        為了驗(yàn)證本文提出的SFPA1-BP神經(jīng)網(wǎng)絡(luò)、SFPA2-BP神經(jīng)網(wǎng)絡(luò)的分類能力,使用UCI數(shù)據(jù)庫(kù)中的Iris數(shù)據(jù)集[19](屬性4個(gè),樣本150個(gè),類別3個(gè))作為測(cè)試數(shù)據(jù)。那么網(wǎng)絡(luò)輸入層的節(jié)點(diǎn)數(shù)為4,輸出層的節(jié)點(diǎn)數(shù)為3,根據(jù)經(jīng)驗(yàn)公式,隱層的的節(jié)點(diǎn)數(shù)為6,因此網(wǎng)絡(luò)的結(jié)構(gòu)為4-6-3。

        仿真實(shí)驗(yàn)在Windows7環(huán)境下運(yùn)行,利用Matlab7.0進(jìn)行編程。根據(jù)經(jīng)驗(yàn)和實(shí)驗(yàn)測(cè)試情況,設(shè)定參數(shù):種群的規(guī)模N為20,在FPA1-BP和SFPA1-BP中,F(xiàn)PA算法的最大迭代次數(shù)500,BP網(wǎng)絡(luò)的最大訓(xùn)練次數(shù)為500;在FPA2-BP和SFPA2-BP中,網(wǎng)絡(luò)的訓(xùn)練次數(shù)為500,學(xué)習(xí)率α =0.7 , β=0.7。

        為了消除算法和BP網(wǎng)絡(luò)的隨機(jī)性帶來(lái)的影響,分別利用7種網(wǎng)絡(luò):標(biāo)準(zhǔn)BP、FPA1-BP、FPA2-BP、SFPA1-BP、SFPA2-BP以及GA-BP、PSO-BP在Iris數(shù)據(jù)集上獨(dú)立運(yùn)行30次,并統(tǒng)計(jì)出平均運(yùn)行時(shí)間以及平均分類正確率,其中平均運(yùn)行時(shí)間表示的是網(wǎng)絡(luò)的收斂速度,平均分類正確率表示的網(wǎng)絡(luò)的分類能力,結(jié)果如表2所示。

        表2 7種網(wǎng)絡(luò)分類性能的比較

        由表1中的統(tǒng)計(jì)結(jié)果可知,在Iris數(shù)據(jù)集的分類過(guò)程中,7種網(wǎng)絡(luò)表現(xiàn)出較為明顯的差異。雖然BP網(wǎng)絡(luò)分類時(shí)間短,但是分類正確率較低。本文提出的SFPA1-BP的分類能力優(yōu)于另外6種網(wǎng)絡(luò),且運(yùn)行時(shí)間較短。SFPA2-BP不僅分類時(shí)間長(zhǎng),且分類能力較低,這是由于SFPA2-BP網(wǎng)絡(luò)的每次訓(xùn)練都要運(yùn)行花授粉算法和BP算法,從而使得運(yùn)行時(shí)間較長(zhǎng),又因?yàn)镾FPA2-BP在每次訓(xùn)練時(shí)運(yùn)行花授粉算法的次數(shù)較少,因此并沒(méi)有充分發(fā)揮花授粉算法的全局尋優(yōu)能力,使得SFPA2-BP在分類方面的能力較差。

        5.3 實(shí)驗(yàn)結(jié)論

        通過(guò)對(duì)以上函數(shù)逼近以及Iris數(shù)據(jù)集分類實(shí)驗(yàn)結(jié)果的分析可知,SFPA1-BP的學(xué)習(xí)能力和泛化能力較好,這是由于SFPA1-BP首先利用SFPA算法的全局尋優(yōu)能力得到接近最優(yōu)權(quán)值和閾值的組合,然后利用BP算法的局部尋優(yōu)能力找到最優(yōu)的權(quán)值和閾值的組合,這種結(jié)合方法充分地利用了SFPA的全局尋優(yōu)能力以及BP神經(jīng)網(wǎng)絡(luò)局部搜索能力,從而提高了網(wǎng)絡(luò)的學(xué)習(xí)能力和泛化能力。

        6 結(jié)束語(yǔ)

        在訓(xùn)練的過(guò)程中,BP神經(jīng)網(wǎng)絡(luò)利用梯度下降法來(lái)調(diào)整權(quán)值及閾值的大小,所以未經(jīng)優(yōu)化的初始權(quán)值和閾值易導(dǎo)致網(wǎng)絡(luò)陷入局部最優(yōu)且收斂速度慢等缺陷,因此提出利用改進(jìn)的FPA算法對(duì)神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值進(jìn)行優(yōu)化。文中首先介紹了傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)和花授粉算法(FPA)的相關(guān)內(nèi)容,并對(duì)FPA算法進(jìn)行改進(jìn),然后將改進(jìn)后的花授粉算法(SFPA)與BP神經(jīng)網(wǎng)絡(luò)結(jié)合,最后進(jìn)行函數(shù)逼近實(shí)驗(yàn)和Iris數(shù)據(jù)的分類實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,雖然SFPA1-BP和SFPA2-BP的性能都優(yōu)于標(biāo)準(zhǔn)的BP神經(jīng)網(wǎng)絡(luò),但是由于SFPA1-BP充分地發(fā)揮了SFPA的全局搜索能力以及BP算法的局部搜索能力,因此該網(wǎng)絡(luò)具有更好的函數(shù)逼近能力和較好的分類能力。SFPA1-BP的優(yōu)勢(shì)在于能夠處理一些傳統(tǒng)方法不能處理的例子,如不可導(dǎo)的特性函數(shù)或者沒(méi)有梯度信息存在的節(jié)點(diǎn),且學(xué)習(xí)能力和泛化能力較好。

        雖然SFPA1-BP具有較好的性能,但是如何提高其收斂速度,以及網(wǎng)絡(luò)隱層節(jié)點(diǎn)數(shù)的確定將是下一步的研究工作。此外,將本文提出的新網(wǎng)絡(luò)應(yīng)用到圖像處理、模式識(shí)別等領(lǐng)域,也是值得研究的。

        [1]Shi W Z,Zhao Y L,Wang Q M.Sub-pixel mapping based on BP neural network with multiple shifted remote sensing images[J].Journal of Infrared and Millimeter Waves,2014,33(5):527-532.

        [2]徐華,趙軍.基于遺傳BP神經(jīng)網(wǎng)絡(luò)的工業(yè)經(jīng)濟(jì)運(yùn)行指標(biāo)預(yù)測(cè)[J].微型機(jī)與應(yīng)用,2016,35(7):90-92.

        [3]Wen Hui,Xie Weixin,Pei Jihong,et al.An incremental learning algorithm for the hybrid RBF-BP network classifier[J].Eurasip Journal on Advances in Signal Processing,2016,5:7-10.

        [4]Bagheripour P.Core porosity estimation through different training approaches for neural network:Back-propagation learning vs.genetic algorithm[J].International Journal of Computer Applications,2013,63(5):11-15.

        [5]Mirjalili S A,Hashim S Z M,Sardroudi H M.Training feedforward neural networks using hybrid particle swarm optimization and gravitational search algorithm[J].Applied Mathematics and Computation,2012,218:11125-11137.

        [6]吳文鐵,宋曰聰,李敏.蟻群優(yōu)化神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量混沌預(yù)測(cè)[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(34):97-101.

        [7]Socha K,Blum C.An ant colony optimization algorithm for continuous optimization:Application to feed-forward neural network training[J].Neural Computing&Applications,2007,16(3):235-247.

        [8]Mirjalili S A,Mirjalili S M,Lewis A.Let a biogeographybased optimizer train your Multi-layer perceptron[J].Information Sciences,2014,269(8):188-209.

        [9]Yang X S.Flower pollination algorithm for global optimization[C]//Durand-Lose J.Lecture Notes in Computer Science,Unconventional Computation and Natural Computation,F(xiàn)rance,2012.Berlin Heidelberg:Springer-Verlag,2012,7445:240-249.

        [10]Yang X S,Karamanoglum M,He X.Flower pollination algorithm:A novel approach for multiobjective optimization[J].Engineering Optimization,2013,46(9):1222-1237.

        [11]賀興時(shí),余兵,韓琳.基于差分進(jìn)化的BP網(wǎng)絡(luò)學(xué)習(xí)算法[J].紡織高?;A(chǔ)科學(xué)學(xué)報(bào),2006,19(2):178-181.

        [12]李勇平.基于改進(jìn)粒子群神經(jīng)網(wǎng)絡(luò)的電信業(yè)務(wù)預(yù)測(cè)模型研究[D].廣州:華南理工大學(xué),2009.

        [13]Cybenko G.Approximation by superpositions of a sigmoidal function[J].Mathematics of Control,Signals,and Systems,1989,4(2):303-314.

        [14]楊帆,胡春平,顏學(xué)封.基于蟻群系統(tǒng)的參數(shù)自適應(yīng)粒子群算法及其應(yīng)用[J].控制理論與應(yīng)用,2010,27(11):1479-1488.

        [15]Xie Shanyi,Zhai Ruicong,Liu Xianhu,et al.Self-adaptive genetic algorithm and fuzzy decision based multiobjective optimization in microgrid with DGs[J].Open Electrical and Electronic Engineering Journal,2016,10(1):46-57.

        [16]李宏.自適應(yīng)粒子群優(yōu)化算法及其在圖像分割中的應(yīng)用[D].遼寧大連:大連理工大學(xué),2006.

        [17]Dubey H M,Pandit M,Panigrahi B K.A biologically inspired modified flower pollination algorithm for solving economic dispatch problem in modern power system[J].Cogntive Computation,2015,7(5):1-15.

        [18]吳亮紅,王耀南,袁小芳,等.基于快速自適應(yīng)差分進(jìn)化算法的電力系統(tǒng)經(jīng)濟(jì)負(fù)荷分配[J].控制與決策,2013,28(4):557-562.

        [19]University of California Irvine.UCI machine learning repository[EB/OL].(2016-09-12).http://archive.ics.uci.edu/ml/.

        猜你喜歡
        權(quán)值全局閾值
        Cahn-Hilliard-Brinkman系統(tǒng)的全局吸引子
        一種融合時(shí)間權(quán)值和用戶行為序列的電影推薦模型
        量子Navier-Stokes方程弱解的全局存在性
        CONTENTS
        小波閾值去噪在深小孔鉆削聲發(fā)射信號(hào)處理中的應(yīng)用
        基于自適應(yīng)閾值和連通域的隧道裂縫提取
        落子山東,意在全局
        金橋(2018年4期)2018-09-26 02:24:54
        比值遙感蝕變信息提取及閾值確定(插圖)
        河北遙感(2017年2期)2017-08-07 14:49:00
        基于權(quán)值動(dòng)量的RBM加速學(xué)習(xí)算法研究
        室內(nèi)表面平均氡析出率閾值探討
        日本手机在线| 偷偷色噜狠狠狠狠的777米奇| 国产精品麻豆成人av电影艾秋 | 国产亚洲精品高清视频| 中文字幕乱码人妻无码久久久1| 蜜桃av一区二区三区久久| 国产精品国产三级第一集| 久久99久久99精品中文字幕| a观看v视频网站入口免费| 成年人视频在线播放麻豆| 久久伊人这里都是精品| 久激情内射婷内射蜜桃人妖 | 国产97色在线 | 亚洲| 亚洲精品国产国语| 少妇人妻精品一区二区三区视| 中文字幕日韩高清乱码| 国内精品久久久久久99| 国产精品麻豆aⅴ人妻| 人妻无码一区二区在线影院| 国产啪啪视频在线观看| 国产一级内射视频在线观看 | 精品亚洲一区二区视频| 日韩三级一区二区三区| 久久无码专区国产精品s| 亚洲日韩精品A∨片无码加勒比| 亚洲国产一区二区精品| 国产精品国产三级国产a| 国外精品视频在线观看免费| 亚洲AV秘 无码一区二区三| 在线观看国产一区二区av| 国产又粗又猛又黄又爽无遮挡| 亚洲色欲在线播放一区| 国产一区二区毛片视频| 日日碰日日摸日日澡视频播放| 久久精品女人天堂av| 精品日韩欧美| 青青青免费在线视频亚洲视频 | 激情综合五月| 亚洲国产高清在线一区二区三区 | 不卡国产视频| 少妇被啪出水在线视频|