摘要:文章應用GMDH方法來確定BP神經網絡的輸入指標,對傳統的BP算法進行了改進,使得輸入指標的選擇能自動實現,減少了人為因素的干預。用改進后的BP神經網絡對四川省的工業經濟狀況進行了評價,計算結果表明,訓練后的神經網絡模型能準確對經濟狀況進行評價分類,從而實現對經濟的預警。
關鍵詞:人工神經網絡;BP算法;GMDH方法;經濟預警
一、 引言
BP神經網絡的輸入與輸出關系是一個高度非線性映射關系,如果輸入結點數為n,輸出結點數為m,則網絡是從n維歐氏空間到m維歐氏空間的映射,BP神經網絡的這個特性使它非常適合用于經濟預警。通過調整BP神經網絡中的連接權值以及網絡的規模,可以實現非線性分類等問題,提供良好的分類準確性。然而,一個神經網絡的信息處理功能和自身的拓撲結構有重要關系。為了加強神經網絡的適應和學習能力,優化網絡的拓撲結構是非常必要的。使用神經網絡做經濟預警也有一段時間了,但它們的主要缺點是輸入指標完全依據個人經驗定性篩選。指標少不能反映實際情況,太多又會增加網絡復雜度,因此,本文引入GMDH做指標篩選,以優化網絡的拓撲結構,增強其適應能力,提高預警的準確度。
二、 研究方法
1. 人工神經網絡方法原理。人工神經網絡(Artificial Neural Network,簡稱ANN)是對大腦系統的一階特性的一種描述,它可以采用電子線路或計算機程序來模擬生物體中神經網絡的某些結構和功能,簡單的說,它是一個數學模型,是人工智能研究的一種方法。
ANN是一種平行分散處理模式,其構建理念基于人類大腦神經運作的模擬,它除具有較好的模式識別能力(Pattern Recognition)外,還可以克服傳統統計方法的局限,因它具有容錯能力,對數據的分布要求不嚴格,具備處理資料遺漏或是錯誤的能力。ANN還具有學習能力,可隨時依據新準備的數據資料進行學習、訓練,調整其內部的儲存權重參數以對應多變的經濟環境。它通過“訓練”來解答問題:把同一系列的輸入因子和理想的輸出因子作為“樣本”,根據一定的算法對網絡進行足夠的訓練,使得人工神經網絡能夠學會包含在“解”中的基本原理。當訓練完成后,該模型便可以用來求解相似的問題。
1986年Rnmenhort提出的前饋網絡的誤差反傳算法BP(Back Propagation)被認為是最適用于模擬輸入、輸出的近似關系,它是在ANN中算法最成熟、應用最廣泛的一種。它通常由輸入層、輸出層和隱藏層組成,其信息處理分為前向傳播和后向學習兩步進行,網絡的學習是一種誤差從輸出層到輸入層向后傳播并修正數值的過程,其目的是使網絡的實際輸出逼近某個給定的期望輸出。理論上已經證明:具有偏差和至少一個S型隱含層加上一個線性輸出層的網絡能夠逼近任何有理函數。前向三層BP網絡的結構如圖1所示。
圖1前向三層BP網絡結構圖
BP人工神經網絡的算法步驟如下:(1)BP網絡的初始化,確定各層節點的個數,將各個權值和閾值的初始值設為比較小的隨機數;(2)輸入樣本和相應的輸出,對每一個樣本進行學習,即對每一個樣本數據進行步驟3到步驟5的過程;(3)根據輸入樣本算出實際的輸出及其隱含層神經元的輸出;(4)計算實際輸出與期望輸出之間的差值,計算輸出層的誤差和隱含層的誤差;(5)根據步驟4得出的誤差來更新輸入層—隱含層節點之間、隱含層—輸出層節點之間的連接權值;(6)求誤差函數E,判斷E是否收斂到給定的學習精度以內(E≤擬定誤差E),如果滿足,則學習結束,否則,轉向步驟2繼續進行。
2. GMDH方法原理。
(1)自組織建模的基本思想。最早的自組織數據挖掘思想GMDH(數據分組處理方法)是由烏克蘭科學院A·G·Ivakhnenko院士于1967年首次提出的。在統計建模中,模型的搜索在參數空間和結構空間上同時進行,有多種方法可以自動選擇模型,其中,在復雜度不斷增長的模型集合基礎上選出最優復雜度模型的方法值得關注,自組織建模方法利用完全的和不完全的歸納算法按這一途徑實現最優復雜度模型的自動選取。它使用演化(遺傳、變異和選擇)的原則,實現一個模型結構綜合和模型確認:模型從數據中自動產生出來,以最優傳遞函數網絡的形式,重復產生大量具有增長復雜度的競爭模型,進行相應的模型確認并留下最好的選擇,直到產生一個最優復雜度模型。
自組織建模算法以客觀的方式自動的實現以下步驟:①將觀測樣本數據分成訓練集和檢測集;②在每階段按不同的變量和增長的復雜度產生待選模型;③對于參數模型,在訓練集上估計未知參數;④在每階段利用檢測集的數據選出一些最好的模型;⑤當重復步驟②—④時,隨著進程的發展,模型的復雜度也增長。否則,選擇最終的最優復雜度模型。
(2)GMDH算法。參數GMDH算法是自組織數據挖掘最基本的算法,它包括三種主要類型:組合算法、多層算法和調和算法。它們的實現步驟包含兩個重要環節:利用內準則建立競爭模型(或稱中間候選模型),再用外準則(或稱選擇準則)選留這些模型。外準則是建模者對實際建模問題特定要求的數學描述,它們組成了一個外準則體系。
3. 應用GMDH算法對BP神經網絡的改進。研究復雜系統建模時,例如社會、經濟系統,系統內各因素間的復雜關系還不能由我們現有的理論知識完全合理地進行解釋,也就是說不明確哪些因素(自變量)對我們所關心的變量(因變量)關系更加密切。為避免對因變量有重要影響的因素的漏選,常用的方式是用定性分析方法先選出數量較多的對因變量較有影響的那些自變量,再建立系統的模型。當這些因素(自變量)很多時,把它們都作為BP網絡的輸入,顯然會增加網絡的復雜度,降低網絡性能,大大增加計算運行的時間,影響計算的精度。
筆者應用GMDH算法為解決BP網絡輸入維數這一難題提供了較好的方法。由于自組織算法應用不完全歸納法,可以對大量的輸入變量進行處理,因此,應用它選取變量(因素)可盡量全面、廣泛,不必經過專門的主觀篩選。這樣,我們先用GMDH算法篩選出對因變量(網絡輸出)最有影響作用的變量(自變量)作為BP網絡的輸入變量,再用BP算法進行學習。
三、 應用實例:四川省工業經濟預警模型的建立及檢驗
一個地區的工業經濟運行狀況與各工業行業生產指標密切相關,因此,我們選取各工業行業的生產值作為自變量,由它們來反映四川省的工業經濟運行狀況并進行預警。選取2003年2月至2004年7月的數據,把它們分為訓練樣本和檢驗樣本(前14組作為訓練樣本,后2組作為檢驗樣本),對數據進行歸一化處理,轉換為環比數據,因變量為對這13個月(1、2月的指標合并為1個月)經濟運行狀況的評價結果。下面我們使用本文提出的使用GMDH算法改進后的BP神經網絡對2004年8月的經濟運行狀況進行預警(2004年8月各行業的預測值由其它方法得出,不是本文探討的重點,因此本文不做討論)。
1. 利用GMDH方法選擇BP神經網絡輸入變量。輸入GMDH方法的變量有:電力生產,鐵礦采選,紡織制成品制造,基礎化學原料制造,肥料制造,農藥制造,醫藥制造業,水泥制造,玻璃及玻璃制品制造,煉鐵,煉鋼,鋼壓延加工,鐵合金冶煉,金屬加工機械制造,電機制造,輸配電及控制設備制造,電子器件制造,紙制品制造,電子元件制造等19個指標。選取2003年2月至2004年5月的數據,應用自組織數據挖掘軟件Knowledge Miner 5.0,對其進行模擬選優,得到的模型如下:
y=4.281×106×z11+2.905×106×z12+7.213×105×z13+1.561×104×z14-1.213×103×z15+1.455×107
z11=-2.610×105×x5+2.624e×102×x3×x5+1.406×102x62+1.045×102
z12=+1.946×105×x17-1.923×102×x13×x17-2.012×101
z13=-4.946×103×x18-1.923×102×x1×x2+3.258×103×x132+3.673×105
z14=-6.325×102×x3×x4+3.363×103×x5×x10+2.591×102×x11×x13-2.398×102
z15=6.398×103×x13×x16+3.363×102×x2×x19+7.569×101
其中y為工業總產值,x1表示電力生產,x2表示鐵礦采選,x3表示紡織制成品制造,x4表示基礎化學原料制造,x5表示肥料制造,x6表示農藥制造,x10表示煉鐵,x11表示煉鋼,x13表示鐵合金冶煉,x16表示輸配電及控制設備制造,x17表示電子器件制造,x18表示紙制品制造,x19表示電子元件制造。這樣經過GMDH優選,就只剩下13個指標作為神經網絡的輸入指標。
2. 模型建立。BP神經網絡模型主要是借助Matlab7.0實現。
(1)配置階段。利用GMDH方法篩選出來的13個指標作為BP模型的輸入節點,輸出節點數為1,把經濟運行狀況分為5類。輸出為10000表示經濟狀況很好,01000表示經濟狀況較好,00100表示經濟運行狀況一般,00010表示經濟運行狀況較差,00001表示經濟運行狀況很差。隱含層節點數的選擇是一個復雜的問題,它與輸入輸出層節點數的多少直接相關,筆者在參考一些經驗公式的基礎上,采用“湊試”方法,首先使用一個比較小的隱含層節點數,進行訓練,如果訓練次數很多或者在規定訓練次數內沒有收斂,則停止訓練,逐步增加隱含層節點數,重新訓練,先后訓練了隱含層節點數分別為4,5,6,7,8,9,10,11,12,13,14,15,30,41共14種情況,最終確定隱含層的節點個數為12。
(2)訓練階段。該階段完成對樣本的訓練學習。選取2003年2月至2004年5月的數據作為訓練樣本,因變量為對這14個月經濟運行狀況的評價結果,使用BP算法訓練,選取學習率為0.01,期望誤差最小值0.03,最大訓練次數10000次。利用Levenberg-Marquardt訓練函數。
訓練結果為:
TRAINLM,Epoch 0/10000,MSE 0.381138/0.03,Gradient 3.00026/1e-010
TRAINLM,Epoch 11/10000,MSE 0.0202254/0.03,Gradient 1.14887/1e-010
TRAINLM,Performance goal met。
經過11次訓練,網絡達到要求。網絡訓練曲線如圖2所示。
圖2網絡訓練曲線
(3)模型檢驗。輸入2004年6、7月2組檢驗樣本對模型進行檢驗。結果為:
y =0.00000.00000.00010.99900.0001
0.00000.00000.00001.00000.0199
使用性能函數mse,得到該神經網絡的性能為6.6708e-004,可以看出,是非常好的性能。如表1所示,經過訓練的網絡完全正確的對經濟運行狀況進行了分類。
3. 模型的預警。為了確認該模型的準確性,我們在matlab7.0中使用該模型對2004年8月的工業經濟運行情況進行預警。預警結果為:
Y= 0.00000.00000.00001.00000.0062
從分類結果看出,這個月的經濟運行狀況較差。
分類結果和實際結果的比較如表2所示。
表2分類結果
四、 結束語
本文對傳統BP算法進行了改進,使用GMDH算法確定神經網絡的輸入指標,優化了網絡的拓撲結構,使網絡的結構更加合理。用改進后的BP神經網絡對四川省的工業經濟狀況進行了評價,計算結果表明,訓練后的神經網絡模型能準確的對經濟狀況進行評價分類,實現預警。
參考文獻:
1.黃智.四川工業經濟預警方法、模型與信息系統研究.四川大學碩士論文,2006.
2.王耀中,候俊軍,劉志忠.經濟預警模型評述.湖南大學學報(社會科學版),2004,(18).
3.賀昌政.自組織數據挖掘與經濟預測.北京:科學出版社,2005.
4.MUELLER J A,LEMKE F.Self—organising Data Mining.Berlin,Humburg:Libri Books,2000.
5.Kordik P et al.Modified GMDH Model and Models Quality Evaluation by Visualization.Control Systems and Computers,2003,(2):54~67.
6.Nikolaev N Y,Iba H.Polynomial harmonic GMDH learning networks for time series modeling Neural Netwoks,2003,(16).
7.劉洪等.基于人工神經網絡方法的上市公司經營失敗預警研究.會計研究,2004,(2).
8.李曉峰等.BP人工神經網絡自適應學習算法的建立及其應用.系統工程理論與實踐,2004,(5).
9.飛思科技產品研發中心.神經網絡理論與matlab 7實現.北京:電子工業出版社,2005.
作者簡介:何躍,四川大學工商管理學院企業信息管理系主任、副教授、碩士生導師;蔣薇,四川大學工商管理學院碩士生;魏仕強,四川大學工商管理學院碩士生。
收稿日期:2006-09-09。
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”