楊文光,鐘云香,李強(qiáng)麗,張 軍
(1.華北科技學(xué)院基礎(chǔ)部,河北 三河 065201;2. 華北科技學(xué)院科技管理處,河北 三河 065201)
目前,前饋型神經(jīng)網(wǎng)絡(luò)是應(yīng)用最為廣泛,研究最為成熟的一種人工神經(jīng)網(wǎng)絡(luò)模型,該類型神經(jīng)網(wǎng)絡(luò)包括感知器、BP神經(jīng)網(wǎng)絡(luò)、徑向基函數(shù)(RBF)神經(jīng)網(wǎng)絡(luò)等。由于這種神經(jīng)網(wǎng)絡(luò)具有較好的收斂速度、構(gòu)造相對(duì)簡(jiǎn)單,且能夠較好的逼近未知目標(biāo)函數(shù),而在模式識(shí)別、系統(tǒng)辨識(shí)、信號(hào)處理和控制等學(xué)科領(lǐng)域有大量的應(yīng)用[1-3]。隨著處理問(wèn)題復(fù)雜程度的加大和非線性因素的增多,解決多輸入單輸出系統(tǒng)的高精度建模問(wèn)題日漸成為研究的熱點(diǎn),文[4-6]對(duì)傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了改進(jìn),推導(dǎo)得到了權(quán)值直接確定算法,該算法極大簡(jiǎn)化了網(wǎng)絡(luò)的設(shè)計(jì)和運(yùn)行時(shí)間。文[7]充分考慮訓(xùn)練數(shù)據(jù)的重要程度的不同,將模糊數(shù)學(xué)中隸屬函數(shù)與激勵(lì)函數(shù)進(jìn)行了有機(jī)結(jié)合,在權(quán)值直接確定法基礎(chǔ)上,解決了雙輸入單輸出系統(tǒng)的簡(jiǎn)單化結(jié)構(gòu)確定問(wèn)題。此外,文[8-11]從理論上對(duì)前饋型神經(jīng)網(wǎng)絡(luò)進(jìn)行了探討,豐富了網(wǎng)絡(luò)的構(gòu)造方法。
本文依據(jù)函數(shù)逼近理論,將乘積型樣條函數(shù)引入到雙輸入樣條神經(jīng)網(wǎng)絡(luò)的構(gòu)建中,在網(wǎng)絡(luò)建立過(guò)程中,緊密結(jié)合輸入變量的網(wǎng)絡(luò)結(jié)構(gòu),實(shí)現(xiàn)由單輸入到雙輸入結(jié)構(gòu)的過(guò)渡,得到三層前饋型神經(jīng)網(wǎng)絡(luò),解決大數(shù)量訓(xùn)練數(shù)據(jù)下的權(quán)值矩陣的直接確定問(wèn)題。該網(wǎng)絡(luò)充分考慮到了輸入數(shù)據(jù)的空間結(jié)構(gòu),可以設(shè)計(jì)算法升級(jí)到多輸入系統(tǒng)的建模中去,最后結(jié)合仿真實(shí)驗(yàn),進(jìn)一步說(shuō)明算法的有效性。
文[12]利用樣條函數(shù)巧妙構(gòu)造了隱層神經(jīng)元激勵(lì)函數(shù),設(shè)計(jì)出了權(quán)值直接確定的樣條神經(jīng)網(wǎng)絡(luò),解決了單輸入單輸出系統(tǒng)的建模與預(yù)測(cè)問(wèn)題,但該模型卻沒(méi)有解決多輸入多輸出系統(tǒng)的建模與預(yù)測(cè)問(wèn)題。在筆者前期研究工作基礎(chǔ)上[7],下面設(shè)計(jì)一種雙輸入單輸出的樣條前向神經(jīng)網(wǎng)絡(luò),該模型含有輸入層、隱層、輸出層三層,見(jiàn)圖1。
圖1 雙輸入三層前饋神經(jīng)網(wǎng)絡(luò)
類似于RBF神經(jīng)網(wǎng)絡(luò),設(shè)定輸入層神經(jīng)元到隱層神經(jīng)元連接權(quán)值全部為1,隱層神經(jīng)元到輸出層神經(jīng)元連接權(quán)值向量為w= (w0,w1,…,wn+2)T∈Rn+3,輸出層為隱層輸出的線性加權(quán)求和,則與圖1吻合的三層樣條前向神經(jīng)網(wǎng)絡(luò)模型為
(1)
其中γi(x,y)為隱層第i個(gè)神經(jīng)元的激勵(lì)函數(shù)輸出,不同于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)隱層神經(jīng)元選擇為Sigomoid函數(shù),設(shè)γ=(γ0(x,y),γ1(x,y),…,γn+2(x,y))∈R1×(n+3),在式(1)中γi(x,y)選擇為樣條函數(shù)的適當(dāng)組合,i=0,1,…,n+2。
定義1[13]設(shè)α(x)是定義在區(qū)間[a,b]上的函數(shù),在[a,b]上有一個(gè)劃分△x:
a=x0 α(x)滿足如下條件: (i)α(x)在每個(gè)子區(qū)間△xi=[xi-1,xi](i=1,2,…,n)上都是不超過(guò)3次的多項(xiàng)式,至少在一個(gè)子區(qū)間上為3次的多項(xiàng)式; (ii)α(x)是2次連續(xù),即α(x)∈C2[a,b],則稱α(x)是關(guān)于劃分△x的一個(gè)3次樣條函數(shù)。 同樣假定在下面討論的β(y)是定義在區(qū)間[c,d]上關(guān)于劃分△y上的一個(gè)3次樣條函數(shù),其中△y: c=y0 注1 下面選擇的[c,d]分劃數(shù)與[a,b]分劃數(shù)不同,當(dāng)然亦可以相同,二者的分劃是任意的,可以是等距劃分也可以是非等距劃分。 i=1,2,…,n-1 i=1,2,…,n-1 (2) 這種改寫(xiě)使得原點(diǎn)成為間斷點(diǎn),但卻帶來(lái)了線性無(wú)關(guān),作為一組函數(shù)系用于構(gòu)造激勵(lì)函數(shù)卻帶來(lái)便利。 i=1,2,…,n-1 (3) 設(shè)區(qū)間[a,b]劃分?jǐn)?shù)為n+1,[c,d]分劃數(shù)為n+3且數(shù)據(jù)無(wú)缺失的情況下,輸入平面[a,b]×[c,d]上面就存在(n+1)×(n+3)個(gè)輸入數(shù)據(jù)點(diǎn),三維空間也就存在(n+1)×(n+3)個(gè)點(diǎn),具體取值見(jiàn)表1。 表1 雙輸入單輸出系統(tǒng)采樣數(shù)據(jù) 對(duì)輸入數(shù)據(jù)進(jìn)行網(wǎng)格化后,可以先固定x,對(duì)y依次設(shè)計(jì)三次樣條神經(jīng)網(wǎng)絡(luò),或者先固定y,對(duì)x依次設(shè)計(jì)三次樣條神經(jīng)網(wǎng)絡(luò),然后再將網(wǎng)絡(luò)推廣到二元即得二元雙三次樣條神經(jīng)網(wǎng)絡(luò),具體操作如下: 比如先固定x,若x=xi,y∈[c,d],可以自由取值,對(duì)一些符號(hào)進(jìn)行簡(jiǎn)記,令γxi=(γ0(xi,y),γ1(xi,y),…,γn+2(xi,y))∈R1×(n+3),wyj= (w0j,w1j,…,wn+2,j)T∈Rn+3,當(dāng)y=yj或者(x,y)∈δ(xi,yj)時(shí),式⑴不難改寫(xiě)為 (4) 其中δ(xi,yj)表示以點(diǎn)(xi,yj)為中心的半徑為δ的鄰域,而δ又是到點(diǎn)(x,y)的最小距離,i=0,1,…,n,j=0,1,…,n+2。本文設(shè)計(jì)的雙三次樣條神經(jīng)網(wǎng)絡(luò)就是在式(4)基礎(chǔ)上,完成所有網(wǎng)格化后采樣數(shù)據(jù)的輸入,下面將依據(jù)權(quán)值直接確定法和函數(shù)逼近理論,使得網(wǎng)絡(luò)輸出較好的逼近真實(shí)系統(tǒng)輸出,滿足如下條件 ?ε>0,使得‖zij-f(xi,yj)‖<ε 表1所給出的網(wǎng)格化的采樣數(shù)據(jù)確定了系統(tǒng)內(nèi)部的函數(shù)關(guān)系,如何有效利用采樣數(shù)據(jù)還原系統(tǒng)真實(shí)信息成為研究多輸入復(fù)雜系統(tǒng)的熱門(mén)問(wèn)題。鑒于前向神經(jīng)網(wǎng)絡(luò)確立原則,需要使用訓(xùn)練數(shù)據(jù)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,使其達(dá)到預(yù)期的逼近精度。考慮到系統(tǒng)的建立需要大量的訓(xùn)練數(shù)據(jù),現(xiàn)將已經(jīng)網(wǎng)格化的表1所列數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),在表1的網(wǎng)格外側(cè)隨機(jī)抽取若干真實(shí)數(shù)據(jù)作為驗(yàn)證數(shù)據(jù)。下面建立依據(jù)雙輸入樣條神經(jīng)網(wǎng)絡(luò)的權(quán)值直接確定算法,并設(shè)計(jì)滿足誤差要求的網(wǎng)絡(luò)結(jié)構(gòu)確定算法。 為了更好地說(shuō)明雙輸入樣條神經(jīng)網(wǎng)絡(luò)的權(quán)值直接確定算法,下面給出相關(guān)的定義和理論依據(jù)。 定義2[16]設(shè)實(shí)矩陣X∈Rn×m,如果U∈Rm×n,滿足XUX=X,UXU=U,(XU)T=XU,(UX)T=UX,則稱U為X的Moore-Penrose廣義逆矩陣或偽逆,記作X+。 定義4[11,17]設(shè)G?C(Ω)是一個(gè)代數(shù),φ(P)∈C(Ω),若?ε>0,且?P1,P2∈Ω,均可以找到一個(gè)逼近函數(shù)f(x,y)∈Ω,使得 |φ(Pi)-f(Pi)|<ε,i=1,2 那么稱目標(biāo)函數(shù)φ可用G中元素一致逼近,其中|·|表示標(biāo)量的絕對(duì)值。 引理2[11,17]設(shè)x,y∈R,φ(x,y)是定義在Ω?R2上的連續(xù)目標(biāo)函數(shù),則φ(x,y)在Ω?R2上可用關(guān)于x,y的多項(xiàng)式f(x,y)∈Ω進(jìn)行逼近。 文[12]在前向神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上變換隱層神經(jīng)元激勵(lì)函數(shù),利用偽逆得到了相應(yīng)網(wǎng)絡(luò)結(jié)構(gòu)的最優(yōu)權(quán)值,對(duì)于單輸入單輸出未知系統(tǒng),存在文[12]設(shè)計(jì)的單輸入單輸出樣條神經(jīng)網(wǎng)絡(luò)可以實(shí)現(xiàn)未知系統(tǒng)的最小二乘逼近,同樣對(duì)于雙輸入單輸出未知系統(tǒng),亦可以設(shè)計(jì)出式(4)對(duì)應(yīng)下的網(wǎng)格化下的雙輸入單輸出樣條神經(jīng)網(wǎng)絡(luò),隨著某個(gè)變量如x的變化下最終實(shí)現(xiàn)二元雙輸入樣條神經(jīng)網(wǎng)絡(luò)的逼近,由誤差反向傳播學(xué)習(xí)算法亦可得如下權(quán)值直接確定定理。 定理3 按照式(4)建立的雙輸入樣條神經(jīng)網(wǎng)絡(luò)在輸入訓(xùn)練數(shù)據(jù)集為A= ((x0,y0,z00),(x0,y1,z01),…,(xn,yn+2,zn,n+2))時(shí),設(shè)wopt∈R(n+3)×(n+1)是隱層與輸出層神經(jīng)元之間的最優(yōu)連接權(quán)值矩陣,輸入受激勵(lì)矩陣X∈R(n+1)×(n+3),目標(biāo)輸出矩陣Z∈R(n+1)×(n+3),則雙輸入樣條神經(jīng)網(wǎng)絡(luò)的最優(yōu)權(quán)值矩陣為 wopt=(XTX)-1XTZ=X+Z (5) 其中 ∈R(n+1)×(n+3) 證明定義訓(xùn)練數(shù)據(jù)總誤差為 (6) 首先總誤差對(duì)權(quán)值矩陣求偏導(dǎo),不難計(jì)算得到 XT(Xw(k)-Z) 利用誤差反向傳播學(xué)習(xí)BP算法,計(jì)算最優(yōu)權(quán)值矩陣wopt,權(quán)值矩陣的迭代公式為 w(k+1)=w(k)-ηXT(Xw(k)-Z) (7) 對(duì)式(7)兩邊求極限得最優(yōu)權(quán)值矩陣wopt=(XTX)-1XTZ=X+Z,學(xué)習(xí)率η取為1。 雙輸入樣條神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)較之單輸入樣條神經(jīng)網(wǎng)絡(luò)要復(fù)雜,需要對(duì)改寫(xiě)后的截?cái)鄡绾瘮?shù)和權(quán)值直接確定最優(yōu)權(quán)值矩陣有清楚的認(rèn)識(shí)。為了滿足建模精度要求,設(shè)置總誤差要求為ε,假設(shè)在下面的實(shí)驗(yàn)中對(duì)變量x,y所在的取值區(qū)間[a,b]與[c,d]進(jìn)行等距劃分,[a,b]劃分?jǐn)?shù)為n,[c,d] 劃分?jǐn)?shù)為n+2,設(shè)隱層神經(jīng)元個(gè)數(shù)為n+3,訓(xùn)練數(shù)據(jù)總數(shù)為(n+1)×(n+3),這里的n可以按照ε的設(shè)置進(jìn)行增加或減少,以滿足誤差要求,具體實(shí)現(xiàn)步驟如下。 步驟1 根據(jù)區(qū)間[a,b]與[c,d]的劃分?jǐn)?shù),對(duì)輸入變量進(jìn)行網(wǎng)格化劃分,生成輸出矩陣Z,提取訓(xùn)練數(shù)據(jù)得到真實(shí)模型; 步驟2 計(jì)算輸入受激勵(lì)矩陣X,調(diào)用MATLAB中的pinv(X)得到偽逆X+,按照公式⑸計(jì)算與步驟1對(duì)應(yīng)劃分下的最優(yōu)權(quán)值矩陣wopt; 步驟3 由公式⑹計(jì)算總誤差e,若e≤ε,則記錄下劃分?jǐn)?shù)n,否則令n+1→n,跳至步驟1; 步驟4 若在獲得盡可能多的訓(xùn)練數(shù)據(jù)情況下保證建模精度,則繼續(xù)增大n,執(zhí)行步驟1、2,直到最大的循環(huán)次數(shù)c,記錄每次的總誤差e,在保證建模精度的情況下,即滿足ε要求下尋找最大的劃分?jǐn)?shù)nmax; 步驟5 確定隱層神經(jīng)元個(gè)數(shù),亦即確定網(wǎng)絡(luò)結(jié)構(gòu),若驗(yàn)證數(shù)據(jù)落在區(qū)域[a,b]×[c,d]內(nèi),可以直接對(duì)驗(yàn)證數(shù)據(jù)所在鄰域的頂點(diǎn)輸出求均值來(lái)確定輸出,預(yù)測(cè)誤差較小;若驗(yàn)證數(shù)據(jù)落在區(qū)域[a,b]×[c,d]外,則需采用公式⑷進(jìn)行網(wǎng)絡(luò)近似預(yù)測(cè),誤差相對(duì)大些。 下面選擇文[4]中出現(xiàn)的二元函數(shù)作為真實(shí)模型,給出逼近模型,并比較一些統(tǒng)計(jì)參數(shù),如算法運(yùn)行時(shí)間、總誤差、隱層神經(jīng)元個(gè)數(shù)等。本文實(shí)驗(yàn)的硬件電腦為方正臺(tái)式機(jī)配置是Pentium(R) Dual-Core CPU E5200 @ 2.5GHZ,內(nèi)存為2.00G,32位操作系統(tǒng)。輸入變量x∈[-1,1],y∈[-1,1],給定初始區(qū)間劃分?jǐn)?shù)n=5,總誤差初始要求ε=10-23,設(shè)定的循環(huán)次數(shù)為c=50次,利用MATLAB7.5.0(R2007b)對(duì)目標(biāo)函數(shù)1、2進(jìn)行了建模。對(duì)于目標(biāo)函數(shù)2,由于在取值區(qū)間內(nèi),可出現(xiàn)分母為0的情況,故給其分母加上一個(gè)非常小的數(shù),以避免出現(xiàn)無(wú)法建模的問(wèn)題。 目標(biāo)函數(shù)1:z=ysin(x+y)exp(-y2)+1 圖4 目標(biāo)函數(shù)2與逼近模型 圖5 逼近模型總誤差趨勢(shì)與平均誤差 較之文[4],本文提出的雙輸入樣條神經(jīng)網(wǎng)絡(luò)在較短時(shí)間內(nèi)取得了更好的仿真效果,建模的總誤差都在10-24以上的數(shù)量級(jí),逼近精度進(jìn)一步提高,網(wǎng)絡(luò)輸出數(shù)據(jù)與訓(xùn)練數(shù)據(jù)基本完全重合,運(yùn)行時(shí)間僅僅約0.2s~0.3s左右,具體參數(shù)指標(biāo)見(jiàn)表2。表2給出了目標(biāo)函數(shù)1、2網(wǎng)絡(luò)的訓(xùn)練時(shí)間,滿足精度要求的區(qū)間劃分?jǐn)?shù)nmax及其對(duì)應(yīng)的總誤差e,另外隨機(jī)給出了目標(biāo)函數(shù)1、2在區(qū)域[-1,1]×[-1,1]內(nèi)一組驗(yàn)證數(shù)據(jù)(-0.984,0.975)的驗(yàn)證數(shù)據(jù)相對(duì)誤差。 表2 網(wǎng)絡(luò)性能 對(duì)于多輸入單輸出系統(tǒng),采樣數(shù)據(jù)往往是以空間形式存在的,基于此本文提出了三層雙輸入單輸出的樣條神經(jīng)網(wǎng)絡(luò)建模方法。該網(wǎng)絡(luò)不同于現(xiàn)有多輸入網(wǎng)絡(luò)忽視數(shù)據(jù)空間結(jié)構(gòu)的現(xiàn)狀,實(shí)現(xiàn)了輸入變量的網(wǎng)格化劃分,網(wǎng)絡(luò)結(jié)構(gòu)可以隨訓(xùn)練數(shù)據(jù)和網(wǎng)格劃分?jǐn)?shù)的變化而進(jìn)行調(diào)整,網(wǎng)絡(luò)權(quán)值隨數(shù)據(jù)空間位置的改變而變化,生成的權(quán)值矩陣做到了一步直接確定。最后的仿真實(shí)驗(yàn)表明,雙輸入樣條神經(jīng)網(wǎng)絡(luò)具有較高的建模精度,這為后續(xù)研究多輸入神經(jīng)網(wǎng)絡(luò)解決復(fù)雜數(shù)據(jù)系統(tǒng)的實(shí)時(shí)性高精度建模與預(yù)測(cè)問(wèn)題提供了可借鑒的思路。 參考文獻(xiàn): [1]周輝仁,鄭丕諤. 四層BP神經(jīng)網(wǎng)絡(luò)的一種結(jié)構(gòu)設(shè)計(jì)方法及應(yīng)用[J]. 系統(tǒng)仿真學(xué)報(bào), 2008, 21(9): 2325-2333. [2]周春光,張冰,梁艷春,等. 模糊神經(jīng)網(wǎng)絡(luò)及其在時(shí)間序列分析中的應(yīng)用[J]. 軟件學(xué)報(bào), 1999,10(12):1304-1309. [3]沈謙,王濤,張德龍. 基于模糊前向神經(jīng)網(wǎng)絡(luò)的PVC識(shí)別方法[J]. 計(jì)算機(jī)工程與科學(xué), 2000, 22(6): 60-62. [4]張雨濃,勞穩(wěn)超,余曉填,等. 兩輸入冪激勵(lì)前向神經(jīng)網(wǎng)絡(luò)權(quán)值與結(jié)構(gòu)確定[J]. 計(jì)算機(jī)工程與應(yīng)用, 2012, 48(15): 102-106. [5]張雨濃,曲璐,陳俊維,等. 多輸入Sigmoid激勵(lì)函數(shù)神經(jīng)網(wǎng)絡(luò)權(quán)值與結(jié)構(gòu)確定法[J]. 計(jì)算機(jī)應(yīng)用研究, 2012, 29(11):4113-4151. [6]肖秀春,張雨濃,姜孝華. MISO多元廣義多項(xiàng)式神經(jīng)網(wǎng)絡(luò)及其權(quán)值直接求解[J]. 中山大學(xué)學(xué)報(bào):自然科學(xué)版, 2009,48(4):42-56. [7]楊文光,閆守峰,文小艷. 雙輸入型模糊前向神經(jīng)網(wǎng)絡(luò)的構(gòu)建[J]. 湖南師范大學(xué):自然科學(xué)學(xué)報(bào), 2013, 36(3): 33-38. [8]王建軍,徐宗本. 多元多項(xiàng)式函數(shù)的三層前向神經(jīng)網(wǎng)絡(luò)逼近方法[J]. 計(jì)算機(jī)學(xué)報(bào), 2009, 32(12): 2482-2488. [9]曹飛龍,張永全,潘星. 構(gòu)造前向神經(jīng)網(wǎng)絡(luò)逼近多項(xiàng)式函數(shù)[J]. 模式識(shí)別與人工智能, 2007, 20(3): 331-335. [10]曹飛龍,徐宗本. 多變?cè)芷诤瘮?shù)的神經(jīng)網(wǎng)絡(luò)逼近:逼近階估計(jì)[J]. 計(jì)算機(jī)學(xué)報(bào), 2001, 24(9): 903-908. [11]ZHANG Y N, WANG J. Recurrent neural networks for nonlinear output regulation [J]. Automatica, 2001, 37(8): 1161-1173. [12]張雨濃,楊逸文,肖秀春,等. 樣條神經(jīng)網(wǎng)絡(luò)的權(quán)值直接確定法[J]. 系統(tǒng)工程與電子技術(shù), 2009, 31(11): 2685-2688. [13]吳勃英,王德明. 數(shù)值分析原理[M]. 北京:科學(xué)出版社, 2007. [14]朱長(zhǎng)青. 雙三次樣條插值函數(shù)乘積型計(jì)算原理及其應(yīng)用[J]. 測(cè)繪工程, 1998, 7(2):17-21. [15]朱長(zhǎng)青. 數(shù)值計(jì)算方法及其應(yīng)用[M]. 北京:科學(xué)出版社, 2006. [16]史榮昌,魏豐. 矩陣分析[M]. 北京:北京理工大學(xué)出版社, 2010. [17]梁學(xué)章,李強(qiáng). 多元逼近理論[M]. 北京:國(guó)防工業(yè)出版社, 2005.2 雙輸入樣條神經(jīng)網(wǎng)絡(luò)權(quán)值與結(jié)構(gòu)確定算法
2.1 權(quán)值直接確定
2.2 權(quán)值直接確定算法和網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)
3 仿真實(shí)驗(yàn)
4 結(jié)束語(yǔ)