楊雪峰, 葉 茂, 毛東雷
(新疆師范大學(xué)地理科學(xué)與旅游學(xué)院,烏魯木齊 830054)
遙感技術(shù)是獲取大范圍土地覆被狀況信息的主要手段。由于遙感數(shù)據(jù)中包含了有關(guān)地表物體的空間、光譜和結(jié)構(gòu)等多方面信息,加之在自然界復(fù)雜環(huán)境下地表物體相互影響,如何有效地從遙感數(shù)據(jù)中發(fā)現(xiàn)和提取關(guān)于地表物體的相關(guān)信息,長期以來一直是該領(lǐng)域的研究熱點[1]。在區(qū)分地表覆被類型時,如何合理選用分類器以取得較好的分類效果顯得非常重要。
在眾多的分類方法中,按照是否需要樣本數(shù)據(jù),可分為監(jiān)督分類和非監(jiān)督分類; 根據(jù)是否需要考慮數(shù)據(jù)分布,又可分為參數(shù)分類和非參數(shù)分類。參數(shù)分類器主要有ISODATA、最大似然分類(maximum likehood classification,MLC)、平行六面體和最小距離分類法等,這類分類器當(dāng)數(shù)據(jù)分布符合假設(shè)條件時能取得較好的分類效果; 但當(dāng)具體情況與假設(shè)不同時,或者數(shù)據(jù)量較少時,分類結(jié)果往往不好。非參數(shù)分類器主要包括神經(jīng)網(wǎng)絡(luò)、決策樹(decision tree,DT)和支持向量機(support vector machine,SVM)等,這類分類器由于不對數(shù)據(jù)分布做出過多假設(shè)要求,因此一般情況下能取得比參數(shù)分類器更好的分類效果[2-4]?;谏鲜鰞?yōu)點,這些分類器在遙感數(shù)據(jù)分類領(lǐng)域已得到廣泛應(yīng)用[5-6]。
群智算法作為一種較新的非參數(shù)分類方法,其主要思想是通過模仿自然界的螞蟻、魚群和蜂群等自然生物的覓食行為,通過個體間協(xié)作和競爭等行為實現(xiàn)復(fù)雜問題的優(yōu)化求解。其中典型的蟻群優(yōu)化(ant colony optimization,ACO)和粒子群優(yōu)化(particle swarm optimization,PSO)算法得到了較廣泛的應(yīng)用[7-8]。人工蜂群(artificial bee colony,ABC)算法繼承了群智算法的基本思想,通過模仿自然界蜜蜂尋找食物的自然過程來解決優(yōu)化問題,自Tereshko[9]和Karaboga等[10]提出ABC算法以來,該方法已在最優(yōu)化研究領(lǐng)域得到了廣泛應(yīng)用。但ABC算法用于數(shù)據(jù)分類的研究則相對較少,?elik等[11]較早地提出了使用ABC算法進行數(shù)據(jù)分類研究,通過對加州大學(xué)歐文分校(University of California,Irvin,UCI)機器學(xué)習(xí)數(shù)據(jù)集[12]進行處理,并與C4.5法和PSO法進行比較,結(jié)果表明ABC法優(yōu)于PSO法,但低于C4.5法。Shukran等[13]使用標(biāo)準(zhǔn)ABC法和優(yōu)化后的ABC法與5種常用算法對6種UCI數(shù)據(jù)集進行分類,其中ABC法在分類結(jié)果中占優(yōu)勢。在使用遙感數(shù)據(jù)進行分類的研究中,Jayanth等[14]采用LISS-IV多光譜數(shù)據(jù)對門格洛爾海岸的6種土地覆被類型進行分類,認為ABC算法分類精度比MLC高5%,比SVM高3%; 曹敏等[15]采用ALOS多光譜影像對長江口北岸進行土地覆被分類,ABC算法分類精度比See5高約3%。就目前研究來看,ABC算法在數(shù)據(jù)分類和數(shù)據(jù)挖掘領(lǐng)域的研究還較少,尚存在較多的不確定性,例如在對不同數(shù)據(jù)的適用性、不同參數(shù)設(shè)置的影響、各種優(yōu)化設(shè)定的影響等方面還存在很多未知數(shù),還需要通過更多的研究來推動ABC算法在數(shù)據(jù)分類和數(shù)據(jù)挖掘領(lǐng)域的應(yīng)用。鑒于上述情況,本文應(yīng)用JAVA語言實現(xiàn)ABC分類算法,對塔里木河中下游多角度遙感影像數(shù)據(jù)進行分類研究; 測試實際分類效果,與MLC,DT和SVM分類法進行比較; 并對使用ABC分類算法中發(fā)現(xiàn)的規(guī)則進行分析。
ABC算法模仿自然界蜂群的覓食行為,用蜜源表示問題可能的解,用適宜度表示蜜源的質(zhì)量。問題求解過程: 首先,通過雇傭蜂在解空間中隨機尋找蜜源; 隨后,觀察蜂在尋得較高適宜度蜜源的雇傭蜂附近進行下一步搜尋; 如果觀察蜂在限定次數(shù)內(nèi)未能發(fā)現(xiàn)更高質(zhì)量的蜜源,則轉(zhuǎn)變?yōu)閭刹旆?,再次在解空間中隨機尋找; 重復(fù)這一過程,直至達到預(yù)定的迭代次數(shù),結(jié)束搜尋過程。
算法具體流程如圖1所示。
圖1 ABC算法流程Fig.1 Flowchart of ABC algorithm
1.2.1 蜂群初始化
首先,從搜索空間中隨機產(chǎn)生N個蜜源,其中每個蜜源代表可能的一組解。實驗中使用的多角度數(shù)據(jù)集由12個波段的反射率數(shù)據(jù)組成,再分成上、下閾值,共24組數(shù)據(jù),所以數(shù)據(jù)的維數(shù)D為24,每組解都由24組反射率參數(shù)組成。為了讓隨機產(chǎn)生的蜜源更具代表性,減少搜索時間,每一類土地覆被類型在初始化時,都遍歷訓(xùn)練集中該類的所有樣本,獲取每一波段反射率值中的最大值(Max)、最小值(Min)作為搜索空間的上、下邊界,以達到縮小搜索空間的目的。對不同蜜源采用不同的初始化策略。前N/2個蜜源的24維參數(shù)賦值方式為
Xi,j=Rand()·(Maxj-Minj)+Minj,
i∈{1,…,N/2},j∈{1,…,12} ,
(1)
式中:Xi,j為參數(shù)值;Rand()為隨機數(shù)函數(shù);i為蜜源;j為波段數(shù)。
然后,獲取波段反射率值的均值(Mean),對前N/2的蜜源做數(shù)據(jù)鏡像處理,生成后N/2的蜜源數(shù)據(jù)的解,以提高解的多樣性。后N/2個蜜源的24維參數(shù)賦值方式為
i∈{N/2,…,N},j∈{1,…,12}。
(2)
1.2.2 蜂群進化
在雇傭蜂階段,雇傭蜂在隨機產(chǎn)生的蜜源附近尋找新蜜源; 并通過比較兩者的適宜度值,保留較好的蜜源并更新蜜源。在觀察蜂階段,觀察蜂以貪婪算法選中蜜源后,也在其附近尋找新蜜源,同樣經(jīng)比較兩者的適宜度后,保留更優(yōu)蜜源并更新蜜源。
1)適宜度函數(shù)。采用適宜度函數(shù)計算適宜度值。常用的適宜度函數(shù)有
Precision=TP/(TP+FP),
(3)
Accuracy= (TP+TN)/(TP+TN+FP+FN),
(4)
(5)
式中:Precision為精度;Accuracy為準(zhǔn)確度;Sensitivity為靈敏性;Specificity為特異性;TP為符合規(guī)則且與規(guī)則預(yù)測類型相同的樣本數(shù);FP為符合規(guī)則但與規(guī)則預(yù)測類型不同的樣本數(shù);TN為不符合規(guī)則且與規(guī)則預(yù)測類型不相同的樣本數(shù);FP為不符合規(guī)則但與規(guī)則預(yù)測類型相同的樣本數(shù)。
考慮到本次評價的是最大分類精度,因此本文采用Precision作為適宜度函數(shù)。
2)更新蜜源方法。雇傭蜂和觀察蜂更新蜜源的方式采用了異步變化學(xué)習(xí)因子[16],其計算公式為
Vi,j=Xi,j+C1·Rand()·(bpi-Xi,j)+C2·Rand()·(bg-Xi,j) ,
i∈{1,…,N},j∈{1,…,12}
(6)
式中:Vi,j為更新后的值;Xi,j為更新前的值;bpi為第i個蜜蜂找到的最優(yōu)蜜源;bg為所有蜜蜂找到的最優(yōu)蜜源[16];C1和C2為更新步長,即
(7)
(8)
其中C1和C2的取值范圍為[Cmin,Cmax] ,這里分別取值為0.5和2.5;t為當(dāng)前迭代次數(shù);tmax為最大迭代次數(shù)。
3)蜜源選擇。在雇傭蜂更新蜜源之后,觀察蜂通過計算概率P來決定選擇哪一個蜜源,即
(9)
式中:N為蜜源數(shù)量;fiti為第i個蜜源的適宜度值,i∈{1,...,N}。
4)剪枝。剪枝的目的是逐一檢查已發(fā)現(xiàn)規(guī)則中的每個屬性,找出并去除無關(guān)的屬性,以改善規(guī)則的泛化誤差,進一步提高分類精度。具體采用的方式是逐一移走各個屬性,若最后精度提高,則去除該屬性,否則保留。
1.2.3 蜂群淘汰
如果某只觀察蜂連續(xù)n次未能找到更好的蜜源,則當(dāng)前觀察蜂變?yōu)閭刹旆?并隨機產(chǎn)生一個新的蜜源代替淘汰的蜜源。
在土地覆被分類中,對不同地類可以通過該地類在遙感影像各波段的波段值來區(qū)分。以上邏輯通過規(guī)則形式表示為: 若X1Low 基于ABC算法的分類過程(即規(guī)則發(fā)現(xiàn)過程)如圖2所示。 圖2 基于ABC算法的數(shù)據(jù)分類流程Fig.2 Flowchart of data classification based on ABC 本文實驗使用的遙感數(shù)據(jù)來自EOS TERRA衛(wèi)星上搭載的多角度成像光譜儀(multi-angle imaging spectroradiometer,MISR)。該傳感器提供了9個角度的觀測信息,分別是4個前向觀測角: AF(26.1°),BF(45.6°),CF(60.0°),DF(70.5°); 4個后向觀測角: AA(26.1°),BA(45.6°),CA(60.0°),DA(70.5°)以及1個天底角AN(0.0°)。每個角度的傳感器都有4個波段: 藍光波段(446 ± 21 nm),綠光波段(558 ± 15 nm),紅光波段(672 ± 11 nm)和近紅外波段(866 ± 20 nm)[17]。對同一個地點,可同時得到4個波段、9個角度的36個觀測值,所有觀測波段的空間分辨率分別為275 m和1.1 km這2種(表1)。 表1 全球模式下MISR各角度影像波段空間分辨率Tab.1 Spatial resolution of various angle image bands of MISR at globe mode (m) 多角度觀測的優(yōu)勢在于充分利用地表物體在不同太陽光入射和觀測角條件下形成的二向反射特性,從而更深入地發(fā)現(xiàn)地物反射和地物結(jié)構(gòu)之間的聯(lián)系。使用多角度數(shù)據(jù)集進行土地覆被分類要優(yōu)于傳統(tǒng)垂直觀測數(shù)據(jù)的分類結(jié)果[18]。本文實驗使用的多角度數(shù)據(jù)集覆蓋塔里木河中下游地區(qū),該地區(qū)屬于暖溫帶極干旱氣候區(qū),自然植被覆蓋度很低,植被光譜容易受到土壤背景的影響,因此大大影響了分類效果。數(shù)據(jù)集由4 367個采樣點的光譜信息和土地覆被類型數(shù)據(jù)組成,其中光譜數(shù)據(jù)包括MISR影像中所有空間分辨率為275 m的9個角度的紅光波段和天底角AN的藍光、綠光、近紅外波段共12個波段的地表反射率數(shù)據(jù)。土地覆被類型主要有灌木、林地、未利用地、草地、耕地和水體6類(表2)。 表2 土地覆被類型Tab.2 Types of land cover 本文實驗使用的ABC算法基于JAVA軟件實現(xiàn),其主要參數(shù)有: 蜂群規(guī)模、迭代次數(shù)、最少重復(fù)尋找次數(shù)、最少規(guī)則覆蓋度和最小樣本覆蓋度,根據(jù)前人研究的經(jīng)驗[19],分別設(shè)置為200,200,5,0.05和5~15。本文實驗使用的衛(wèi)星遙感數(shù)據(jù)的所有波段值均是由原始DN值經(jīng)輻射定標(biāo)和大氣校正后轉(zhuǎn)換得到的地表反射率值,數(shù)值范圍在[0,1]之間,即ABC算法是在解空間[0,1]內(nèi)尋找不同土地覆被類型在各個波段中的地表反射率的上、下閾值。另外,與ABC算法進行對比的分類算法分別為: ①ENVI[20]軟件實現(xiàn)的MLC; ②Weka[21]軟件實現(xiàn)的J48決策樹(J48是C4.5算法的一個版本); ③LibSVM[22]軟件實現(xiàn)的SVM分類。 在分類過程中,首先隨機選取數(shù)據(jù)集中2/3的數(shù)據(jù)作為訓(xùn)練集,剩余的1/3作為測試集; 然后使用ABC法先對訓(xùn)練集進行規(guī)則發(fā)現(xiàn),再使用規(guī)則集對測試集數(shù)據(jù)進行分類; 對其他幾種分類法,分別使用訓(xùn)練集進行訓(xùn)練,完成參數(shù)選擇和調(diào)整后,對測試集數(shù)據(jù)進行分類; 最后分別計算混淆矩陣、總體精度和Kappa系數(shù)。 2.3.1 分類精度 4種分類算法的分類結(jié)果混淆矩陣見表3—6。 表3 MLC法分類結(jié)果混淆矩陣Tab.3 Confusion matrix of MLC classification result 表4 C4.5法分類結(jié)果混淆矩陣Tab.4 Confusion matrix of C4.5 classification result 表5 ABC算法分類結(jié)果混淆矩陣Tab.5 Confusion matrix of ABC classification result 表6 SVM分類結(jié)果混淆矩陣Tab.6 Confusion matrix of SVM classification result 分類結(jié)果為: MLC總體精度為0.689 3,Kappa系數(shù)為0.585 7; C4.5總體精度為0.701 1,Kappa系數(shù)為0.573 9; ABC總體精度為0.713 6,Kappa系數(shù)為0.586 1; SVM總體精度為0.771 2,Kappa系數(shù)為0.675 1。4種分類算法的分類結(jié)果按總體分類精度的大小順序排列為: SVM >ABC >C4.5 >MLC。實驗結(jié)果表明,ABC算法的分類精度與C4.5法相當(dāng),兩者都優(yōu)于MLC法,但都與SVM有較大差距。比較單個土地覆被類型分類的用戶精度,ABC算法只有水體的分類精度比SVM略高,草地的分類精度則是所有分類法中最低的??傮w而言,在所有地類的分類精度上,ABC與C4.5算法的結(jié)果最為接近。說明ABC算法是一種較好的遙感影像分類方法,能夠提供有效的分類結(jié)果。 2.3.2 分類規(guī)則 ABC分類算法的一個顯著特點是可以生成分類規(guī)則,部分規(guī)則舉例如下: IF AN_NIR >= 0.372 704 AND AA_RED <= 0.306 317 THEN 5 IF AF_RED <= 0.109 989 THEN 3 IF AA_RED >= 0.375 172 THEN 4 IF AF_RED >= 0.211 149 AND DF_RED >= 0.247 13 AND AN_NIR >= 0.343 532 AND AF_RED <=0.269 535 THEN 6 IF DF_RED >= 0.295 815 AND AN_BLUE >= 0.142 819 AND AN_NIR >= 0.316 694 AND AF_RED <= 0.283 237 THEN 1 IF DF_RED >= 0.278 379 AND AN_NIR >= 0.340 475 AND AA_RED <= 0.326 734 AND AN_RED <= 0.294 902 THEN 2 規(guī)則中類別1─6分別代表灌木、林地、水體、未利用地、耕地和草地。 分類規(guī)則的顯著特點是便于理解,不像神經(jīng)網(wǎng)絡(luò)等算法為黑箱操作。通過對規(guī)則的分析,便于發(fā)現(xiàn)隱藏在數(shù)據(jù)中的規(guī)律,從而進一步理解分類過程。 為了更好地理解MISR多角度數(shù)據(jù)集分類規(guī)則中包含的信息,對分類規(guī)則中涉及的所有屬性按頻數(shù)統(tǒng)計并做歸一化處理后,生成規(guī)則屬性頻數(shù)分布曲線(圖3)。 圖3 ABC算法規(guī)則屬性頻數(shù)分布曲線Fig.3 Frequency distribution curves of ABC rule’s attributes 從圖3可以看出,綠色植被類型(灌木、林地、耕地和草地)分類規(guī)則中都大量使用了近紅外波段,所有類型都較多使用了AA后向觀測數(shù)據(jù),而AN觀測角度下的紅光、藍光和綠光波段數(shù)據(jù)則使用得都較少。這說明對這6類土地覆被類型分類的關(guān)鍵因素主要是近紅外波段和AA后向觀測,而除天底角AN近紅外波段數(shù)據(jù)外,其他天底角觀測數(shù)據(jù)對區(qū)分不同類型幫助不大。另外,灌木、林地和未利用地類型的分類規(guī)則中較多使用了CA,CF和DA,DF; 說明C和D這2個觀測角利于區(qū)分灌木、林地和未利用地這3種空間結(jié)構(gòu)相對復(fù)雜的類型。 1)人工蜂群(ABC)算法雖然實現(xiàn)方法相對簡單,沒有復(fù)雜的計算公式; 但是通過蜂群個體間的協(xié)作,可以完成對復(fù)雜數(shù)據(jù)分類規(guī)則的發(fā)現(xiàn)。通過使用JAVA語言實現(xiàn)的基于ABC算法的分類軟件對MISR影像的分類實驗,證明使用ABC算法能夠完成對多角度遙感影像的分類任務(wù),且能夠提供較好的分類結(jié)果。 2)通過與MLC,C4.5和SVM算法分類精度的比較可以看出,ABC算法的分類精度和Kappa系數(shù)與C4.5法相當(dāng),高于MLC,但低于SVM。ABC分類算法與其他幾種算法的比較結(jié)果證明,ABC算法可以有效用于遙感數(shù)據(jù)的規(guī)則挖掘和分類。 3)通過對ABC算法分類規(guī)則屬性頻數(shù)的分析,發(fā)現(xiàn)了規(guī)則中包含的規(guī)律性問題。據(jù)此可以解釋不同土地覆被類型在多角度遙感觀測下具有的不同反射特性。 與前人的實驗結(jié)果比較,本文的分類結(jié)果的影響因素一方面可能與使用的多角度數(shù)據(jù)集本身特征有關(guān),另一方面可能與ABC算法參數(shù)設(shè)置和程序優(yōu)化方式有關(guān),因此還需要繼續(xù)進行更多方面的比較,才能更進一步了解ABC算法的特性。此外,ABC算法的執(zhí)行效率與決策樹等算法相比差別很大,這些都是未來研究要解決的問題。 志謝: NASA Langley研究中心大氣科學(xué)數(shù)據(jù)中心提供了MISR 數(shù)據(jù),在此表示感謝。2 實驗與分析
2.1 多角度遙感數(shù)據(jù)及其處理
2.2 分類實驗
2.3 結(jié)果分析
3 結(jié)論