袁培森 翟肇裕 任守綱,3 顧興健 徐煥良,3
(1.南京農業大學信息科學技術學院, 南京 210095; 2.馬德里理工大學技術工程和電信系統高級學院, 馬德里 28040;3.國家信息農業工程技術中心, 南京 210095)
高光譜遙感技術通過采集不同目標反射或輻射出不同波長的電磁波, 得到以像素為單位的遙感影像。高光譜圖像(Hyperspectral image)擁有豐富的光譜信息,能提供準確、詳細的土地覆蓋材料描述,在農作物長勢監測、作物養分監測、水分狀況監測、作物生長參數估算、農作物高光譜遙感識別和分類等[1-6]方面具有廣泛的應用。
高光譜圖像波段多, 光譜波段覆蓋范圍廣, 包含豐富的信息, 并可結合空間信息和光譜信息,有效地反映目標的信息。高光譜圖像分類是高光譜遙感對地觀測研究的重要內容,其具體任務是對高光譜圖像中的每一個像素所代表的目標進行有效的分類[7-8]。而非均衡問題是高光譜數據非常普遍的現象,當數據集中類別的比例嚴重失調時,傳統的分類技術對于不平衡的數據集往往不能產生令人滿意的結果[9]。因此非均衡高光譜數據的分類是一個很普遍和重要的問題[10-14]。
處理非均衡數據分類的主要技術包括數據采樣[15-16]、基于代價的分類[17]等。其中,基于數據采樣技術包括過采樣和欠采樣[18]。欠采樣采用減少多類樣本方案,但是由于高光譜圖像訓練樣本一般較少,對采集到的高光譜圖像進行標記代價較高。丟失的標類樣本對分類模型具有較大的影響,因此對于不均衡農業高光譜數據導致的少數類分類質量問題,本文采用典型的合成少數類的過采樣技術(Synthetic minority oversampling technique,SMOTE)[19]。
目前,在非均衡高光譜數據集上的分類研究,尤其是農業高光譜數據分析方面,許多學者進行了研究。ZHANG等[10]提出,模型學習期間使用支持向量進行抽樣,使得訓練數據分布均衡。GARCA等[20]使用隨機采樣和PCA技術對高光譜數據隨機采樣再降維,進而使用決策樹來分類,分類精度雖有所提高,但是該方法試驗結果仍有很大的提升空間。LI等[14]提出基于正交補的數據子空間投影不平衡的高光譜圖像分類技術。CHAO等[13]針對復雜高光譜圖像數據分類中少數類別分類精度低的問題,提出了一種基于MK-LSSVM的不平衡分類方法,該方法使用K-means聚類將多數類劃分為不同的組,在聚類之后使用抽樣技術平衡每個組和少數類,通過構建MK-LSSVM分類器對高光譜圖像進行分類。GRAVES等[21]通過成像光譜數據的分類不平衡數據集繪制物種圖譜,這將有助于研究在越來越大的空間尺度上理解樹種分布。
本文針對非均衡農業高光譜數據,采用過采樣(Oversampling)技術處理少數類樣本數據,通過對少數類采樣個數的分析,研究少數類樣本采樣倍率對分類結果的影響。通過對非均衡高光譜數據采樣,使少數類樣本盡可能均衡,進而采用多類分類器——支持向量分類(Support vector classification,SVC)進行分類。采用SMOTE[19]進行過采樣少數類樣本,研究SMOTE參數對分類精度的影響,研究非均衡高光譜數據分類器與模型的一致性對分類的影響。針對高光譜數據多類分類問題,采用SVC[22]有效解決不平衡高光譜圖像分類模型的集合學習過程。
數據非均衡是數據挖掘等領域常見的問題,例如信用卡欺詐數據分析[16]、疾病診斷[23]、生物信息分析[24]、高光譜數據分析[21]等。BRANCO等[25]總結了非均衡數據的問題,并對比了相關的方法和理論,同時得出,非均衡數據中,用戶更加重視在目標變量域的子集上的預測性能,但是與用戶更相關的樣本在訓練中的代表性較差,進而導致模型對少數類樣本的錯誤估計。

處理不均衡數據,有兩個基本方法[16-17]:改變數據分布,在數據層面使得類別更均衡;改變分類算法,在傳統分類算法的基礎上對分類器采用加權方式,使得模型對少數類更加敏感。采樣技術簡單高效,常用的采樣方法有:欠采樣、過采樣、欠采樣和過采樣綜合采樣[18]。過采樣采用增加少數類樣本,通過設置多數類和少數類的比例系數,在多數類樣本不變情況下,生成指定數量的少數類樣本,如圖1所示,圖中η為少數類的采樣倍率。

