陳青蓮 方曉平 蔡之華
(中國地質(zhì)大學(xué) 武漢 430074)
高光譜遙感圖像分類技術(shù)已大量應(yīng)用于土地利用、地物識別、環(huán)境監(jiān)測等領(lǐng)域[1]。現(xiàn)有的高光譜遙感圖像分類算法有監(jiān)督學(xué)習(xí)與非監(jiān)督學(xué)習(xí),現(xiàn)在倍受關(guān)注的是監(jiān)督學(xué)習(xí)。然而此類方法需要大量的標記樣本。在高光譜遙感圖像信息提取中,標記樣本非常困難,其代價極其昂貴,這使得高光譜遙感圖像的標記樣本數(shù)目非常少,而未標記樣本數(shù)目非常多。主動學(xué)習(xí)能夠以極少標記成本獲得較高分類性能,能很好地解決此類問題。
目前,主動學(xué)習(xí)已被諸多學(xué)者成功地應(yīng)用于高光譜遙感圖像的分類應(yīng)用中。Jashi 等[2]用支持向量機的主動學(xué)習(xí)對高光譜遙感圖像分類,并得到了較高的分類精度;Scheffer 等[3]用樸素貝葉斯的主動學(xué)習(xí)成功提取信息;Lindenbaum 等[4]用K 近鄰作為分類器進行主動學(xué)習(xí),表現(xiàn)出較好的泛化能力。然而,這些算法在實驗中都存在一些局限性。Yu等[5]提出性能更優(yōu)越的基于超限學(xué)習(xí)機的主動學(xué)習(xí)算法(Active Learning Based on Extreme Learning Machine,AL_ELM),該算法以超限學(xué)習(xí)機為分類器,與以往主動學(xué)習(xí)算法相比,該算法有更快反應(yīng)速度,較高泛化能力并能直接對多類別進行分類,既能夠解決支持向量機和K 近鄰等分類時間長的問題,還能解決樸素貝葉斯分類精度不高的問題。然而,該算法用于高光譜遙感圖像分類時效果不佳。我們通過研究與實驗,引入核學(xué)習(xí)機制。實驗結(jié)果表明,基于核超限學(xué)習(xí)機的主動學(xué)習(xí)算法與其他算法相比,有較強的泛化能力及更快的反應(yīng)速度。
超 限 學(xué) 習(xí) 機(Extreme Learning Machine,ELM)[6,15~16]的基本思路是:設(shè)有N 個不同的訓(xùn)練樣本(xi,ti)∈Rn×Rm,i=1,…,N ,xi是n 維特征向量xi=(xi1,…,xin)T,n 為輸入結(jié)點數(shù)目。ti是xi對應(yīng)的類標記,是m 維輸出向量ti=(ti1,…,tim)T,m是輸出結(jié)點數(shù)目。訓(xùn)練樣本類標記與ti之間的關(guān)系為:如果xi原本的類標記是p,那么ti={0,…,0,1,0,…,0},其中,ti的第p 個元素為1,其他的元素為0。
根據(jù)超限學(xué)習(xí)機的理論,如果帶有L 個隱藏結(jié)點的單隱層前饋神經(jīng)網(wǎng)絡(luò)(Single-hidden Layer Feedforward Networks,SLFNs)能以零誤差近似于N個樣本,那么就存在βi,ai和bi,使得

其中,ai=(ai1,…,ain)T表示第i 個隱藏層結(jié)點與輸入結(jié)點之間的輸入權(quán)值,bi表示第i 個隱藏層結(jié)點對應(yīng)的隱藏偏置,βi=(βi1,…,βim)T表示第i 個隱藏層結(jié)點與輸出結(jié)點之間的輸出權(quán)重,xj=(xj1,…,xjn)T表示第j 個樣本。上面的公式用矩陣的形式可以表示如下:

其中

其中,G(ai,bi,xj)用來計算針對第j 個訓(xùn)練示例的第i 個隱藏層結(jié)點的輸出,其解析形式如下:

