周 俊 (長(zhǎng)江大學(xué)信息與數(shù)學(xué)學(xué)院,湖北 荊州 434023)
神經(jīng)網(wǎng)絡(luò)在函數(shù)逼近中的應(yīng)用
周 俊 (長(zhǎng)江大學(xué)信息與數(shù)學(xué)學(xué)院,湖北 荊州 434023)
基于神經(jīng)網(wǎng)絡(luò),通過(guò)采集樣本數(shù)據(jù)研究了函數(shù)逼近問(wèn)題,并就神經(jīng)網(wǎng)絡(luò)性能指標(biāo)在該函數(shù)逼近過(guò)程中的影響進(jìn)行了分析。研究結(jié)果表明,在大量合理的輸入輸出數(shù)據(jù)存在時(shí),神經(jīng)網(wǎng)絡(luò)可以對(duì)未知函數(shù)進(jìn)行無(wú)限的逼近。
神經(jīng)網(wǎng)絡(luò);函數(shù)逼近;收斂性
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neutral Networks,ANN)是由大量處理單元互聯(lián)組成的非線性、自適應(yīng)信息處理系統(tǒng)[1]。人工神經(jīng)網(wǎng)絡(luò)通過(guò)樣本的自學(xué)習(xí),可記憶客觀事物在空間、時(shí)間方面比較復(fù)雜的關(guān)系,非常適合于解決模式識(shí)別、優(yōu)化組合、函數(shù)逼近等問(wèn)題[2]。
在現(xiàn)實(shí)中,由于很多過(guò)程通常都無(wú)法以數(shù)學(xué)表達(dá)式的形式直觀地給出其數(shù)學(xué)模型,從而影響對(duì)其進(jìn)一步的認(rèn)識(shí)和操作。但是,在此類過(guò)程中通常都具有很多歷史或經(jīng)驗(yàn)數(shù)據(jù),如何有效的提取出數(shù)據(jù)中潛在的規(guī)律就顯得尤為重要。人工神經(jīng)網(wǎng)絡(luò)由于具有很強(qiáng)的映射能力,通過(guò)樣本不斷學(xué)習(xí)可以實(shí)現(xiàn)對(duì)未知函數(shù)(或數(shù)學(xué)模型)的逼近,進(jìn)而建立起系統(tǒng)的黑箱模型。只要樣本足夠多且合理,得到的黑箱模型足以描述過(guò)程的特征,進(jìn)而有利于模型的預(yù)測(cè)、優(yōu)化等研究。下面,筆者以一個(gè)具體的實(shí)例采用人工神經(jīng)網(wǎng)絡(luò)研究了函數(shù)逼近問(wèn)題,并就其網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)的設(shè)計(jì)對(duì)學(xué)習(xí)收斂的影響作了分析。
圖1 正弦函數(shù)逼近流程圖
BP神經(jīng)網(wǎng)絡(luò)屬于典型的3層前饋人工神經(jīng)網(wǎng)絡(luò),學(xué)習(xí)過(guò)程由輸入信號(hào)的正向傳播和誤差信號(hào)的反向傳播2個(gè)過(guò)程組成[3]。應(yīng)用BP神經(jīng)網(wǎng)絡(luò)的關(guān)鍵在于網(wǎng)絡(luò)的結(jié)構(gòu)與參數(shù)的設(shè)計(jì)上,在網(wǎng)絡(luò)設(shè)計(jì)過(guò)程中,涉及到較多參數(shù)的確定, 例如訓(xùn)練樣本集的構(gòu)造、網(wǎng)絡(luò)的層數(shù);每層的神經(jīng)元節(jié)點(diǎn)數(shù);初始值的選??;學(xué)習(xí)速率的確定。最重要的還有訓(xùn)練算法的選定或改進(jìn),因?yàn)锽P網(wǎng)絡(luò)設(shè)計(jì)的最大特點(diǎn)就是網(wǎng)絡(luò)的權(quán)值是通過(guò)使網(wǎng)絡(luò)輸出與樣本輸出之間的誤差平方和達(dá)到期望值而不斷調(diào)整網(wǎng)絡(luò)的權(quán)值訓(xùn)練出來(lái)的[4]。BP網(wǎng)絡(luò)的設(shè)計(jì)過(guò)程是一個(gè)參數(shù)不斷調(diào)整的過(guò)程,這意味著是一個(gè)不斷對(duì)比結(jié)果的過(guò)程。
下面采用BP神經(jīng)網(wǎng)絡(luò)研究正弦函數(shù):
y=sinx
的逼近問(wèn)題。
基于BP算法的原理,筆者通過(guò)在MATLAB[5,6]中編寫程序,利用樣本實(shí)現(xiàn)了上述正弦函數(shù)的逼近。程序框圖如圖1所示。
輸入節(jié)點(diǎn)和輸出節(jié)點(diǎn)數(shù)均為1,目標(biāo)誤差為0.0001,最大迭代步數(shù)為8000,學(xué)習(xí)率為0.05,樣本集由自變量在[0,2π]中等間隔取45個(gè)數(shù)據(jù)點(diǎn)構(gòu)成。
2.1樣本選取方式對(duì)收斂性的影響
選擇隱節(jié)點(diǎn)個(gè)數(shù)為6,若順序選取訓(xùn)練樣本,此時(shí)的迭代步數(shù)epoch=4899,相應(yīng)函數(shù)逼近曲線及訓(xùn)練誤差曲線依次如圖2(a)和3(a)所示。隨機(jī)選取訓(xùn)練樣本,此時(shí)的迭代步數(shù)epoch=4761,相應(yīng)函數(shù)逼近曲線及訓(xùn)練誤差曲線如圖2(b)和圖3(b)所示。
圖2 不同樣本選取方式的函數(shù)逼近曲線
圖3 不同樣本選取方式的訓(xùn)練誤差曲線
從圖2,3可知,樣本選取方式的不同對(duì)收斂速度的影響不大,但對(duì)逼近效果卻有較大影響。盡管目標(biāo)誤差一樣,但隨機(jī)選取樣本訓(xùn)練時(shí)的逼近效果明顯好于順序選取樣本時(shí)的效果,這是因?yàn)殡S機(jī)選取樣本訓(xùn)練時(shí),誤差分布要均勻許多。
2.2隱節(jié)點(diǎn)個(gè)數(shù)對(duì)收斂性的影響
選擇隱節(jié)點(diǎn)個(gè)數(shù)為2,此時(shí)迭代步數(shù)epoch=8000(為最大迭代步數(shù)),相應(yīng)函數(shù)逼近曲線及訓(xùn)練誤差曲線如圖4(a)和圖5(a)所示;選擇隱節(jié)點(diǎn)個(gè)數(shù)為5,此時(shí)的迭代步數(shù)epoch=3952,近曲線及訓(xùn)練誤差曲線如圖4(b)和圖5(b)所示;若是選擇隱節(jié)點(diǎn)個(gè)數(shù)為10,此時(shí)的迭代步數(shù)epoch=7541,逼近曲線及訓(xùn)練誤差曲線如圖4(c)和圖5(c)所示。
由圖4,5可以看到,當(dāng)隱節(jié)點(diǎn)數(shù)量太少時(shí),網(wǎng)絡(luò)從樣本中獲取的信息能力差,不足以概括和體現(xiàn)訓(xùn)練集中的樣本規(guī)律,而且擬合效果也差;隱節(jié)點(diǎn)數(shù)量過(guò)多,又可能把樣本中非規(guī)律性的內(nèi)容(如噪聲等)記牢,從而出現(xiàn)“過(guò)擬合”問(wèn)題,反而降低了泛化能力。此外,隱節(jié)點(diǎn)數(shù)太多還會(huì)增加訓(xùn)練時(shí)間。因此,確定最佳隱節(jié)點(diǎn)數(shù)的方法如下:先設(shè)置較小的隱節(jié)點(diǎn)訓(xùn)練網(wǎng)絡(luò),然后逐漸增加隱節(jié)點(diǎn)數(shù),直至滿足性能要求。
圖4 不同隱節(jié)點(diǎn)數(shù)的函數(shù)逼近曲線
圖5 不同隱節(jié)點(diǎn)數(shù)的訓(xùn)練誤差曲線
對(duì)于函數(shù)的逼近問(wèn)題,筆者通過(guò)樣本數(shù)據(jù)采用BP人工神經(jīng)網(wǎng)絡(luò)給出了很好的逼近效果,并就BP神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)過(guò)程中的樣本集構(gòu)造和隱節(jié)點(diǎn)個(gè)數(shù)的選取對(duì)收斂性的影響做了對(duì)比和分析。結(jié)果表明,隨機(jī)選取樣本訓(xùn)練時(shí),由于學(xué)習(xí)誤差比較均勻,逼近效果較順序選取時(shí)要好;對(duì)于隱節(jié)點(diǎn)數(shù),當(dāng)其數(shù)量太少時(shí),網(wǎng)絡(luò)權(quán)值減少,提取樣本數(shù)據(jù)規(guī)律的能力較差;隱節(jié)點(diǎn)數(shù)量過(guò)多時(shí),就導(dǎo)致訓(xùn)練過(guò)度,從而降低了泛化能力,因而一般采用試湊法得出合理的隱節(jié)點(diǎn)數(shù)??偟膩?lái)說(shuō),在合理設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,神經(jīng)網(wǎng)絡(luò)對(duì)解決函數(shù)逼近問(wèn)題是可行且高效的。
[1]Jain A K.Jianchang Mao and Mohiuddin,K M Artificial neural networks: a tutorial[J]. Journal of Computer,1996, 29(3):31~44.
[2]Simon Haykin.神經(jīng)網(wǎng)絡(luò)原理[M].葉世偉, 史忠植 譯.北京:機(jī)械工業(yè)出版社,2004.
[3]Wang Yunsong.A BP algorithm of training neural networks based on solutions for a nonlinear least mean square problem[J].Journal of Shandong University of Technology,2004,18(6):24~30.
[4]叢爽,向微.BP網(wǎng)絡(luò)結(jié)構(gòu)、參數(shù)及訓(xùn)練方法的設(shè)計(jì)與選擇[J].計(jì)算機(jī)工程,2001,27(10):36~38.
[5]羅成漢.基于MATLAB神經(jīng)網(wǎng)絡(luò)工具箱的BP網(wǎng)絡(luò)實(shí)現(xiàn)[J].計(jì)算機(jī)仿真,2004,21(5):109~111.
[6]劉浩,白振興.BP網(wǎng)絡(luò)的MATLAB實(shí)現(xiàn)及應(yīng)用研究[J].現(xiàn)代電子技術(shù),2006,(2):49~51.
[編輯] 洪云飛
O241.5
A
1673-1409(2009)02-N004-03
2009-01-25
國(guó)家自然科學(xué)基金(40572078/D0206);石油科技中青年創(chuàng)新基金(2002f70104);教育部重點(diǎn)實(shí)驗(yàn)室開放基金項(xiàng)目 (K200609);湖北省教育廳(A類)重點(diǎn)項(xiàng)目(D200512001);湖北省教學(xué)研究項(xiàng)目(20070233);長(zhǎng)江大學(xué)重點(diǎn)課程資助項(xiàng)目。
周俊(1975-),男,1997年大學(xué)畢業(yè),碩士,講師,現(xiàn)主要從事最優(yōu)化理論和算法方面的研究工作。