黃晶晶,王建宏
南通大學(xué) 理學(xué)院,江蘇 南通 226019
BP神經(jīng)網(wǎng)絡(luò)是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),是應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò),被廣泛應(yīng)用于預(yù)測(cè)[1]、分類(lèi)模式識(shí)別[2]等方面。但是,BP神經(jīng)網(wǎng)絡(luò)有著收斂速度慢、耗時(shí)較長(zhǎng)等缺陷。近年來(lái),出現(xiàn)了很多對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化的成果[3-7]。特別地,分?jǐn)?shù)階的記憶性和遺傳性在一定程度上彌補(bǔ)了神經(jīng)網(wǎng)絡(luò)的不足。從理論角度出發(fā),分?jǐn)?shù)階BP算法的誤差函數(shù)具有單調(diào)性和收斂性,數(shù)值模擬的結(jié)果也成功驗(yàn)證了這項(xiàng)理論[5]。此外,分?jǐn)?shù)階BP算法已被成功運(yùn)用于實(shí)際應(yīng)用中,例如:對(duì)分類(lèi)數(shù)據(jù)集進(jìn)行處理,能夠得到比整數(shù)階BP算法更高的分類(lèi)準(zhǔn)確率[5],且有良好的泛化能力[6];能夠提高預(yù)測(cè)的科學(xué)性和準(zhǔn)確性,具有更高的預(yù)測(cè)精度[7]。由此可見(jiàn),分?jǐn)?shù)階微積分對(duì)BP神經(jīng)網(wǎng)絡(luò)有很好的優(yōu)化效果。
分?jǐn)?shù)階微積分[8]這一重要的數(shù)學(xué)分支誕生在1695年,幾乎和經(jīng)典微積分同時(shí)出現(xiàn)。目前,常見(jiàn)的分?jǐn)?shù)階微積分定義有Riemann-Liouville(RL)定義、Grünwald-Letni kov(GL)定義、Caputo定義[9]。近一些年分?jǐn)?shù)階微積分的理論被成功應(yīng)用到基礎(chǔ)研究和工程應(yīng)用中,例如圖像處理、信號(hào)處理[10]。隨著對(duì)分?jǐn)?shù)階微積分的應(yīng)用研究的發(fā)展,一些研究者將分?jǐn)?shù)階微積分理論與因果、反因果、非因果信號(hào)處理技術(shù)相結(jié)合[11],得出了分?jǐn)?shù)階因果、反因果、非因果微積分的定義。因果系統(tǒng)為線(xiàn)性時(shí)不變系統(tǒng)中一類(lèi)非常重要的系統(tǒng),其輸出信號(hào)由輸入信號(hào)的現(xiàn)在和過(guò)去時(shí)刻決定,得到的輸出信號(hào)為因果信號(hào)。相反,反因果系統(tǒng)是指輸出信號(hào)只與輸入信號(hào)的現(xiàn)在和將來(lái)時(shí)刻有關(guān)系的系統(tǒng),其輸出輸入信號(hào)為反因果信號(hào)。此外,若輸出信號(hào)依賴(lài)于輸入信號(hào)的現(xiàn)在、過(guò)去和將來(lái)時(shí)刻的輸入,這樣的系統(tǒng)稱(chēng)為非因果系統(tǒng),其輸出輸入信號(hào)為非因果信號(hào)。非因果系統(tǒng)常在控制理論和信號(hào)處理中被提到[12-13]。分?jǐn)?shù)階非因果微積分實(shí)質(zhì)上是分?jǐn)?shù)階因果和反因果微積分的加權(quán)和。它在保留分?jǐn)?shù)階的靈活性的情況下,擁有和整數(shù)階導(dǎo)數(shù)相同的相頻特性[14]。因此,從理論上來(lái)說(shuō)分?jǐn)?shù)階非因果微積分較優(yōu)。此外,將其用于圖像去噪能在有效平滑噪聲的同時(shí)抑制相位偏移[11];將其用于檢波具有較高的檢測(cè)準(zhǔn)確率和定位精度[14]。顯而易見(jiàn),分?jǐn)?shù)階非因果微積分有很高的研究?jī)r(jià)值。
基于分?jǐn)?shù)階非因果微積分和分?jǐn)?shù)階因果BP神經(jīng)網(wǎng)絡(luò)的研究,本文構(gòu)建了分?jǐn)?shù)階非因果BP神經(jīng)網(wǎng)絡(luò)以達(dá)到比分?jǐn)?shù)階因果BP神經(jīng)網(wǎng)絡(luò)更好的優(yōu)化效果。將一階和Caputo分?jǐn)?shù)階因果、反因果、非因果微積分分別應(yīng)用到BP算法的反向傳播過(guò)程中對(duì)權(quán)值進(jìn)行調(diào)整,產(chǎn)生了六個(gè)不同的模型。為了驗(yàn)證Caputo分?jǐn)?shù)階非因果BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化效果,需要對(duì)這六個(gè)模型進(jìn)行比較。為了方便對(duì)比,將這些模型對(duì)波士頓房屋數(shù)據(jù)集和MNIST數(shù)據(jù)集進(jìn)行處理。本文的研究需體現(xiàn)非因果和分?jǐn)?shù)階的優(yōu)越性,故本文進(jìn)行了三個(gè)比較:整數(shù)階的三個(gè)模型之間的對(duì)比;分?jǐn)?shù)階的模型與其相應(yīng)的整數(shù)階模型之間的對(duì)比;分?jǐn)?shù)階的三個(gè)模型之間的對(duì)比。
本文研究的Caputo非因果微積分實(shí)際上是由Caputo因果、反因果微積分線(xiàn)性加權(quán)組合成的。
對(duì)于函數(shù)f(t),其一階因果導(dǎo)數(shù)可寫(xiě)成Dl f(t)=。結(jié)合Caputo分?jǐn)?shù)階微積分公式可得到Caputo分?jǐn)?shù)階因果微積分的定義。
定義1(Caputo分?jǐn)?shù)階因果微積分)α階的Caputo分?jǐn)?shù)階因果微積分的定義如下所示:
α在區(qū)間(0,1)時(shí),公式就變?yōu)椋?/p>
對(duì)于函數(shù)f(t),其一階反因果導(dǎo)數(shù)可寫(xiě)成Dr f(t)=。由此可推導(dǎo)出Caputo分?jǐn)?shù)階反因果微積分公式。
定義2(Caputo分?jǐn)?shù)階反因果微積分)α階的Caputo分?jǐn)?shù)階反因果微積分的定義如下所示:
其中,rCaputoaDαt表示Caputo分?jǐn)?shù)階反因果算子,[t,b]是f(t)的積分區(qū)間。
當(dāng)α在區(qū)間(0,1)時(shí),公式就變?yōu)椋?/p>
本文研究的分?jǐn)?shù)階非因果微積分,其實(shí)質(zhì)是分?jǐn)?shù)階因果和反因果微積分的加權(quán)和[6,8]。由此可得出一個(gè)相應(yīng)的Caputo分?jǐn)?shù)階非因果微積分,其定義如下所示。
定義3(Caputo分?jǐn)?shù)階非因果微積分)當(dāng)α在區(qū)間(0,1)時(shí),定義Caputo分?jǐn)?shù)階非因果微積分算子為Caputo分?jǐn)?shù)階因果微積分算子與Caputo分?jǐn)?shù)階反因果微積分算子的加權(quán)和:
在這個(gè)部分,將上面提出的Caputo分?jǐn)?shù)階因果、反因果、非因果微積分分別代入BP神經(jīng)網(wǎng)絡(luò)中,得到了新的BP算法。
BP神經(jīng)網(wǎng)絡(luò)一共有三層:輸入層、隱含層和輸出層,設(shè)輸入層有m個(gè),隱含層有n個(gè),輸出層有1個(gè)神經(jīng)元,以及輸入的樣本共用J個(gè)。第j(j=1,2,…,J)個(gè)輸入樣本和其對(duì)應(yīng)的期望輸出分別用Xj和Oj表示。輸入層和隱含層之間的權(quán)重為W1=(νiq)n×m,并且隱含層和輸出層之間的權(quán)重為W2=(μ1,μ2,…,μn)T。νiq是輸入層的第q(q=1,2,…,m)個(gè)神經(jīng)元和隱含層第i(i=1,2,…,n)個(gè)神經(jīng)元之間的權(quán)重。此外,μp(p=1,2,…,n)是隱含層第p個(gè)神經(jīng)元和輸出層的那個(gè)神經(jīng)元之間的權(quán)重。令νi=(νi1,νi2,…,νim)T。假設(shè)g和f是隱含層和輸出層的傳遞函數(shù)。
其中,η>0是學(xué)習(xí)速率,0<α<1是分?jǐn)?shù)階,cmin=。
h(s(t))是一個(gè)組合函數(shù),根據(jù)Caputo分?jǐn)?shù)階導(dǎo)數(shù)的定義,h(s(t))關(guān)于t的α階導(dǎo)數(shù)為:
其中:
根據(jù)公式(2),當(dāng)0<α<1時(shí),能夠得到:
其中,k∈?,i=1,2,…,n,j=1,2,…,J。則誤差關(guān)于的具體公式為:
類(lèi)似于公式(10)有:
其中:
由上式可以得出:
為了驗(yàn)證Caputo分?jǐn)?shù)階非因果BP神經(jīng)網(wǎng)絡(luò)模型的效果。將這些模型分別應(yīng)用到波士頓房屋數(shù)據(jù)集和MNIST數(shù)據(jù)集中。通過(guò)所得準(zhǔn)確率的高低來(lái)驗(yàn)證Caputo分?jǐn)?shù)階非因果的模型的準(zhǔn)確率最高。為了保證實(shí)驗(yàn)結(jié)果的可靠性,選取了多個(gè)學(xué)習(xí)速率,隱含層神經(jīng)元的數(shù)目和分?jǐn)?shù)階進(jìn)行比較,最后選取比較好的數(shù)值代入這些模型中進(jìn)行總的比較分析。在這個(gè)過(guò)程中發(fā)現(xiàn)無(wú)論是因果、反因果還是非因果的模型,Caputo分?jǐn)?shù)階BP算法都比一階的結(jié)果更好。此外,分?jǐn)?shù)階非因果的結(jié)果是這些模型中最好的。整個(gè)模擬通過(guò)matlab軟件完成。
波士頓房屋數(shù)據(jù)集是美國(guó)人口普查局在1978年收集的美國(guó)馬薩諸塞州波士頓住房?jī)r(jià)格的有關(guān)信息,涵蓋了506條波士頓不同郊區(qū)的房屋數(shù)據(jù),每條數(shù)據(jù)14個(gè)字段,包含自住房的平均房?jī)r(jià)(MEDV)和13個(gè)影響因素:城鎮(zhèn)人均犯罪率(CRIM)、城鎮(zhèn)非零售商用土地的比例(INDUS)、住宅平均房間數(shù)(RM)等。本文以這13個(gè)影響因素為輸入,以MEDV為輸出。
在這次模擬中,將這506條數(shù)據(jù)隨機(jī)排列后,取前404條為波士頓房屋訓(xùn)練集,剩下的102條數(shù)據(jù)為波士頓房屋測(cè)試集。BP神經(jīng)網(wǎng)絡(luò)有一個(gè)隱含層,隱含層神經(jīng)元的數(shù)量取HidNodes=10,其網(wǎng)絡(luò)結(jié)構(gòu)為13×10×1。本文選取的階數(shù)為α=1/9,2/9,…,8/9和1,α=1代表了整數(shù)階的情況。最大迭代次數(shù)為1 000。每種網(wǎng)絡(luò)都要訓(xùn)練五次,取平均值得到最終的結(jié)果。為了直觀地比較不同模型的預(yù)測(cè)值的可靠性,本節(jié)用絕對(duì)系數(shù)R2來(lái)顯示預(yù)測(cè)值的擬合效果。以第j個(gè)樣本為例,令其預(yù)測(cè)值為yj,期望輸出為Oj,則其絕對(duì)系數(shù)R2為:
其中,J為數(shù)據(jù)集中數(shù)據(jù)組的總組數(shù),R2的取值在[0,1]內(nèi),且值越大預(yù)測(cè)值的擬合優(yōu)度越高。經(jīng)過(guò)反復(fù)實(shí)驗(yàn),將學(xué)習(xí)速率定為0.08進(jìn)行最終的模擬。訓(xùn)練集和測(cè)試集經(jīng)過(guò)模擬得到的絕對(duì)系數(shù)如表1和表2所示。
表1 波士頓房屋測(cè)試集的絕對(duì)系數(shù)Table 1 Absolute coefficient of Boston housing testing dataset
表2 波士頓房屋訓(xùn)練集的絕對(duì)系數(shù)Table 2 Absolute coefficient of Boston housing training dataset
由表1和表2可知,無(wú)論是整數(shù)階還是分?jǐn)?shù)階的模型,非因果BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值的擬合優(yōu)度最高;對(duì)于因果、反因果和非因果BP預(yù)測(cè)模型,總能找到一個(gè)或多個(gè)分?jǐn)?shù)階的預(yù)測(cè)結(jié)果比1階的好??偟膩?lái)說(shuō),對(duì)于波士頓房屋數(shù)據(jù)集,分?jǐn)?shù)階非因果BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值的可靠性最高。
MNIST數(shù)據(jù)集來(lái)自美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所,是機(jī)器學(xué)習(xí)領(lǐng)域中非常經(jīng)典的一個(gè)數(shù)據(jù)集。其中的每張圖片由28×28個(gè)像素點(diǎn)構(gòu)成,也可展開(kāi)為一個(gè)784×1的一維行向量,里面的每個(gè)元素都是(0,255)里的數(shù),代表了每個(gè)像素的灰度等級(jí)。該數(shù)據(jù)集包含了60 000個(gè)用于訓(xùn)練的示例和10 000個(gè)用于測(cè)試的示例。在這次模擬中,這60 000個(gè)訓(xùn)練示例組成了測(cè)試集,10 000個(gè)測(cè)試示例組成了測(cè)試集[15]。
BP神經(jīng)網(wǎng)絡(luò)有一個(gè)隱含層,隱含層神經(jīng)元的數(shù)量取HidNodes=50,100,150,200,其網(wǎng)絡(luò)結(jié)構(gòu)為784×{50,100,150,200}×10。本文選取的階數(shù)依然為α=1/9,2/9,…,8/9和1。網(wǎng)絡(luò)中的學(xué)習(xí)速率是一個(gè)重要的參數(shù),選取eta=1.5,2,3,4進(jìn)行比較選擇。最大迭代次數(shù)為5。每種網(wǎng)絡(luò)都要訓(xùn)練5次,取平均值得到最終的訓(xùn)練準(zhǔn)確率和測(cè)試準(zhǔn)確率。
3.2.1 整數(shù)階BP算法的比較分析
本小節(jié)分別用1階因果、反因果和非因果BP算法對(duì)訓(xùn)練集和測(cè)試集進(jìn)行處理,結(jié)果如圖1所示。圖1顯示在同一個(gè)學(xué)習(xí)速率下,非因果的曲線(xiàn)一直是最高的??梢?jiàn)整數(shù)階非因果模型比整數(shù)階因果,反因果的更好。
3.2.2 分?jǐn)?shù)階BP算法的比較分析
因果BP神經(jīng)網(wǎng)絡(luò)的模擬結(jié)果如圖2所示:在相同的HidNodes值下,從每個(gè)子圖的最高點(diǎn)的準(zhǔn)確率可知:測(cè)試集和訓(xùn)練集的準(zhǔn)確率都隨著學(xué)習(xí)速率的增大而提高;當(dāng)α=8/9時(shí)準(zhǔn)確率最高;當(dāng)隱含層神經(jīng)元數(shù)HidNode從50到100時(shí)準(zhǔn)確率變高,但到150之后就變低??傊瑢?duì)于因果BP神經(jīng)網(wǎng)絡(luò),分?jǐn)?shù)階的模型比整數(shù)階的好,且較合適的參數(shù)為α=8/9,HidNodes=100,eta=4。由圖3可知,反因果模型的最高準(zhǔn)確率基本出現(xiàn)在α=8/9的時(shí)候,且其較合適的HidNodes值和學(xué)習(xí)速率與因果模型的相同。
從圖4可見(jiàn),非因果BP神經(jīng)網(wǎng)絡(luò)模型的圖像與因果、反因果的基本相反:當(dāng)α=8/9時(shí),非因果的準(zhǔn)確率最低;當(dāng)α=2/9時(shí),準(zhǔn)確率最高。此外,對(duì)于非因果模型較合適的HidNodes值為150,學(xué)習(xí)速率為3。
總的來(lái)說(shuō),無(wú)論是因果、反因果還是非因果模型,分?jǐn)?shù)階的模擬結(jié)果比其對(duì)應(yīng)的整數(shù)階的好。
3.2.3 分?jǐn)?shù)階與傳統(tǒng)BP算法的比較分析
圖1 整數(shù)階BP神經(jīng)網(wǎng)絡(luò)結(jié)果對(duì)比圖Fig.1 Comparison between integer-order BP algorithms
圖2 因果BP神經(jīng)網(wǎng)絡(luò)結(jié)果對(duì)比圖Fig.2 Comparison between causal BP algorithms
圖3 反因果BP神經(jīng)網(wǎng)絡(luò)結(jié)果對(duì)比圖Fig.3 Comparison between anti-causal BP algorithms
圖4 非因果BP神經(jīng)網(wǎng)絡(luò)結(jié)果對(duì)比圖Fig.4 Comparison between non-causal BP algorithms
已知因果和反因果BP神經(jīng)網(wǎng)絡(luò)算法的較合適的參數(shù)為eta=4,HidNodes=100,α=8/9。傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)和分?jǐn)?shù)階因果、反因果、非因果BP神經(jīng)網(wǎng)絡(luò)在這些取值下的模擬結(jié)果如圖5所示。由圖5可知,分?jǐn)?shù)階模型的曲線(xiàn)都比傳統(tǒng)的高,尤其是分?jǐn)?shù)階非因果模型。這證明了分?jǐn)?shù)階因果、反因果和非因果微積分都對(duì)BP神經(jīng)網(wǎng)絡(luò)有優(yōu)化作用,其中分?jǐn)?shù)階非因果微積分的優(yōu)化作用最好。
圖5 分?jǐn)?shù)階與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)結(jié)果對(duì)比圖Fig.5 Comparison between traditional and fractional-order BP algorithms
本文在分?jǐn)?shù)階對(duì)BP神經(jīng)網(wǎng)絡(luò)具有優(yōu)化效果的基礎(chǔ)上,進(jìn)一步提出了分?jǐn)?shù)階非因果微積分對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化的想法。結(jié)合1階因果和反因果的概念推導(dǎo)出了反因果Caputo分?jǐn)?shù)階微積分,并由分?jǐn)?shù)階非因果微積分的定義得出Caouto非因果微積分。此外,將一階和Caputo分?jǐn)?shù)階因果、反因果、非因果微積分分別應(yīng)用到BP神經(jīng)網(wǎng)絡(luò)的反向傳播過(guò)程中,從而產(chǎn)生了新的BP算法。為了驗(yàn)證分?jǐn)?shù)階非因果模型是這些模型中準(zhǔn)確性最高的,分別用這些模型對(duì)波士頓房屋數(shù)據(jù)集和MNIST數(shù)據(jù)集進(jìn)行模擬。模擬的結(jié)果和本文預(yù)想的一樣:分?jǐn)?shù)階的結(jié)果比整數(shù)階的好;非因果模型的預(yù)測(cè)擬合度和分類(lèi)準(zhǔn)確率都比因果和反因果的高??傊?jǐn)?shù)階非因果BP算法對(duì)于預(yù)測(cè)和分類(lèi)識(shí)別都有更高的準(zhǔn)確性。本文驗(yàn)證了分?jǐn)?shù)階非因果微積分與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的可行性,在神經(jīng)網(wǎng)絡(luò)優(yōu)化的研究上有很好的前景。