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