圖1 非均衡數據過采樣示意圖Fig.1 Illustration of unbalanced data oversampling processing
SMOTE[19]是典型的非均衡數據過采樣技術,它通過在少數樣本附近位置生成新樣本達到類別平衡的目的,可以有效避免分類器過擬合。其處理基本過程如下:
(1)對少數類中每一個樣本xi,計算它到少數類樣本集Dr中所有樣本的歐氏距離,得到其中k個近鄰。

(1)
式中 rand(·)——均勻分布函數
SMOTE通過生成新的數據集來解決少數類分類不平衡的問題。假設初始數據集中少數類樣本數為|Dr|,多數類樣本數為|Dn|,首先增加(η-1)|Dr|個少數類樣本,并把最初的少數類樣本和新增的少數類樣本都放入新的數據集中。這樣,新的數據集中少數類樣本有η|Dr|個,數據集共η|Dr|+|Dn|個樣本。
根據少數類選擇策略的不同,SMOTE包含 Regular、Borderline1、Borderline2和SVM這4種策略[26]。
非均衡農業高光譜數據的分類采用兩階段處理:數據預處理及過采樣,生成新的采樣數據集;采用多類分類器訓練分類模型,對少數類分類質量進行評估和參數最優化選擇。
采樣預處理通過對少數類進行過采樣使得各類實例大致平等。通過使用過采樣,學習模型能夠極大地克服由于多數類導致的模型先驗偏差。
高光譜數據采用最小-最大規范化(Min-max normalization)[27]對原始數據進行線性變換,設樣本屬性A的值為v,則該規范化為
(2)
式中vmax——屬性A最大值
vmin——屬性A最小值
max——屬性A的值域最大值
min——屬性A的值域最小值
本文將原始數據變換到[0,1]區間,此時最大值和最小值分別為0和1。
通過SMOTE對數據集D中指定的少數類和采樣倍率η進行采樣,新生成的數據集記為D′,D′=η|Dr|+|Dn|。
由于高光譜分類任務數據中通常包括多個類別。主要是通過組合多個二分類器來實現多分類器的構造[28]。一般的高光譜分類問題屬于多類分類(Multi-class classification),即將實例分類為2個類以上的分類問題。多類分類的假設是,每個樣本有唯一的類標簽。多類分類問題通過采用二類分類算法和一定的策略完成多類分類任務,采用的策略有Onevsall和Onevsone[28]。
SVC[29]是基于支持向量機分類的一種技術。對于兩類分類問題,SVC問題可以歸為以下問題:
給定兩類問題的訓練向量xi∈Rd,i=1,2,…,n,類標號yi∈{-1,1},SVC問題的求解公式為
(3)
式中ζi——松弛變量b——截距
w——權重向量J——目標函數
C——調和系數φ——核函數
式(3)的求解需要轉換為對偶形式,其對偶形式為
(4)
其中Qij=yiyjK(xi,xj)=φ(xi)Tφ(xj)
式中e——單位向量y——類標號
α——拉格朗日乘子
αi——拉格朗日乘子
K(xi,xj)——核函數
Q——n×n的半正定矩陣
Qij——Q的元素
式(4)通過核函數φ使得訓練向量映射到高維空間。常見的核函數選擇為徑向基函數(Radial basis function,RBF)[28]
K(x1,x2)=exp(-γ‖x1-x2‖2)
(5)
式中γ——核的泛化能力參數,γ≥0
若γ越小則決策邊界越精簡,泛化能力越強。γ越大表示決策邊界越復雜,則泛化能力越弱。
對于樣本x,其分類的決策函數可以表示為
(6)

(7)
式中fi——分類器決策函數
本文測試的數據集為Indian Pines,該數據集由AVIRIS傳感器在印第安納州西北部的印度松樹林采集,由145像素×145像素和224光譜反射波段組成,波長范圍為4×10-7~2.5×10-6m。該數據集共包含了16類不同的農業對象,共標注10 249個像素類別,數據集真實類及分布比例具體如表1所示。本文算法采用Python 3.6實現。
本文所使用的數據集Indian Pines中類別分布如圖2所示。從圖2可以看出,該高光譜數據集少數類數量分布極不均衡。本文把類別中所占比例低于3%的類別作為少數類,其余作為多數類。因此,該數據集中少數類包括6個:Alfalfa、Corn、Grass-pasture-mowed、 Oats、Wheat和Stone-Steel-Towers。
本文參數設置如下:測試集和訓練集的比例為3∶7。徑向基函數RBF參數γ為0.125,C為1。SMOTE參數k的范圍為3~7,默認為6,新樣本中生成策略默認為SVM。少數類采樣倍率默認為5。

