童瑩萍,馮偉,宋怡佳,全英匯,黃文江,高連如,朱文濤,邢孟道
1.西安電子科技大學(xué) 電子工程學(xué)院,西安 710071;
2.西安電子科技大學(xué) 先進(jìn)遙感技術(shù)研究院,西安 710071;
3.中國科學(xué)院空天信息創(chuàng)新研究院 數(shù)字地球重點(diǎn)實驗室,北京 100094;
4.西安電子科技大學(xué) 前沿交叉研究院,西安 710071
高光譜圖像不僅具有較高分辨率,而且包含非常豐富的光譜信息,已在軍用和民用領(lǐng)域中獲得了廣泛應(yīng)用(Tu 等,2020;杜培軍等,2016)。但是,高光譜圖像分類經(jīng)常會遇到類別不平衡的問題(Rodriguez 等,2006;韓竹 等,2020)。所謂的類別不平衡指的是數(shù)據(jù)中某些類別的樣本數(shù)量明顯少于其他類別(García 等,2018)。通常情況下絕大多數(shù)分類器在對類別不平衡數(shù)據(jù)分類時都會出現(xiàn)一定程度的性能損失(Díez?Pastor 等,2015;張永清等,2020)。或者說分類器雖然獲得了較高的總體分類精度OA(Overall Accuracy),卻忽略了少數(shù)類樣本的識別。
不平衡數(shù)據(jù)一般包括兩種類型:二類和多類。類別間樣本分布不均、多種類別重疊和樣本噪聲等問題,使得多類不平衡數(shù)據(jù)相對二類數(shù)據(jù)更加難以處理(Krawczyk,2016)。多類不平衡分類問題的理想處理結(jié)果是:一個分類器可以在不犧牲多數(shù)類別分類準(zhǔn)確性的情況下,提高少數(shù)類的分類精度(Feng 和Bao,2017;Feng 等,2019a)。目前,研究學(xué)者針對以上問題已經(jīng)提供了很多方法,例如,Jimenez?Casta?o 等(2020)優(yōu)化了孿生支持向量機(jī)算法,使用高斯相似度并結(jié)合基于中心核比對的方法改善數(shù)據(jù)可分類性,用于處理不平衡數(shù)據(jù);Arshad 等(2019)提出了一種半監(jiān)督深度模糊C 均值聚類算法,提取新特征以控制冗余;Douzas等(2018)將K均值聚類算法與合成少數(shù)類過采樣算法SMOTE(Synthetic Minority Oversampling Technique)相結(jié)合,克服其他過采樣算法的缺點(diǎn),消除類間不平衡和類內(nèi)不平衡同時避免產(chǎn)生噪聲樣本,其中,SMOTE 算法是對少數(shù)類別樣本進(jìn)行分析和模擬,并將人工模擬的新樣本添加至數(shù)據(jù)集中,從而調(diào)節(jié)數(shù)據(jù)中類別的不平衡比率。但是大多數(shù)方法都集中于解決二類不平衡問題,不適用于多類情況(才子昕等,2019)。
數(shù)據(jù)采樣是常用的不平衡高光譜數(shù)據(jù)處理方法。典型的采樣算法包括隨機(jī)欠采樣RUS(Random Undersampling) 和 隨 機(jī) 過 采 樣ROS (Random Oversampling)。RUS 算法通過隨機(jī)縮小多數(shù)類別的樣本數(shù)量使樣本達(dá)到平衡,但是RUS 算法會導(dǎo)致重要信息的丟失;ROS 算法的作用則與RUS 完全相反,它是在少數(shù)類別中通過隨機(jī)生成更多樣本,直到所有類別達(dá)到平衡,然而ROS 算法雖然可以克服RUS 的缺陷,但是會引起算法的過擬合。
SMOTE 是ROS 的升級算法,它可以有效地避免過擬合現(xiàn)象,已被用于解決機(jī)器學(xué)習(xí)中的類別不平衡問題,例如,Bhagat和Patil(2015)首先使用SMOTE 來平衡數(shù)據(jù)中各類別的樣本數(shù)量,然后利用隨機(jī)森林進(jìn)行分類;Bandara 等(2020)也是先通過SMOTE 算法平衡數(shù)據(jù)集,然后構(gòu)建滑坡敏感性模型,最后比較了隨機(jī)森林與旋轉(zhuǎn)森林算法在平衡數(shù)據(jù)情況下的性能表現(xiàn)。以上方法都可以在一定程度上提高分類器對小類別樣本的分類精度,然而,這些技術(shù)仍側(cè)重解決二類不平衡問題,在面臨復(fù)雜的多類不平衡問題時難以拓展。在高光譜圖像分類中,Cai 和Zhang(2019)將SMOTE算法應(yīng)用于Pavia University 數(shù)據(jù)集上,有效解決高光譜數(shù)據(jù)不平衡問題,Zhou等(2020)通過SMOTE合成少數(shù)類別的人工樣本,解決了多類情況下樣本不平衡的問題。但是,大多數(shù)研究只將SMOTE算法應(yīng)用于數(shù)據(jù)預(yù)處理階段。由于SMOTE 算法在訓(xùn)練樣本時具有引入額外噪聲的風(fēng)險(Pan 等,2020;Elreedy 和Atiya,2019),一次性平衡樣本可能導(dǎo)致產(chǎn)生的噪聲無法修正,進(jìn)而影響分類模型的訓(xùn)練效果。因此,如何改進(jìn)SMOTE 算法解決復(fù)雜的多類不平衡問題面臨著巨大的挑戰(zhàn)。
集成學(xué)習(xí)已經(jīng)成功應(yīng)用于高光譜圖像分類(Mullick 等,2020;Feng 等,2019b)。旋轉(zhuǎn)森林ROF(Rotation Forest)是一種功能強(qiáng)大的集成分類器(Tu等,2020;Rodriguez等,2006),引起了廣泛關(guān)注。該算法通過結(jié)合多種隨機(jī)因子來提升自身的學(xué)習(xí)性能,這些隨機(jī)因子包括:數(shù)據(jù)隨機(jī)選擇、特征隨機(jī)選擇和特征空間旋轉(zhuǎn)等。RoF算法的傳統(tǒng)構(gòu)造偏向于對多數(shù)類別進(jìn)行分類,而忽略少數(shù)類樣本的識別。目前雖然已有很多改進(jìn)的RoF算法,但是仍然普遍適用于平衡數(shù)據(jù)集的學(xué)習(xí)。因此,改進(jìn)RoF 算法,使之適合不同比例的多類不平衡數(shù)據(jù)是一個非常有意義的研究方向。
本文提出了一個新的SMOTE 和RoF 的自適應(yīng)內(nèi)部集成算法。該算法利用動態(tài)采樣因子技術(shù),將類別分布優(yōu)化和基分類器過程進(jìn)行融合,并可以有效地解決高光譜數(shù)據(jù)中的多類不平衡問題。
RoF算法是一種隨機(jī)森林算法衍生而來的集成分類器,它通過特征空間變換,可以更加有效地提高基分類器的多樣性(Feng 等,2019a)。設(shè){X,Y}={(x1,y1),…,(xN,yN)}為訓(xùn)練樣本集,其中xi=[xi,1,…,xi,n]∈Rn為特征為F的訓(xùn)練樣本,Y為帶有樣本類別的向量,yj為類別標(biāo)簽ω={ω1,…,ωL}的集合中的元素(L為樣本的類別總數(shù))。設(shè)D1,…,DT為集成算法中的基分類器,其中T為分類器的數(shù)量。
為構(gòu)造分類器Di,首先將具有n個特征的F隨機(jī)分成H個互不相交的子集。假設(shè)H是n的因數(shù),每個特征子集都包含M=n/H個特征,用Fi,j表示用于訓(xùn)練分類器Di的第j個特征子集,由Fi,j組成的樣本集合表示為Z。其次,對Z執(zhí)行75%的樣本隨機(jī)采樣,并對選中的樣本集合進(jìn)行主成分分析PCA(Principal Component Analysis);然后保存主成分分析的系數(shù)a(1)i,j,…,a(Mj)i,j,每個系數(shù)的大小為M× 1;最后將主成分分析的系數(shù)組成旋轉(zhuǎn)矩陣Ri。Ri可以表示為
式中,旋轉(zhuǎn)矩陣的維度為n×∑jMj。RoF 算法根據(jù)原始數(shù)據(jù)的特征F對Ri的列進(jìn)行重新排序,獲得 新的 旋轉(zhuǎn) 矩陣Ria,其 大 小 為N×n。然后 由XRia生成一個新的訓(xùn)練樣本集合,并訓(xùn)練一個分類器Di。
SMOTE 算法(Rodríguez 等,2020)是處理不平衡數(shù)據(jù)問題比較常用的算法。該算法步驟如圖1所示,主要包括以下過程:對于少數(shù)類的樣本xi,選擇其K個最近鄰的少數(shù)類樣本xˉ,在xi與xˉ的連接線上插入新的合成少數(shù)類樣本xsym,新的合成樣本xsym可以表示為
圖1 SMOTE算法示意圖Fig.1 SMOTE algorithm diagram
式中,α是[0,1]范圍內(nèi)的隨機(jī)變量。
為了研究SMOTE 算法產(chǎn)生的人工樣本與真實樣本之間的區(qū)別,以下對這兩種樣本的均值和協(xié)方差矩陣進(jìn)行比較分析。首先令Δ =xˉ?xi,新的合成樣本xsym=xi+αΔ,其中α是在[0,α?]中隨機(jī)生成的,參數(shù)α?的值通常大于或等于1,這使得算法能夠在連接樣本xi和其隨機(jī)選擇的最近鄰xˉ的連線上進(jìn)行外推或內(nèi)插。
合成樣本xsym的方差由以下公式給出:
式中,K為少數(shù)類樣本的最近鄰樣本數(shù),Γ 為伽馬函數(shù)。
合成樣本xsym的協(xié)方差矩陣由以下公式給出:
上述證明了SMOTE 生成的樣本均值接近于真實樣本的均值,兩者的協(xié)方差矩陣之間存在一些差異。
本文提出了一種新的SMOTE 和RoF 動態(tài)集成算法。該算法使用樣本權(quán)重和動態(tài)采樣因子來降低SMOTE 算法引入人工噪聲的風(fēng)險,并與RoF 算法進(jìn)行內(nèi)部結(jié)合,最終用于多類不平衡高光譜數(shù)據(jù)學(xué)習(xí)問題。
本文提出一個新的樣本重要性權(quán)重函數(shù),來緩存SMOTE 產(chǎn)生額外噪聲的影響。該權(quán)重函數(shù)的概念源于集成間隔理論。在間隔理論中,對于給定的樣本,它的間隔值越低,說明它包含的信息量越多,越容易獲得更多分類器的關(guān)注(Zhou 和Guo,2019)。
式中,v(xi,yi)是真實類別y的投票數(shù),v(xi,c)是其他類別c的投票數(shù)。樣本具有較大的權(quán)重值W(xi),表明這個樣本越接近于當(dāng)前的分類決策邊界,并且具有較高的概率被選中參與SMOTE 算法,為下一個分類器的訓(xùn)練提供新的類別平衡的訓(xùn)練樣本集。因此,隨著基分類器數(shù)量的增加,分布在決策邊界的樣本權(quán)重會迭代增加。
本文提出的SMOTE 和RoF 動態(tài)集成算法是一種數(shù)據(jù)采樣與集成框架內(nèi)部結(jié)合的算法,它不僅可以降低初始數(shù)據(jù)的不平衡率IR (Imbalance Ratio),還能保證訓(xùn)練集中樣本的數(shù)量和質(zhì)量。假設(shè)數(shù)據(jù)集S中有L個類別,第i個類別的樣本大小為Ni,將每個類別包含的樣本集根據(jù)其樣本數(shù)量Ni進(jìn)行降序排列,則N1為最大類的訓(xùn)練樣本的數(shù)量,NL為最小類別L的樣本數(shù)。將S的每個樣本權(quán)重值W初始化為1N。在每次迭代t中,以NL為標(biāo)準(zhǔn),對其他所有類別c(c= 2,…,L)利用重采樣率ω%執(zhí)行有放回隨機(jī)采樣,選取ω%?N1個樣本,然后通過SMOTE 算法生成剩下的(1 ?ω%) ?N1個樣本。最后通過將NL、采樣樣本以及SMOTE 產(chǎn)生的樣本進(jìn)行組合,獲得各類別數(shù)量平衡的訓(xùn)練樣本集St。然后與傳統(tǒng)RoF算法一樣,對數(shù)據(jù)集St進(jìn)行特征空間旋轉(zhuǎn),以獲得最終的訓(xùn)練數(shù)據(jù)集S't,并訓(xùn)練一個分類器Dt。根據(jù)式(9)更新所有初始訓(xùn)練樣本的權(quán)重值W,并更新重采樣率ω%。重復(fù)以上步驟,直到t達(dá)到最大迭代次數(shù)。最終的預(yù)測結(jié)果通過利用最大投票規(guī)則將所有的分類器結(jié)果進(jìn)行融合獲得。本文算法的偽代碼描述如下:
本文提出的算法利用動態(tài)采樣為不同的基分類器提供具有多樣性特征的訓(xùn)練樣本集合。在使用SMOTE 算法之前,以不同的采樣率ω%對所有少數(shù)類樣本進(jìn)行隨機(jī)采樣。以下示例用于詳細(xì)說明ω%的更新過程。
若設(shè)置采樣ω%的范圍為10%至100%,對于第一個分類器,ω%等于10%;第二個分類器ω%更新為20%,然后以此類推。當(dāng)ω%等于100%時,對于類別ω%執(zhí)行是完全的隨機(jī)過采樣;若集成模型尺寸ω%為30,那么每10個分類器,ω%執(zhí)行3次從10%至100%的迭代更新。
由于過采樣算法在解決不平衡問題時應(yīng)用更為廣泛,本實驗主要選擇ROS 和SMOTE 這兩種過采樣算法作為對比。為了驗證本文算法在不平衡數(shù)據(jù)集上的分類優(yōu)勢,本文選用4種對比算法,分別是隨機(jī)森林RF(Random Forest)、傳統(tǒng)的RoF、ROS 預(yù)處理與RoF 結(jié)合的算法(記為ROSRoF)以及SMOTE 預(yù)處理與RoF 結(jié)合的算法(記為SMOTERoF)。
實驗利用分類回歸樹CART(Classification and Regression Tree,)作為基分類器,所有集成模型由30 個決策樹組成。對于所有的RoF 算法,參數(shù)H都設(shè)置為30;數(shù)據(jù)采樣率ω%的范圍設(shè)置為10%至100%;實驗部分所有值均為將算法獨(dú)立運(yùn)行10次所得的結(jié)果均值。
遙感圖像有側(cè)重于不同方面的評估指標(biāo)(高連如等,2007),本實驗使用8 種不同的比較方法對分類結(jié)果進(jìn)行評估。利用平均分類精度AA(Average Accuracy)、總體分類精度OA (Overall Accuracy)、F?measure、Gmean 和 最 小 召 回 率(Minimum Recall)以及運(yùn)算時間對算法進(jìn)行測試。為了驗證算法在集成框架提升方面的優(yōu)勢,集成分類器多樣性(Feng 等,2018)被用來作為集成算法的評估方法;另外,本實驗使用McNemar 非參數(shù)成對檢驗來比較本文算法與其他算法在統(tǒng)計意義上的性能差異;最后,為了直觀地對比各個算法的分類表現(xiàn),繪制各算法在高光譜圖像上的分類結(jié)果,并將其與地面參考數(shù)據(jù)作對比。
為了評估本文算法的有效性,本實驗選用3個公開的高光譜圖像作為測試數(shù)據(jù),它們分別是Indian Pines、Salinas 以及Pavia University,數(shù)據(jù)集參數(shù)如表1所示。其中,Indian Pines圖像具有20 m空間分辨率;Salinas 圖像空間分辨率為3.7 m,包含16個不同的類別;Pavia University圖像波長范圍為0.43—0.86 μm,空間分辨率高達(dá)1.3 m。
表1 實驗數(shù)據(jù)集Table 1 Experimental data set
為了驗證本文算法的分類表現(xiàn),本實驗采用了IR 值不同的數(shù)據(jù)集。在Salinas 圖像數(shù)據(jù)以及Pavia University 圖像數(shù)據(jù)中,本實驗采用無放回隨機(jī)抽取方法,選擇5%的原始數(shù)據(jù)構(gòu)成訓(xùn)練樣本,其余95%作為測試樣本;而Indian Pines 圖像數(shù)據(jù)由于不平衡比率高,更有利于本實驗設(shè)計,進(jìn)而生成不同IR值的樣本。
在Indian Pines 圖像數(shù)據(jù)中,構(gòu)造4 個數(shù)據(jù)集,方法是:對于多數(shù)類別樣本,分別隨機(jī)抽取原始數(shù)據(jù)的5%、10%、15%和20%以構(gòu)造訓(xùn)練數(shù)據(jù)集,其它未被選擇的樣本作為測試樣本;對于少數(shù)類別1、7、9、16,由于樣本量過少,從每類中選取50%樣本作為訓(xùn)練樣本,剩下的作為測試樣本。訓(xùn)練集的IR 通過N1/NL計算得到;6 個數(shù)據(jù)集的IR分別為12.20、17.50、36.80、49.10、12.51和19.83;本實驗中所有訓(xùn)練樣本及測試樣本的具體信息由表2給出。
表2 訓(xùn)練樣本與測試樣本Table 2 Training sets and test sets
本文算法與對比算法在6個不平衡高光譜圖像數(shù)據(jù)上的分類結(jié)果如表3 和表4 所示,F(xiàn)?measure、Gmean 和最小召回率結(jié)果如表5所示。每組數(shù)據(jù)中性能最佳的結(jié)果已用粗體標(biāo)出。
表5 不同算法的F-measure、Gmean和最小召回率Table 5 F-measure,Gmean and minimum recall of each algorithm
由表3 和表4 可以看出,與大多數(shù)現(xiàn)有文獻(xiàn)的結(jié)論不同的是,RF 的高光譜圖像分類結(jié)果在統(tǒng)計意義上優(yōu)于傳統(tǒng)RoF的分類結(jié)果。傳統(tǒng)的RoF側(cè)重于多類樣本的分類,而犧牲少數(shù)類樣本的分類準(zhǔn)確率(Breiman,2001);尤其是當(dāng)樣本不平衡率增加時,傳統(tǒng)RoF 算法完全忽略了少數(shù)類樣本的分類精度(Ghosh 和Cabrera,2021)。此外,針對不平衡數(shù)據(jù),本文算法與這兩種未經(jīng)數(shù)據(jù)預(yù)處理的分類算法相比始終可以達(dá)到最佳的分類結(jié)果。
表3 Salinas與Pavia University分類精度Table 3 Salinas and Pavia University classification accuracy/%
表4 Indian Pines分類精度Table 4 Indian Pines classification accuracy/%
續(xù)表
通過ROS 或SMOTE 算法對數(shù)據(jù)預(yù)處理,能起到平衡數(shù)據(jù)集的效果,在不同樣本上ROSRoF 與SMOTERoF 在AA 方面較傳統(tǒng)RoF 都有明顯的提升。由于本文算法將類別平衡融合于分類過程中,本文算法取得的分類結(jié)果與SMOTE 算法作為預(yù)處理的分類結(jié)果相比更有優(yōu)勢。
本文算法不僅對少數(shù)類樣本的分類有幫助,而且在很大程度上提高了總體分類精度。對于Indian Pines數(shù)據(jù),在不平衡率較低的樣本1中,本文所提出的算法與RF 和傳統(tǒng)RoF 相比在AA 方面分別提高了16.53%和7.02%,在OA 方面分別提升了12.90%和4.20%,與ROSRoF和SMOTERoF相比在AA 上分別提高了2.38%和4.01%,在OA 上分別提高了9.3%和11.5%。
而在不平衡率較高的樣本4中,本文算法與其他算法相比分類精度也有明顯提升,說明本文算法在不平衡率改變的情況下同樣具有很好的性能。另外對于F?measure、Gmean 和最小召回率這3 個評價指標(biāo),本文算法的分類結(jié)果明顯優(yōu)于其他分類算法。各算法的樣本多樣性和運(yùn)行時間分別由表6和表7給出。本文算法利用動態(tài)采樣技術(shù),因此在集成分類器多樣性上本文算法的性能顯著提升。
表6 算法的樣本多樣性Table 6 Sample diversity of each algorithm
表7 算法運(yùn)行時間Table 7 Run time of each algorithm/s
在p< 0.05 的情況下,McNemar 的測試值超過1.96,就意味著兩種算法之間存在顯著差異性。McNemar 的測試結(jié)果如表8 所示。從表8 中可以看出,本文算法與其他算法的McNemar 測試結(jié)果均大于1.96,也就是說,與其他算法相比,本文算法的性能提升十分顯著。
表8 McNemar的測試結(jié)果Table 8 Results on Mcnemar’s test
不同算法的高光譜圖像分類結(jié)果如圖2—圖4所示,其中圖2 顯示的是Indian Pines 數(shù)據(jù)在IR 為49.1 時的分類結(jié)果。不同數(shù)據(jù)上的分類結(jié)果表明本文提出的算法性能明顯優(yōu)于RF 算法與傳統(tǒng)RoF算法,在少數(shù)類別的樣本分類精度高的同時,多數(shù)類樣本同樣能被更好地識別出來。
圖2 Indian Pines分類結(jié)果Fig.2 Indian Pines classification results
圖4 Salinas分類結(jié)果Fig.4 Salinas classification results
本文提出了一種基于SMOTE 和RoF 動態(tài)集成算法來解決多類高光譜數(shù)據(jù)不平衡分類問題。該算法是一種基于內(nèi)部不平衡采樣的集成方法,使用樣本重要性函數(shù)確定樣本的權(quán)重,以降低SMOTE 算法引入人工噪聲的風(fēng)險,并利用動態(tài)采樣來增加樣本多樣性。本文使用Indian Pines、Salinas 和Pavia University 高光譜數(shù)據(jù)對提出的算法進(jìn)行多類不平衡的分類實驗,選用4 種對比算法,分別是RF、傳統(tǒng)RoF 算法,以及ROS和SMOTE 預(yù)處理后再使用RoF 分類的算法相比較,采用多種評價方法對算法的分類性能進(jìn)行評價,包括總體分類精度、平均分類精度、F?measure、Gmean、最小召回率、樣本多樣性、模型訓(xùn)練時間以及McNemar 測試。實驗結(jié)果表明,與未經(jīng)數(shù)據(jù)平衡處理的分類算法相比,本文算法具有優(yōu)異的表現(xiàn)。
通過對比實驗可以看出,在Salinas 以及Pavia這類數(shù)據(jù)不平衡度較低的數(shù)據(jù)集中,本文算法在提高少數(shù)類樣本分類精度的同時,仍舊在很大程度上提高了總體分類精度。而且,本文算法在不平衡率較高的Indian Pines數(shù)據(jù)集上的分類精度表明,本文算法在不平衡率該表的情況下同樣擁有很好的性能。本文算法的評價參數(shù)例如McNemar 的結(jié)果均大于1.96 可以說明,與同類算法相比性能有十分顯著的提升。同時,對比SMOTE 只作為數(shù)據(jù)預(yù)處理的方法,本文算法將數(shù)據(jù)采樣與分類過程內(nèi)部結(jié)合,不僅在多數(shù)類別上保持高分類精度,而且能很好地識別少數(shù)類樣本。同時,本文算法采用動態(tài)采樣技術(shù),能有效提高樣本的多樣性。
在下一步工作中,可以將本文算法與一些特征提取算法相結(jié)合,例如奇異譜分析和稀疏表示,從而進(jìn)一步提升樣本多樣性。