方舟 王霓虹
摘要 為了更好地支持森林的可持續經營,探討了森林健康評價方法。與傳統的單一人工神經網絡相比,集成神經網絡(Modular Neural Networks,MNN)在解決復雜分類問題時更加有效,因此利用MNN作為森林健康評價的具體方法。此外,常被用來訓練神經網絡的反向傳播(Back Propagation,BP)算法存在收斂速度慢且易陷入局部極小值等不足。為了解決這一問題,將具有極強全局尋優能力的人工蜂群(Artificial Bee Colony,ABC)算法與BP算法相結合,形成一種混合ABC.BP算法的改進MNN模型,并將其用作構成MNN的單一神經網絡的學習算法。通過試驗對比分析,驗證了改進MNN模型的有效性。
關鍵詞 森林健康評價; 集成神經網絡; 人工蜂群
中圖分類號 S126 文獻標識碼 A 文章編號 0517-6611(2014)16-05292-03
目前,森林健康評價作為支持森林可持續經營的有效手段,越來越受到森林工程領域研究者們的重視[1]。針對不同的森林類型、經營管理目標以及地域文化,研究者們提出了許多森林健康評價方法[2-3]。其中,人工神經網絡因其具有強大的非線性映射和學習能力,在實際應用中較多地被用于森林健康評價,并且已經取得了較好的應用效果[4-5]。
反向傳播(Back Propagation,BP)算法是一種廣泛被應用的人工神經網絡學習算法。它是一種有監督的學習算法,具有理論依據堅實、推導過程嚴謹、物理概念清晰及通用性好等優點。但是,BP算法在實際應用中仍然存在一些不足,例如,收斂速度過慢,易陷入局部極小值。為了解決這一問題,引入了人工蜂群(Artificial Bee Colony,ABC)算法[6-7],將其與BP算法結合,形成了一種混合的ABC.BP算法。ABC.BP算法將ABC算法極強的全局尋優能力與BP算法強大的非線性學習能力進行了合理的結合。它有助于提升神經網絡學習算法的收斂速度,同時提高學習算法的準確率。
此外,一些研究者發現,與傳統的單一人工神經網絡相比,在解決復雜的分類問題時,集成神經網絡(Modular Neural Networks,MNN)具有更好的效率,尤其在對構成MNN的單一神經網絡的學習算法進行改進之后,MNN的學習準確率會更高[8-9]。因此,該研究提出了基于ABC.BP算法的改進MNN模型,利用完成訓練的改進MNN執行森林健康評價,并通過試驗對比分析,驗證了改進MNN模型的有效性。
1 基于ABC的人工神經網絡學習算法
1.1 BP算法 BP算法常被用來訓練人工神經網絡,它的訓練過程包括正向傳播和反向傳播兩個階段。在正向傳播中,進行網絡計算。首先,初始化BP神經網絡的連接權值為-1和1之間的隨機數。接著,將向量X=(x1,x2,…,xn)輸入到網絡中,其中n是樣本特征的數量。在這一階段,將S函數作為隱層和輸出層神經元的傳遞函數。
在反向傳播中,修改不滿足訓練精度的連接權值。如果發現誤差無法滿足訓練精度,則沿著原來的連接通路逐層返回,按一定的原則向減少誤差方向修改整個網絡的各個連接權值和閾值。其中,為了使訓練以盡可能快地減少誤差的方式進行,采用廣義的δ規則對誤差進行計算。誤差函數為:
式中,Oy和EOy 分別表示輸出層唯一神經元的實際輸出和期望輸出。重復以上兩個階段直到誤差滿足訓練精度。
1.2 ABC算法 ABC算法由雇傭蜂、觀察蜂和偵查蜂3個階段組成。ABC算法的控制參數包括:SN,表示事物源的數目(雇傭蜂的個數=觀察蜂的個數=解的個數=SN);D,表示每個解xi=(xi1,xi2,…,xiD)的維度;Limit,是一個重要的控制參數,表示一個解xi在Limit次未被改變之后,需要被舍棄;MCN,表示算法的最大迭代執行次數。
在雇傭蜂階段,采用貪婪準則,比較記憶中的最優解和鄰域搜索解,當搜索解優于記憶最優解時,替換記憶解;反之,保持不變。在所有的雇傭蜂完成鄰域搜索后,進入觀察峰階段。觀察蜂根據食物源的信息,以一定概率選擇食物源,蜜量大的食物源吸引觀察蜂的概率大于蜜量小的觀察蜂。同樣,觀察蜂在觀察蜂附近鄰域搜索,采用貪婪準則,比較觀察蜂搜索解與原食物源的解,當搜索解優于原食物源的解時,替換原食物源的解,完成角色互換;反之,保持不變。對于雇傭蜂陷入局部最優,保持Limit次迭代沒有改變,而雇傭蜂所得適應度又不是當前全局最優時,放棄該食物源,用偵察蜂隨機搜索的食物源替換。
從上面的論述可以看出,通過保存記憶中的最優解,雇傭峰保證了算法可以快速收斂;通過依據適應度概率值來替換當前解,觀察蜂保證了算法可以依上代歷史信息來進行尋優;最后偵查蜂在Limit參數的控制下進行隨機尋優,保證了解的多樣性。
1.3 混合的ABC.BP算法 為了克服BP算法的缺點,該研究提出了混合ABC.BP算法。該算法以BP算法作為基礎,引入ABC算法,將二者有機地結合起來,既獲得了BP算法強大的非線性學習能力,又利用了ABC算法極強的全局尋優能力。
在ABC.BP算法中,xi=(xi1,xi2,…,xiD)是問題的一個可行解,其中D表示神經網絡中需要優化的連接權值的數量。而ABC部分的目標函數是:
式中,N是訓練樣本數據集中樣本的總數;eik表示在利用第k個樣本進行訓練時,第i個解xi的誤差。
ABC.BP算法的具體步驟如下。
(1)輸入種群數量SN、最大循環次數MCN、訓練樣本數據集TS。
(2)輸出滿足訓練精度ε的連接權值。
(3)過程。Step 1: 生成一組初始化解xij, i=1,…,SN, j=1,…,D。
Step 2: 利用公式(2)計算每個解xi的目標函數值fi。
Step 3: 計算每個解xi的適應度值fiti。
Step 4: cycle=1。
Step 5: repeat。
Step 6: 為每個雇傭峰生成一個新的解ui,并計算相應的目標函數值ufi和適應度值ufiti。
Step 7: 按照貪婪選擇機制進行選擇。
Step 8: 為每個解x計算它概率值Pi。
Step 9: 根據概率值Pi,為觀察蜂從解集xi, i=1…SN中選擇可能需要被替換的當前解xi,生成新解ui,并計算它的適應度值ufiti。
Step 10: 按照貪婪選擇機制進行選擇。
Step 11: 判斷是否存在應該舍棄的解,若存在,則為偵查蜂生成一個新的隨機解替換舍棄解。
Step 12: 記住當前發現的最優解xbest=(xbest1, xbest2,…, xbestD)。
Step 13: cycle=cyele+1。
Step 14: until cycle=MCN。
Step 15: 將xbest=(xbest1, xbest2,…, xbestD)作為神經網絡的初始連接權值。
Step 16: 設置誤差總和初始值te=0。
Step 17: 從集合TS中依序選取一個樣本。
Step 18: 計算該樣本的實際輸出Oy。
Step 19: 計算連接權值的變化量。
Step 20: 修改連接權值。
Step 21: 計算該樣本實際輸出Oy與期望輸出EOy之間的誤差,并將其加到誤差總和te。
Step 22: 如果集合TS中全部樣本均已完成訓練,則進入下一步,否則返回到Step17。
Step 23: 如果te<ε,則訓練結束,并且輸出滿足誤差要求ε的解xi=(xi1,xi2,…,xiD),否則返回到Step16。
2 基于ABC.BP的改進MNN模型
當輸入的數量相對小的時候,有很多神經網絡的體系工作得非常好,但是當問題的復雜度增加或者輸入的數量增多時,它們的性能下降得非常快。將多個神經網絡組合在一起工作的MNN被用來解決這類問題。這一概念借鑒了“分而治之”的方法論。MNN有一個層次化的組織結構,它包含了多個神經網絡,每個神經網絡負責解決問題的某一方面。評估者的聯合可能超過單個評估者的局限。
ABC算法具有強大的全局尋優能力。與傳統的單個人工神經網絡相比,MNN非常適于解決某些類回歸和分類問題。將ABC.BP與MNN結合,一個新的改進MNN模型在該研究中被提出了。該算法由3個部分組成:數據劃分模塊及基于ABC.BP的ANNi模塊和集成模塊。改進MNN的結構如圖1所示。
圖1 改進MNN體系結構 在DPM模塊中,利用bagging方法來產生MNN中多個單一神經網絡的樣本集合。首先,根據“4/1”的比率,將初始數據集分別兩類樣例集合:訓練樣本數據集(80%)和測試樣本數據集(20%)。接著,從訓練樣本數據集中,隨機且有放回地重復m次抽取樣本數據,以此來獲得m個訓練樣本子集合;同時,保證每個訓練樣本子集合中的元素數量均是訓練樣本數據集中元素數量的1/2。這使得有些訓練樣本子集合會存在相同的樣本數據。第i個訓練樣本子集合被表示成TSi。每個訓練樣本子集合TSi (i=1…M)對應一個ABC.BP.NNi子模型。
在基于ABC.BP的ANNi模塊中,每個ABC.BP.NNi子模型均是一個單一神經網絡,它們的結構均是“n-p-1”,其中n是輸入神經元的數量,p是隱層神經元的數量。第i個ABC.BP.NNi子模型的輸入是第i個訓練樣本子集合TSi。在此階段,利用混合ABC.BP算法來訓練每個ABC.BP.NNi子模型,以此來獲得m個不同的分類器(m個完成訓練的ABC.BP.NNi子模型)。
在IM模塊中,利用“相對多數投票法”來整合全部分類器hi (i=1…M)的分類結果。當大多數分類結果屬于相同類別時,改進MNN模型的最終結果被認為是該類別。具體的計算公式如下:
3 試驗對比分析
將北京八達嶺林場作為森林健康的評價對象,選擇生物量、植物多樣性指數和森林火險等級3個指標建立評價指標體系,并利用BP神經網絡建立了森林健康評價模型,測試精度最好可以達到85%。該研究將該文獻中的樣例集合作為訓練和測試數據樣本,首先對混合ABC.BP算法的收斂性進行了驗證。如圖2所示,試驗證明了ABC.BP算法是可以收斂的,并且其在收斂性方面要優于BP算法。
圖2 收斂性對比分析 接著,該研究對BP神經網絡、ABC.BP神經網絡和改進MNN神經網絡的訓練和測試準確率進行了對比分析。訓練和測試數據樣本仍然選用了樣例集合。該數據集的特征如表1所示。
在試驗中,ABC.BP算法的控制參數被設置為:種群數量(SN×2)=40,limit= SN×D,其中D是問題的維度,也即是神經網絡中需要優化的連接權值的數量。最大循環次數MCN=1 000。試驗重復進行30次,每類神經網絡被訓練和測試10次。
表2給出了每類神經網絡的訓練和測試準確率的最佳值、平均值和最差值。從表2可以看出,ABC.BP神經網絡在準確率方面也優于BP神網絡,但改進MNN更優化ABC.BP神經網絡。通過上述試驗,驗證了該研究提出的改進MNN模型可以有效地應用于森林健康評價。
4 結論
該研究探討了森林健康評價方法,提出利用集成神經網絡作為森林健康評價的具體方法。然后針對傳統BP算法存在的不足,通過將其與ABC算法進行結合,進而形成一種混合的ABC.BP算法,以此來解決集成神經網絡中單一神經網絡的訓練問題。從試驗對比分析結果可以看出,與單一的BP神經網絡和ABC.BP神經網絡相比,利用基于改進MNN的森林健康評價方法可以更加快速、準確地對評價對象實施健康情況的評價,此評價結果可以幫助森林管理者更好地實現森林的可持續經營。
參考文獻
[1] 施明輝, 趙翠薇, 郭志華,等.森林健康評價研究進展[J].生態學雜志, 2010, 29(12):2498-2506.
[2] 王忠春, 亢新剛, 羅仙仙,等.森林健康評價研究進展[J].西北林學院學報, 2010, 25(5):163-169
[3] 姬文元, 刑韶華, 郭寧,等.川西米亞羅林區云冷杉林健康狀況評價[J].林業科學, 2009, 45(3): 13-18.
[4] 李靜銳.基于人工神經網絡模型的森林生態系統健康評價[D].北京:北京林業大學, 2007.
[5] 武巧英, 陳麗華, 李曉鳳,等.基于BP神經網絡的森林生態系統健康預測[J].水土保持通報, 2011, 31(2):151-154.
[6] KARABOGA D,AKAY B.A comparative study of artificial bee colony algorithm[J].Applied Mathematics and Computation,2009,214:108-132.
[7] KARABOGA D,BASTURK B.Artificial bee colony (ABC) optimization algorithm for solving constrained optimization problems[J].Foundations of Fuzzy Logic and Soft Computing,2007, 4529:789-798.
[8] FEVRIER V,PATRICIA M,HERMAN P.Parallel genetic algorithms for optimization of Modular Neural Networks in pattern recognition[C]IJCNN.IEEE,2011:314-319.
[9] SHEIKHAN M,SHABANI A A.PSO.optimized modular neural network trained by OWOHWO algorithm for fault location in analog circuits[J].Neural Compute Appl,2013,23(2):519-530.