表1 Indian Pines數據集的Groundtruth類及其樣本數Tab.1 Groundtruth class of Indian Pines dataset and its sample size

圖2 數據集樣本類別分布Fig.2 Illustration samples distribution of Indian Pines datasets
試驗從半監督分類預測結果的質量分類效率進行了系統的研究和分析。 定義TP(True positive) 為正類并且也被預測成正類,FP(False positive) 為負類被預測成正類,TN(True negative) 為負類被預測成負類,FN(False negative) 為正類被預測成負類。
分類結果從7個方面進行度量:加權精度pw(Weight precision)、加權召回率rw(Weight recall)、加權F1度量、分類準確率Ac(Accuracy)、精度的幾何平均值GM、平衡準確性指數(Index of balanced accuracy,IBA)和Kappa系數Ka。定義分別為
(8)
(9)
(10)
(11)

式中si——第i類的支持度
i——高光譜數據類別,即每一類的真實類出現次數



ρi——第i類的精度
ri——第i類的召回率
fi——第i類的F1度量
GM度量用于評估不平衡分類應用的分類性能。兩類精度的幾何平均值為
(12)
GM在獲得兩類精度良好平衡的同時使其最大化。
IBA量化了兩類準確性平衡指數與選擇的無偏估計總體準確性之間的權衡,計算式為
IBAθ=[1+θ(TP-TN)]TPTN
(13)
IBAθ取決于用戶定義的參數θ,本文θ設置為1。
Kappa系數[31]Ka準確度指標用于度量不平衡數據集的分類器與模型匹配的精細化程度,公式為
(14)
式中po——評估者之間相對觀察到的一致意見的百分比
ph——一致意見的預期次數
使用觀察到的數據來計算每個觀察者隨機查看每個類別的概率Ka∈(0,1),Ka在0.61~0.80之間表示模型具有較好的一致性[31]。
在原始數據集和采樣數據集上,對比了SVC和隨機森林(Random forest,RF)[32]在Indian Pines數據集的分類準確率。
圖3是對Indian Pines原始數據集和采樣數據集兩個分類方法的分類準確率。采用70%數據集訓練模型、30%數據集作為測試集。在Indian Pines原始數據集上SVC在所有類上的分類準確率為0.78,少數類的分類準確率為0.65,RF在所有類上分類準確率為0.82,在少數類上的分類準確率為0.38。結果表明SVC在原始數據集上的分類準確率比RF低4.88%,但是對于少數類的分類準確率,SVC比RF高71.05%。因此,SVC對少數類分類效果優于RF。

圖3 Indian Pines數據集分類精度對比Fig.3 Classification accuracy comparison of Indian Pines dataset
對數據集中的少數類使用SMOTE采樣之后,在采樣數據集上,SVC和RF的分類準確率有所提高,分別提高32.93%和16.46%。結果表明,SCV在少數類上的分類準確率和提高的比例優于RF。因此,本文采用SVC對高光譜數據進行分類。
圖4是在原始數據集上使用SVC分類的混肴矩陣,橫軸為在16個類別上預測的類標號,縱軸為16個真實類標號。從圖4可以看出,SVC在未采樣的高光譜數據集上的分類效果不理想,尤其是對少數類1、4、7、9這4個類分類精度比較低。

圖4 原始數據集使用SVC分類的混肴矩陣Fig.4 Confusion matrix of original imbalanced dataset with SVC
3.5.1新樣本生成策略
SMOTE的參數k設置為6時,數據集上少數類識別準確率如表2所示。從表2可以看出,SVM 策略對少數類分類結果的加權召回率rw、F1、GM和IBA結果較其它3個策略好。

表2 SMOTE的4種新樣本生成策略對少數類的影響Tab.2 Influence of new instance generating strategy of SMOTE on minority classes
為了進一步測試少數類上新樣本生成策略對分類準確率的影響,在k為6時,測試了少數類分類準確率與4種新樣本生成策略的關系,結果如圖5所示。從圖5可以看出,4個策略中SVM的少數類分類準確率最高,為0.873。

圖5 不同生成策略時少數類的分類準確率Fig.5 Classification accuracy of minority classes with new instance generating strategy of SMOTE
3.5.2參數k
SMOTE新樣本生成策略為SVM時,少數類結果度量與參數k關系如表3所示。從表3可以看出,k為6時,少數類分類結果在加權召回率rw、F1、GM和IBA指標上較好。