超限學(xué)習(xí)機的目的是:在滿足約束條件的情況下,懲罰函數(shù)誤差最小化。而其中,最關(guān)鍵的問題是求出β 。在神經(jīng)網(wǎng)絡(luò)中,輸出權(quán)重的范式‖ ‖β與網(wǎng)絡(luò)的泛化性能有著十分緊密的聯(lián)系。‖ ‖β 越小,泛化性能越好;反之,泛化性能越差。求解輸出權(quán)重β 的問題轉(zhuǎn)化成求以下優(yōu)化問題[7]:

其中,εi=[εi,1,…,εi,m]T是對于訓(xùn)練樣本xi的m 個輸出結(jié)點構(gòu)成的訓(xùn)練誤差向量。超限學(xué)習(xí)機的輸出函數(shù)為:

然而當用戶不確定隱藏層輸出向量時,定義核超限學(xué)習(xí)機的核矩陣:

輸出權(quán)重為

此時,核超限學(xué)習(xí)機的輸出函數(shù)為

此時并不需要知道隱藏層結(jié)點數(shù)目,只需知道核函數(shù)即可。本文核函數(shù)為RBF函數(shù),具體形式為

在求出f(x)之后,就可以求出樣本xi的類標記。對于樣本xi而言,該樣本的標記為

其中

主動學(xué)習(xí)(Active Learning,AL)由Lewis和Gale于1994 年提出[8]。主動學(xué)習(xí)的目的在于以盡可能少的訓(xùn)練樣本盡可能高地提高分類精度[13]。在執(zhí)行主動學(xué)習(xí)的過程中,從未標記樣本集選擇有利于提高分類性能的樣本,并將這部分樣本交給專家標記,然后一起加入到訓(xùn)練樣本集中,增大訓(xùn)練樣本集的規(guī)模。利用更新后的訓(xùn)練樣本集,重新訓(xùn)練分類器,并用新的分類器對測試樣本集預(yù)測,如此迭代下去,使得訓(xùn)練樣本集的規(guī)模越來越大,分類器性能越來越好,就達到以盡可能少的訓(xùn)練樣本得到盡可能高的泛化性能的目的。
核超限學(xué)習(xí)機的輸出向量元素值并不一定在0 和1 之間,因而不能直接當作概率來使用。當處理二分類問題時,可以按照下面公式將輸出向量轉(zhuǎn)化成后驗概率[5]:

其中,每個樣本x 的輸出向量為f(x)=[f1(x),…,fm(x)]T,fi為樣本x 的輸出向量的第i 個元素,p(y=1|fi(x))表示樣本x 的輸出向量的第i 個元素為1的概率,即樣本屬于第i 類的后驗概率。
然而,以上的方法僅僅在處理二分類問題時有效。在處理多分類問題時,樣本的后驗概率之和有時候并不等于1,相反,后驗概率之和往往還大于1。為了解決該問題,需要將每個樣本的后驗概率歸一化處理,使樣本的后驗概率之和等于1。可以采用以下方法將每個樣本的后驗概率歸一化處理:

