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

?

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

2018-02-07 01:47卞京紅賀興時范欽偉伊寶民
計算機工程與應(yīng)用 2018年3期
關(guān)鍵詞:權(quán)值全局閾值

卞京紅,賀興時,范欽偉,伊寶民

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

2.長安大學(xué) 工程機械學(xué)院,西安 710064

1 引言

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

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

利用啟發(fā)式算法優(yōu)化網(wǎng)絡(luò)權(quán)值和閾值的方式通常有兩種:第一,將通過啟發(fā)式算法得到的權(quán)值和閾值的組合直接作為BP網(wǎng)絡(luò)開始訓(xùn)練的初始權(quán)值和閾值[11];第二,將啟發(fā)式算法與BP網(wǎng)絡(luò)融合成一個新的網(wǎng)絡(luò),在每次訓(xùn)練中,先運行一次算法得到權(quán)值和閾值的組合,把得到的組合作為BP算法訓(xùn)練的初始值,然后運行一次BP算法,從而完成一次訓(xùn)練[12]。文中利用這兩種方式將SFPA算法與BP神經(jīng)網(wǎng)絡(luò)進行結(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ù),因此本文只對單隱層的BP神經(jīng)網(wǎng)絡(luò)進行研究。

假設(shè)BP神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點數(shù)為n,隱層節(jié)點數(shù)為m,輸出層節(jié)點數(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)練開始之前,首先隨機初始化網(wǎng)絡(luò)的權(quán)值和閾值,然后利用訓(xùn)練樣本,通過網(wǎng)絡(luò)輸出值與理論值之間誤差的反向傳播來調(diào)節(jié)權(quán)值和閾值,以使網(wǎng)絡(luò)的輸出值與理論值之間的誤差梯度下降,當誤差達到要求時,BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值即得到確定,此即BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程,其具體訓(xùn)練過程如文獻[1]中所述。

2.2 花授粉算法

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

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

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

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

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

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

全局授粉的過程如下:

局部授粉的過程如下:

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

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

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

3 花授粉算法的改進

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

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

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

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

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

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

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

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

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

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

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

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

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

步驟4計算每個花粉的適應(yīng)度函數(shù)值,并找出當前最優(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ò)時主要包括以下幾個方面。

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

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

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

4.2 個體編碼

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

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

隱含層的閾值向量為:

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

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

則花粉個體的編碼形式為:

4.3 評價標準

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5 仿真對比實驗及結(jié)果分析

5.1 函數(shù)逼近

為了驗證本文提出的SFPA1-BP網(wǎng)絡(luò)和SFPA2-BP網(wǎng)絡(luò)的性能,在Windows7環(huán)境中,利用Matlab7.0編程,對以下7個網(wǎng)絡(luò)做比較實驗:標準BP、FPA1-BP、FPA2-BP、SFPA1-BP、SFPA2-BP以及GA-BP、PSO-BP。根據(jù)經(jīng)驗和實驗的測試情況,設(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。

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

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

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

圖1 標準BP、FPA1-BP、SFPA1-BP的誤差變化圖

表1 7種網(wǎng)絡(luò)的實驗結(jié)果對比

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

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

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

圖2 標準BP、FPA2-BP、SFPA2-BP的誤差變化圖

圖3 標準BP、FPA1-BP、FPA2-BP的誤差變化圖

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

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

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

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

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

圖4 標準BP、SFPA1-BP、SFPA2-BP誤差變化圖

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

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

5.2 分類實驗

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

仿真實驗在Windows7環(huán)境下運行,利用Matlab7.0進行編程。根據(jù)經(jīng)驗和實驗測試情況,設(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ò)的隨機性帶來的影響,分別利用7種網(wǎng)絡(luò):標準BP、FPA1-BP、FPA2-BP、SFPA1-BP、SFPA2-BP以及GA-BP、PSO-BP在Iris數(shù)據(jù)集上獨立運行30次,并統(tǒng)計出平均運行時間以及平均分類正確率,其中平均運行時間表示的是網(wǎng)絡(luò)的收斂速度,平均分類正確率表示的網(wǎng)絡(luò)的分類能力,結(jié)果如表2所示。

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

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

5.3 實驗結(jié)論

通過對以上函數(shù)逼近以及Iris數(shù)據(jù)集分類實驗結(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é)束語

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

雖然SFPA1-BP具有較好的性能,但是如何提高其收斂速度,以及網(wǎng)絡(luò)隱層節(jié)點數(shù)的確定將是下一步的研究工作。此外,將本文提出的新網(wǎng)絡(luò)應(yīng)用到圖像處理、模式識別等領(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)濟運行指標預(yù)測[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ù)測[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]賀興時,余兵,韓琳.基于差分進化的BP網(wǎng)絡(luò)學(xué)習(xí)算法[J].紡織高?;A(chǔ)科學(xué)學(xué)報,2006,19(2):178-181.

[12]李勇平.基于改進粒子群神經(jīng)網(wǎng)絡(luò)的電信業(yè)務(wù)預(yù)測模型研究[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)差分進化算法的電力系統(tǒng)經(jīng)濟負荷分配[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)的全局吸引子
一種融合時間權(quán)值和用戶行為序列的電影推薦模型
量子Navier-Stokes方程弱解的全局存在性
CONTENTS
小波閾值去噪在深小孔鉆削聲發(fā)射信號處理中的應(yīng)用
基于自適應(yīng)閾值和連通域的隧道裂縫提取
落子山東,意在全局
比值遙感蝕變信息提取及閾值確定(插圖)
基于權(quán)值動量的RBM加速學(xué)習(xí)算法研究
基于多維度特征權(quán)值動態(tài)更新的用戶推薦模型研究
徐水县| 读书| 白水县| 云南省| 通许县| 西乌| 会同县| 普兰店市| 汉沽区| 泰州市| 贺州市| 北海市| 晋宁县| 台南县| 股票| 台北市| 怀远县| 苏尼特右旗| 峡江县| 闻喜县| 图木舒克市| 太保市| 武宣县| 云霄县| 凤山市| 犍为县| 诏安县| 时尚| 邵阳县| 丰镇市| 垦利县| 丹巴县| 明水县| 瓮安县| 馆陶县| 建平县| 嘉定区| 望奎县| 安平县| 酉阳| 高要市|