表3 少數類結果度量與參數k的關系Tab.3 Classification performance of minority classes with parameters k of SMOTE
為了進一步測試少數類上參數k對分類準確率的影響,在生成策略為SVM時,測試了少數類的分類準確率與參數k的關系,結果如圖6所示。參數k的取值范圍為3~7。少數類的分類準確率為0.855~0.873,其中,k為6時,分類準確率最高,為0.873。

圖6 少數類的分類準確率與參數k的關系Fig.6 Classification accuracy of minority classes with parameters k of SMOTE
3.5.3少數類采樣倍率
高光譜數據中少數類采樣倍率η與精度、召回率和F1測試結果如圖7所示。從圖7可以看出,采用SMOTE對少數類采樣的pw、rw和F1影響非常顯著;采樣倍率η為1~4時,度量值提升幅度最大,pw、rw和F1分別提升了8.67%、30.58%和25.81%;采樣倍率為5~15時,pw、rw和F1變化不明顯,結果比較穩定,具有較好的魯棒性。

圖7 采樣倍率η與pw、rw和F1的關系Fig.7 Relationship of precison, recall rate and F1 with sampling ratio η of SMOTE
參數k為6時,少數類上分類模型的Kappa系數Ka與SMOTE中新樣本生成策略的關系如圖8所示。4個生成策略中少數類分類的Ka變化范圍為0.768~0.829,其中,SVM策略的Kappa系數最高,為0.829。

圖8 新樣本生成策略與Ka的關系Fig.8 Relationship of Ka of model with new instance generating strategy of SMOTE
少數類上的分類模型的Ka與SMOTE中參數k關系如圖9所示。參數k的取值范圍為3~7。少數類分類的Ka范圍為0.803~0.829,其中,k為6時,Kappa系數最高為0.829。
從分類模型一致性度量Ka結果可知,參數k為6時,SVM策略取得最優結果。
表4是SMOTE參數k設置為 6,采用SVM策略時,在非采樣數據集和采樣數據集上的pw、rw和F1

圖9 參數k與Ka的關系Fig.9 Relationship of Ka of model with parameters k of SMOTE

標號采樣數據集原始數據集pwrwF1pwrwF110.940.960.9500040.990.820.9010.650.79710.750.8600090.820.450.58000130.920.900.910.910.810.8616111.0010.830.71
結果。SVC分類器采用RBF核函數,各少數類采樣的倍率η設置為8。
表4中標號表示的類名與表1相同。表4結果表明,通過數據集SMOTE采樣之后,少數類的3個分類指標均有大幅提升。Alfalfa、Grass-pasture-mowed、Oats 3個類由于類數量在原始數據集上過于稀少,非采樣集上3個指標都為0。經過過采樣之后,pw、rw和F1分別為0.94、0.96、0.95、1.00、0.75、0.86和0.82、0.45、0.58。Corn的pw降低了1%,但是rw和F1分別提升了26.15%和13.92%。Wheat的pw提升了1.1%,rw和F1分別提升了11.11%和5.81%,Stone-Steel-Towers的pw不變,但是rw和F1分別提升了20.48%和40.85%。
上述結果表明,稀少的類在非采樣數據集上,其分類的效果較差,往往淹沒于多數類中,經過過采樣,其分類的效果提升非常顯著。Alfalfa、Oats和Grass-pasture-mowed 3個類的rw提升最顯著。
表5是本文方法與SVO[10]及SVM[33]方法在平均分類精度Ac和Kappa系數Ka的試驗對比結果。本文方法在參數k設置為6、采用SVM策略時,分類的平均精度和Kappa系數相比于SVO分別提升了6.72%和3.50%,相比于SVM[33],分別提升了12.21%和3.62%。

表5 與其他方法的準確率對比Tab.5 Classification accuracy comparison with other methods
圖10是默認參數情況下,在采樣數據集上使用SVC分類的混肴矩陣,橫軸為16個預測類標號,縱軸為16個真實類標號。從圖10可以看出,SVC在采樣高光譜數據集上的分類精度提升很大,對少數類1、4、7、9、13和16分類精度的分類效果提升顯著。

圖10 SMOTE采樣數據集上分類精度混肴矩陣Fig.10 Confusion matrix of oversampling dataset with SMOTE
(1)針對農業高光譜數據的非均衡環境下少數類分類精度低的問題,研究了少數類的分類質量,利用過采樣技術對數據進行處理,提升了少數類的分類質量。
(2)在高光譜數據集上進行了試驗驗證,對系統參數進行了試驗和對比分析,試驗結果表明,本文方法能夠較好地提升高光譜數據集少數類分類精度,pw不小于0.82,rw不小于0.45,rw提升顯著,提升幅度在11.11%~ 26.15%之間。