其中,p'(y=1|fi(x))為樣本x 進行歸一化處理之后的后驗概率,而p(y=1|fi(x))表示樣本x 屬于第i類的原始后驗概率。
從上面的兩個公式中可知,在核超限學(xué)習(xí)機中,樣本x 所屬的類別可以標記為該樣本x 的輸出向量中值最大的元素所在的位置。而不管是對于二分類問題,還是多分類問題,將輸出向量的元素值轉(zhuǎn)化成后驗概率之后,樣本x 所屬的類別同樣地可以標記為樣本所屬類別中后驗概率最大的類別的標記。如此,就可以將核超限學(xué)習(xí)機的輸出向量成功轉(zhuǎn)化成后驗概率,這是基于核超限學(xué)習(xí)機的主動學(xué)習(xí)算法中最關(guān)鍵的問題。
假設(shè)標記樣本集XL={(xi,ti)|xi∈Rn,ti∈Rm,i=1,2,…,NL} ,未 標 記樣本集XU={xi|xi∈Rn,i=1,2,…,NU},每次被選樣本的個數(shù)h,核函數(shù)G(x),懲罰因子C 和核參數(shù)γ。根據(jù)以上討論的思想,基于核超限學(xué)習(xí)機的主動學(xué)習(xí)算法按照以下步驟選擇候選樣本:
算法 基于核超限學(xué)習(xí)機的主動學(xué)習(xí)算法流程
1.通過式(7)用標記樣本集XL計算極限學(xué)習(xí)機的核矩陣;
2.用式(8)計算初始輸出權(quán)重β0;
3.設(shè)置算法迭代次數(shù)k=0 ;
4.迭代以下步驟,直至算法終止:
4.1 運用式(9)計算未標記樣本集XU中每個候選樣本的輸出向量;
4.2 針對二分類問題用式(13),針對多分類問題用式(14),將樣本的輸出向量轉(zhuǎn)化成后驗概率;
4.3 根據(jù)式(15)計算未標記樣本集XU中每個樣本的適應(yīng)值,即不確定度值;
4.4 將未標記樣本集XU中樣本適應(yīng)值排序,根據(jù)式(16)從中選出適應(yīng)值最小的前h 個樣本組成批樣本集合Sk;
4.5 將批樣本集合交給專家標記,可以表示為Sk={(xi,ti)|xi∈XU,ti∈Rm};
4.6 將這批樣本集加入到標記樣本集中,XL=XL∪Sk;同時,將這批樣本從未標記樣本集中刪除,XU=XUSk;
4.7 由新的標記樣本集XL用式(8)更新隱藏層輸出權(quán)重βk+1;
4.8 k=k+1;轉(zhuǎn)入4.1。
基于核超限學(xué)習(xí)機的主動學(xué)習(xí),正是依據(jù)上面的步驟,將核超限學(xué)習(xí)機的輸出向量轉(zhuǎn)化成后驗概率,實現(xiàn)對樣本的分類。
實驗采用的數(shù)據(jù)集是Indian Pine,KSC 和DC三種數(shù)據(jù)集,分別從候選樣本集中選擇三種不同規(guī)模的樣本。實驗結(jié)果以分類精度和運行時間兩種評價指標來評價算法性能。從表1 中可以看出,Mclu_Kelm 比Mclu_Elm,Mclu_Nb 和Mclu_Knn 有更高的分類精度。而在處理這三種數(shù)據(jù)集時,Mclu_Kelm 與Mclu_Svm 有極為相近的分類精度。該實驗表明,Mclu_Kelm算法有較強的泛化能力。

表1 在不同數(shù)據(jù)集和不同選擇規(guī)模的情況下,各個算法的分類精度(%)
從表2 中可以看出,Mclu_Kelm 所用時間始終遠遠少于Mclu_Svm 和Mclu_Knn,在很多情況下,與Mclu_Nb相似甚至要快。但因為核學(xué)習(xí)的引入,所用時間比Mclu_Elm 要長。總而言之,該實驗表明,Mclu_Kelm 在處理高光譜遙感圖像分類時比現(xiàn)有的常見算法有更快的響應(yīng)速度。

表2 在不同數(shù)據(jù)集和不同選擇規(guī)模的情況下,各個算法的運行時間(ms)
從表1 和表2,綜合分類精度與運行時間兩個方面來看,在處理高光譜遙感圖像的分類任務(wù)時,Mclu_Kelm 不僅有比較高的分類精度,而且有更短的響應(yīng)時間。由此說明,Mclu_Kelm 非常適用于實時性高光譜遙感圖像分類應(yīng)用。
主動學(xué)習(xí)在高光譜遙感圖像分類中得到廣泛應(yīng)用[14],并取得很高的分類精度。然而,由于分類器的選擇及存在大量非線性數(shù)據(jù),導(dǎo)致高光譜遙感圖像分類精度有待提高,而響應(yīng)時間都比較長。在超限學(xué)習(xí)機中加入核學(xué)習(xí),不但提高了學(xué)習(xí)速度,還可以改善處理非線性數(shù)據(jù)的分類泛化能力。實驗表明Mclu_Kelm 在處理三個高光譜遙感數(shù)據(jù)集時,不僅分類精度比較高,而且有更短的響應(yīng)時間。因此,論文提出的算法可以應(yīng)用于軍事偵察、危險環(huán)境監(jiān)測等實時性場景之中。