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