陳 濤
(深圳職業(yè)技術(shù)學(xué)院 教育技術(shù)與信息中心,廣東 深圳518055)
多示例學(xué)習(xí)是T.G.Dietterich 等人[1]在1997年研究藥物活性分子預(yù)測中提出的概念.它是通過對一組由多個示例組成的包訓(xùn)練,預(yù)測未知包標(biāo)簽的學(xué)習(xí)方法,被認(rèn)為是一種新的機器學(xué)習(xí)框架,能被應(yīng)用于解決預(yù)測藥物活性分子、文本分類、圖像檢索和分類等問題.
與有監(jiān)督學(xué)習(xí)方法不同,多示例學(xué)習(xí)是對由多個示例組成的包進行學(xué)習(xí)和預(yù)測.包有標(biāo)簽但沒有特征,示例有特征沒有標(biāo)簽,包中的多個示例共享一個包的標(biāo)簽.多示例學(xué)習(xí)框架中,訓(xùn)練集由一組具有標(biāo)簽的包組成,每個包中含有若干個沒有標(biāo)簽的示例.若1 個包中至少有1 個正示例,則該包被標(biāo)記為正包;若1 個包中所有示例都為負(fù)示例,則該包才被標(biāo)記為負(fù)包.通過對訓(xùn)練包的學(xué)習(xí),希望學(xué)習(xí)系統(tǒng)能夠?qū)π掳鼧?biāo)簽進行正確預(yù)測[2].
近年來,有學(xué)者提出將示例特征空間變換為包特征空間[3,4],將多示例學(xué)習(xí)轉(zhuǎn)換為有監(jiān)督學(xué)習(xí),如DD-SVM[5]、MILES[6]等算法.在集成學(xué)習(xí)算法上,蘇艷等[7]在2012年提出一種基于動態(tài)隨機特征子空間的半監(jiān)督集成學(xué)習(xí)方法,應(yīng)用到情感分類.王嬌等[8]提出將隨機子空間方法應(yīng)用到半監(jiān)督協(xié)同訓(xùn)練學(xué)習(xí).余國先等[9]將隨機子空間方法應(yīng)用到基于圖的半監(jiān)督學(xué)習(xí)分類,在人臉識別數(shù)據(jù)集上取得了較好的分類精度.
由于變換空間后的包特征維度較高,易帶來兩個問題:一是樣本數(shù)量小,特征維度高,使得分類器的泛化性能受到影響;二是在高維空間上的距離度量難以反映出樣本之間的近鄰結(jié)構(gòu)信息,從而導(dǎo)致分類器的分類性能下降.針對這兩個問題,本文利用集成學(xué)習(xí)方法,通過多個弱分類器集成,來解決數(shù)據(jù)特征的高維問題以提高分類精度.
一組有l(wèi)個已標(biāo)簽的多示例數(shù)據(jù)集L={<B1,y1>,<B2,y2>,...,<Bl,yl>},u個未標(biāo)簽的數(shù)據(jù)集U={Bl+1,Bl+2,...,Bl+u},Bi= {Bi1,Bi2,...,Bini},Bij∈Rd,i=1,...,n,j= 1,...,ni,ni為包Bi中的示例個數(shù),d為示例的特征維數(shù),yk∈{1 ,...,c},k=1,...,l,c為類別數(shù),l+u=n.包Bi由多個示例Bij組成.包有標(biāo)簽沒有特征;示例具有特征沒有標(biāo)簽,包中的多個示例共享一個包的標(biāo)簽.目標(biāo)是在訓(xùn)練集L上學(xué)習(xí)一個分類函數(shù))(xf,使得 )(xf能正確預(yù)測未標(biāo)簽包U的分類.
可以將多示例學(xué)習(xí)轉(zhuǎn)化為有監(jiān)督學(xué)習(xí),就需要先構(gòu)造出一個包特征.一些文獻(xiàn)提出了不同的包特征生成方法,這里,我們采用MILES 算法[6].其它包特征方法也適用MSEMIL 算法.
將一個包Bi向訓(xùn)練集L中的所有示例(m個)映射,得到一個m維特征,映射公式為:
其中,Bij是包Bi的1 個示例.通過向所有示例投影映射,包中的多個示例特征融合為1 個新的包特征,每1 維代表包與1 個示例之間的相似度.2σ為1 個控制相似度取值大小的參數(shù),這里取包Bi中所有示例與xk之間的歐氏距離均值.
將L+U中的每個包向L中的所有示例進行逐一投影映射,得到一個新的樣本集合X:
式(3)矩陣,列向量為一個包特征,列向量上的每一維是包與一個示例的相似度.由于包是向每一個示例進行的投影映射,這樣生成的包特征能夠不失真的反映包與示例間的關(guān)系.但是,會產(chǎn)生出2 個問題:1)例如MUSK2 數(shù)據(jù)集有6598 個示例,這樣,示例數(shù)較大,會產(chǎn)生高維特征問題;2)樣本數(shù)較大而維度較小,會產(chǎn)生過擬合問題.有必要對這些大量冗余或不相關(guān)屬性,先采取特征選擇或者約減.本文采用構(gòu)造樣本子集和隨機選取特征子集的集成學(xué)習(xí)方法來處理這兩個問題.
1.2.1 Bagging 法選取訓(xùn)練樣本子集,與測試集組合形成Ts個樣本子集
多次Bagging 法,能得到多個訓(xùn)練樣本子集.經(jīng)過公式(1)后,得到訓(xùn)練樣本集合X= {X1,X2,...,Xl}.對訓(xùn)練樣本集合進行Ts次Bagging 法,能得到Ts個訓(xùn)練樣本子集Si(i∈ 1,...,Ts).Si能被表示為:
得出Ts個訓(xùn)練樣本子集 {S1,S2,...,STs}后,將它們分別與測試集組合,形成新的Ts個樣本子集{W1,W2,...,WTs}.
1.2.2 隨機選取特征子集
經(jīng)過公式(1)映射函數(shù)后,得到的包特征是一個m維特征向量.即:有m維特征,F(xiàn)= {f1,f2,...,fm},fi是包中的一維特征.隨機選取特征子集方法,是在m維特征中隨機選取出d維,作為一個特征子集;接著重新在m維中隨機選取出d維特征;直至選取出Tf個特征子集為止.一個特征子集能表示為:
其中,f kj∈F(為特征集F中的一個特征,F(xiàn)j?F為特征集F的一個子集,維度d<m,Tf為隨機特征子空間的個數(shù).
1.2.3 將Ts個樣本子集Wi向Tf個特征子集Fj上投影,得到T個子空間
將1 個樣本Xi向特征子集Fk={f1k,f2k,...,fdk}投影,記為是指在原始特征為m維的Xi∈Rn×m上,選取出特征子集Fk上有的特征,去掉Fk子集上沒有的特征,形成新的d維特征的
令1 個樣本Xi向Tf個特征子集投票,能構(gòu)造出Tf個新的樣本,有:
那么,一個樣本子集Wi,向Tf個特征子集的投影矩陣為:
將(7)投影矩陣的列向量看作一個子空間Rij,在每個子空間上訓(xùn)練一個分類器,那么樣本子集Wi就有Tf個子空間,需要訓(xùn)練Tf個子分類器.
總共能得到T=Ts×Tf個子空間.在每個子空間Rij(i∈1..Ts,j∈1..Tf)上訓(xùn)練1 個子分類器Cij(Rij),對測試集的分類結(jié)果為多個子分類器的集成投票.
選用基于圖的半監(jiān)督學(xué)習(xí)分類器LGC 作為子分類器[9].LGC 方法是一個直推分類器,先需要構(gòu)造出1 個圖,將多示例學(xué)習(xí)中的每個包作為圖中的1 個結(jié)點,結(jié)點之間采用邊權(quán)重連接.權(quán)重矩陣W能被表示為:
LGC 方法構(gòu)造優(yōu)化函數(shù):
初始化y∈Rn×c向量,如果有已標(biāo)記樣本xi屬于j類 (xi∈cj),則yij=1,行向量yi的其余列被置為0;未標(biāo)記樣本xk的行向量yk的所有列被置為0;f0=y.
計算出來的f∈Rn×c,是一個n×c矩陣,每一行向量fi代表樣本xi的分類結(jié)果,fij代表xi屬于類別jc的概率.如果需要判定樣本ix的分類類別,可以有:
這里,采用最大投票判別法集成子分類結(jié)果.把各個子分類器的輸出看作同等重要,選取少數(shù)服從多數(shù)的分類結(jié)果作為最后輸出.它被表示為:
昨晚妻子已向他提及這家新開的影樓。天下所有妻子都如她一般多疑嗎?還是他過于敏感?妻子問他,那家高美影樓的老板娘,你認(rèn)識吧?
R為子分類器的個數(shù).
選取兩組實驗.第1 組為MSEMIL 算法在Corel圖像庫上進行分類,并與其它MIL 或MIL 集成學(xué)習(xí)算法作分類精度比較;第2 組為子空間參數(shù)對MSEMIL 算法分類精度影響.參數(shù)σ取各子空間上樣本兩兩之間的歐氏距離均值,k近鄰大小取5,參數(shù)α取值為0.2.取10 次隨機實驗結(jié)果的平均值.
實驗1:MSEMIL 算法的分類精度
通過在Corel 圖像集上的分類實驗,來驗證MSEMIL 算法的有效性.參與對比的6 個算法[5,6]有:MILES、DD-SVM、EM-DD 等3 個MIL 算法,和EMDD-bagging、MILES-LGC-bagging、MILESLGC-RS 等3 個MIL 集成學(xué)習(xí)算法.在Corel 2000數(shù)據(jù)集上的分類是一個多分類問題.MSEMIL、MILES-LGC-bagging、MILES-LGC-RS 等3 個算法采用半監(jiān)督學(xué)習(xí)分類器作為基礎(chǔ),能夠直接分類多類別問題.EM-DD-bagging 等其它4 個算法采用“一類反對余下類”的方法區(qū)分多類別,需要訓(xùn)練c個分類器,選取輸出最大值的那個分類器作為圖像的標(biāo)簽.實驗中,參數(shù)Ts取值15,Tf取值55,d取值120 時,獲得了實驗的最好性能.
第1 組實驗:在Corel 2000 數(shù)據(jù)集上的分類精度比較
選取Corel 2000 圖像庫作為圖像分類實驗的數(shù)據(jù)集.有20 類圖像,每類有100 幅圖像,共2000 幅圖像.采用DD-SVM[5]圖像分割方法,每個圖像被分割成5-10 個區(qū)域,每個區(qū)域用一個9維的特征表示.
為了考察未標(biāo)簽圖像數(shù)對算法性能的影響,分別取100,間隔100,直到1000 幅訓(xùn)練集圖像、未標(biāo)簽圖像(測試集)數(shù)取時,執(zhí)行實驗.MSEMIL 等7 個算法的分類精度如圖1所示.
第2 組實驗:子空間參數(shù)對MSEMIL 的分類精度影響
子空間參數(shù)有子空間的特征維數(shù)d和子空間個數(shù)T.其中,子空間個數(shù)受兩個參數(shù)影響T=Ts×Tf,一個是樣本子集個數(shù)Ts,一個是特征子集個數(shù)Tf.
圖1 在Corel 2000 圖像庫上的分類精度
實驗1:子空間的特征維數(shù)d對分類精度的影響
MSMIL 算法對子空間的特征維數(shù)d依賴較大,將d從50 增加到200,間隔10.Ts取15,Tf取50.圖7顯示了不同維數(shù)d時的分類精度變化:
從圖2可以看出,子空間特征維數(shù)d取50-120時,分類精度逐漸提高,到120 時,達(dá)到最高的分類精度86.8%.繼續(xù)增大維數(shù)d,分類精度不增反減.分析其原因,當(dāng)d取較小的值時,子空間特征維數(shù)太小,子分類器得到的數(shù)據(jù)信息較少,不利于訓(xùn)練分類器;當(dāng)d取過大的值時,一是削弱了子空間之間的差異性,另一個是高維特征不利于LGC分類器上的圖的構(gòu)建.
實驗2:特征子集個數(shù)Tf對分類精度的影響
考察特征子集個數(shù)Tf,取Tf從10 增加到70.Ts取15,d取120.圖3給出了不同的特征子集個數(shù)Tf的分類精度變化:
由圖3可以看出,特征子集個數(shù)Tf從10 增加到55 的過程中,分類精度穩(wěn)步上升;從55 增加80 的過程中,分類精度變化不大.在特征子集維數(shù)d取120 的情況下,55 個子分類器的集成,已經(jīng)能達(dá)到較好的精度,此時再增加特征子集個數(shù)Tf(等同于增加子分類器個數(shù)),也難以對分類精度有所提升.
圖2 不同子空間特征維數(shù)d 時分類精度
圖3 不同特征子集個數(shù)Tf 時分類精度
實驗3:樣本子集個數(shù)Ts對分類精度的影響
將樣本子集個數(shù)Ts從1 增加到20.Tf取55,d取120.圖4給出了不同的樣本子集個數(shù)Ts的分類精度變化:
從圖4可以看出,通過bagging 法構(gòu)建多個樣本子集,增加了子分類器之間的差異性,能夠提高MSEMIL 的分類精度.當(dāng)Ts取13 時,達(dá)到了最好的分類精度.但是,之后再增加樣本子集,并不能給MSEMIL 帶來分類精度的繼續(xù)提升.
圖4 不同樣本子集個數(shù)Ts 時分類精度
本文提出的基于多個子空間集成的多示例學(xué)習(xí)算法(MSEMIL),通過變換示例特征空間為包生成一個包特征,將多示例學(xué)習(xí)轉(zhuǎn)換為有監(jiān)督學(xué)習(xí).利用集成學(xué)習(xí)來處理包特征的高維問題,融合bagging 法構(gòu)造樣本子集和概率選取特征子集,集成多個子空間上構(gòu)造分類器的差異性.用半監(jiān)督學(xué)習(xí)分類器作為基礎(chǔ)分類器,利用未標(biāo)簽數(shù)據(jù)來參與學(xué)習(xí),提高算法的分類精度.在Corel 數(shù)據(jù)集上的實驗表明,MSEMIL 具有分類精度高的特點.