孫弋清

摘 要:在BP神經網絡的拓撲結構中,輸入節(jié)點和輸出節(jié)點個數的確定取決于問題本身,構建神經網絡的關鍵點就在于隱含層層數以及隱含層節(jié)點數的確定。如何合理的對網絡的結構進行設計以及隱含層節(jié)點數的設定至今沒有嚴格的理論指導,只能借助學者給出的經驗公式并進行多次試驗得以確定。針對該問題,提出了一種“進退法”算法可快速確定隱含層節(jié)點數的最優(yōu)解區(qū)間。運用Matlab進行仿真實驗,結果表明該算法在合理有效的基礎上極大地提高了網絡的運行效率。
關鍵詞:神經網絡;隱含層節(jié)點數;最優(yōu)解區(qū)間;進退法
中圖分類號:TB 文獻標識碼:A doi:10.19311/j.cnki.1672-3198.2018.35.091
0 引言
BP神經網絡(Back Propagation Neural Network)是由Rumelhart和McCelland在上世紀80年代中期首次提出的一種被廣泛應用的多層前饋神經網絡。該神經網絡在理論和性能方面已相當成熟,不僅具有較強的非線性映射能力而且具有柔性的網絡結構,網絡的隱含層層數、各層的節(jié)點數可根據具體情況任意設定,并且隨著結構的差異其性能也有所不同。但也正因如此,如何合理的對網絡的結構進行設計以及隱含層節(jié)點數的設定并沒有嚴格的理論指導。在BP神經網絡的拓撲結構中,輸入節(jié)點和輸出節(jié)點的數目取決于問題本身,最關鍵的就是對隱含層層數以及隱含層節(jié)點數的確定。
針對具體問題,不同的網絡結構直接影響著神經網絡的預測結果,若隱含層節(jié)點數目太少,所能獲取的信息太少,解決問題的依據少,預測精度必然降低;若隱含層節(jié)點數目太多,不僅會增加訓練所需時間,而且極容易導致過擬合問題,泛化能力差,預測精度也必然降低,因此快速合理選擇隱含層節(jié)點數對于BP神經網絡模型至關重要。
1 預備知識
1.1 BP神經網絡介紹
人工神經網絡是解決信息處理問題而建立的一種數學模型,之所以被稱為神經網絡是因為這類數學模型所應用的結構是一種類似大腦神經突觸的連接結構。人工神經網絡是對學習方法進行優(yōu)化的算法,主要基于數學和統計學理論建立而成,因此可以把神經網絡看作是數學統計學的一個實際應用。神經網絡可以在不揭示輸入與輸出變量的數學關系的基礎上,通過不斷學習輸入結構以及輸出結果,便可得到輸入模式和輸出模式之間的映射關系,因而優(yōu)勢明顯強于正式的邏輯學推理演算。隨著學者的不斷深入研究,現有的人工神經網絡已有很多分支,其中最為典型的就是BP神經網絡。BP神經網絡是一種多層的前饋神經網絡,它的學習算法是典型的誤差逆向傳播算法,這一算法使得網絡具有記憶和學習能力。在理論上,BP神經網絡能夠逼近任意的連續(xù)的非線性函數,而且其算法推導清楚,學習精度高,并且經訓練后的BP網絡,運行速度很快,可操作性強。
1.2 網絡結構
傳統BP神經網絡的網絡拓撲結構由三部分組成:第一部分為輸入層(Input layer),由若干個輸入節(jié)點組成,起到傳輸信號的作用;第二部分為隱含層(Hide layer),由若干個隱含層節(jié)點組成,主要負責信息變換,接收輸入節(jié)點的輸入與輸出節(jié)點的反饋,根據實際需要會被設計成一層或者兩層;第三部分為輸出層(Output layer),由若干輸出節(jié)點組成,接收隱含層節(jié)點的輸入并向外界輸出最終結果。各層神經節(jié)點分別與下一層神經節(jié)點全連接且不跨層連接,層內節(jié)點之間無連接。傳統BP神經網絡結構如圖1。
2 算法原理
2.1 隱層節(jié)點數確定的常用方法
在隱含層層數和節(jié)點數的選取方面,張德賢等人利用模糊等價關系分析的方法,估計隱含層神經元的個數;焦斌等人將現有經驗公式進行對比并在此基礎上進行改進;嚴鴻等人借助經驗公式確定取值范圍,在擴大的范圍內尋找最優(yōu)值確定隱含層神經元個數;夏克文等人提出黃金分割原理的優(yōu)化算法,確定隱含層節(jié)點數頻繁出現的區(qū)間;王云等人提出粗決策樹算法,利用決策規(guī)則的個數等于隱含層神經元個數來確定神經網絡的隱含層節(jié)點數;王嶸冰等人提出“ 三分法”算法結合暴力破解法確定隱含層神經元個數。
其中酒的成分種類13個,酒的類別屬性3個,因此設置輸入層節(jié)點為13,輸出層節(jié)點為3。為了消除指標間量綱的影響且確保網絡學習更穩(wěn)定,將原始數據進行歸一化處理:x1=(x-xmin)/(xmax-x),其中xmax為樣本中的最大值,xmin為樣本中的最小值,經過處理的數據均映射到[0,1]之間。在隱含層節(jié)點尋優(yōu)過程中,輸出層的傳輸函數為purelin,隱含層的傳輸函數為S型函數,訓練過程采用收斂速度快且有效避免陷入局部最小化的Levenberg-Marquardt算法,學習率設置為0.01,目標誤差為0.001。
(1)首先,我們將隱含層節(jié)點在整個區(qū)間內的所有網絡加以訓練,圖2為隱含層節(jié)點數為1-20時對應的網絡輸出誤差,由圖可見,隨著隱含層節(jié)點數的增加網絡輸出誤差大體呈現先減小后增大的趨勢,證明了“進退法”的理論基礎有效。
(2)下面按照本文提出優(yōu)化算法確定該模型的隱含層節(jié)點數。
在范圍[1,20]內首先設定初始點為x1=(b+a)/2=8,步長h0=(b-a)/4=4,則x2=12,因為y1 該結果與上圖結果吻合,均證明隱含層節(jié)點數為9的網絡誤差最小,精度最高,這表明本文的優(yōu)化算法有效且結果令人滿意,具有簡單高效的優(yōu)勢。 4 結束語 針對隱含層節(jié)點數的確定問題,提出了“進退法”方法,逐步逼近最佳的隱含層節(jié)點數。經檢驗,該算法切實可行,而且能起到節(jié)省成本、提升建模效率的功效。算法中既快速地鎖定了最優(yōu)解區(qū)間又驗證了最優(yōu)解為全局最小值而非局部最小值點。算法簡單實用,具有很好的應用價值。
參考文獻
[1]RUMELHART D E.Learning representation by back-propagating errors[J].Nature,1986,323(6088):533-536.
[2]BAHADIRE.Prediction of prospective mathematics teachersacademic success in entering graduate education by using back-propagation neural network[J].Journal of Educationand Training Studies,2016,4(5):113-122.
[3]AZGHADI S M R,BONYADI M R,SHAHHOSSEINI H.Gender classification based on feed forward back propagation neural network [C]//International conference on artificial intelligence & innovations:from theory to applications.[s.l.]:[s.n.],2007:299-304.
[4]周啟超.BP算法改進及在軟件成本估算中的應用[J].計算機技術與發(fā)展,2016,26(2):195-198.
[5]師梨,陳鐵軍.智能控制理論及應用[M].北京:清華大學出版社,2009:104-105.
[6]沈花玉,王兆霞,高成耀,等.BP神經網絡隱含層單元數的確定[J].天津理工大學學報,2008,24(5):13-15.
[7]張德賢.前向神經網絡合理隱含層結點個數估計[J].計算機工程與應用,2003,39(5):21-23.
[8]夏克文,李昌彪,沈鈞毅.前向神經網絡隱含層節(jié)點數的一種優(yōu)化算法[J].計算機科學,2005,32(10):143-145.
[9]田國鈺,黃海洋.神經網絡中隱含層的確定[J].信息技術,2010,(10):79-81.
[10]溫文.基于改進BP神經網絡的產品質量合格率預測研究[D].廣州:華南理工大學,2014,(4).