略還得 進(jìn)一步研宄。
[0010] 標(biāo)準(zhǔn)的SVM在樣本訓(xùn)練時(shí)多采用被動(dòng)學(xué)習(xí)方法,這種學(xué)習(xí)方法在訓(xùn)練學(xué)習(xí)過(guò)程 中,需要外界對(duì)未標(biāo)記樣本進(jìn)行標(biāo)記形成訓(xùn)練樣本集,而在很多的現(xiàn)實(shí)應(yīng)用中,對(duì)樣本集進(jìn) 行標(biāo)注代價(jià)昂貴、枯燥乏味或是異常困難,同時(shí)所標(biāo)注的樣本大部分并不是支持向量,去掉 這些非支持向量對(duì)SVM分類精度其實(shí)是沒(méi)有影響的,SVM主動(dòng)學(xué)習(xí)就是針對(duì)SVM存在的這 類問(wèn)題,在訓(xùn)練學(xué)習(xí)過(guò)程中,主動(dòng)選擇少量具有代表性的、分類不確定性的樣本,即最有可 能成為支持向量的樣本,進(jìn)行標(biāo)記以形成訓(xùn)練樣本。
[0011] 現(xiàn)有的主動(dòng)學(xué)習(xí)方法只適用于二類SVM分類問(wèn)題,對(duì)于多類SVM分類問(wèn)題,現(xiàn)有的 方法多采用將多類分類轉(zhuǎn)換為多個(gè)二分類問(wèn)題,每個(gè)二分類器都有各自的分類器,這時(shí)常 規(guī)的主動(dòng)學(xué)習(xí)方法將不再適用,如基于熵的主動(dòng)學(xué)習(xí)方法雖然可以較好地用于多類分類問(wèn) 題中,但是當(dāng)類別數(shù)量較多時(shí),熵往往不能很好地代表樣本的分類不確定性,存在著分類速 度慢、拒分、決策盲區(qū)、誤差累積等問(wèn)題,影響了分類器的分類精度和泛化性能。
[0012] 因此,研宄如何將SVM及SVM主動(dòng)學(xué)習(xí)應(yīng)用于多類問(wèn)題,對(duì)拓展SVM主動(dòng)學(xué)習(xí)的應(yīng) 用將具有非常重要的意義。多類SVM(Multi-class SVM,MSVM)是SVM在多類應(yīng)用中的擴(kuò) 展。
[0013] 下面分別介紹SVM多類分類方法和SVM多類分類主動(dòng)學(xué)習(xí)。
[0014]-、SVM多類分類方法
[0015] 針對(duì)兩類SVM如何擴(kuò)展到多類分類,學(xué)者們先后提出了多種SVM多類分類算法,通 常采用的方法是將多類問(wèn)題轉(zhuǎn)化為一組二類分類問(wèn)題的組合。
[0016] 1、構(gòu)造多類分類器的方法
[0017] (1) 一對(duì)多方法(one versus all,〇-v_a)
[0018] Vapnik提出的o-v-a(one versus all)多類分類方法,通過(guò)在每一類和其余類之 間構(gòu)建超平面,將一個(gè)K類問(wèn)題轉(zhuǎn)化為K個(gè)兩類分類問(wèn)題。在這種方式下,共需要構(gòu)建K 個(gè)SVM,對(duì)第k個(gè)SVM訓(xùn)練以第k類中的樣本作為正的訓(xùn)練樣本,而將其它K-1類的樣本作 為負(fù)的訓(xùn)練樣本,每一個(gè)SVM分類器都將某一類與其它類分開(kāi)。對(duì)一個(gè)未知樣本X,第k個(gè) SVM的判決函數(shù)值為,/;(x) = ^=iaf.v,Az(xpx) + M,那么一對(duì)多SVM多類分類判決結(jié)果為i = argmaxk {f\ (x),…,fk (x),…,fK (x)} 〇
[0019] 一對(duì)多方法實(shí)現(xiàn)簡(jiǎn)單、有效,訓(xùn)練時(shí)間較短,可用于訓(xùn)練大規(guī)模數(shù)據(jù),被大多數(shù)SVM 分類工具箱所采用。但缺點(diǎn)在于:
[0020] 1)當(dāng)類別數(shù)較大時(shí),某一類的訓(xùn)練樣本數(shù)將大大少于其它類訓(xùn)練樣本數(shù)的總和, 訓(xùn)練樣本分布不均衡將對(duì)分類精度產(chǎn)生影響;
[0021] 2)當(dāng)訓(xùn)練樣本數(shù)n和類別數(shù)K較大時(shí),訓(xùn)練和測(cè)試分類的速度很緩慢;
[0022] 3)當(dāng)測(cè)試樣本x不屬于K類中任何一類或具有最大決策函數(shù)值的類不止一個(gè)時(shí), 存在拒分或決策盲區(qū)問(wèn)題。
[0023] (2) -對(duì)一方法(one versus one,〇-v-〇)
[0024] 相比 o_v_a多類分類方法需要構(gòu)建K個(gè)SVM分類器,〇-v_o方法通過(guò)在任意兩個(gè) 類之間構(gòu)建分類超平面,將一個(gè)K類問(wèn)題轉(zhuǎn)化為K (K-1) /2個(gè)兩類分類問(wèn)題。訓(xùn)練將第i類 與第j類樣本分開(kāi)的分類器(其中i〈j),以第i類樣本作為正類樣本,以第j類樣本作 為負(fù)類樣本,每個(gè)SVM訓(xùn)練中僅需要用到兩個(gè)類別的訓(xùn)練樣本,共需要訓(xùn)練K (K-1) /2個(gè)分 類器。在測(cè)試時(shí),對(duì)每個(gè)類別設(shè)定一個(gè)計(jì)數(shù)器^,則對(duì)于任意樣本X,若有t(X) = 1,則將 第i類的計(jì)數(shù)器W加一,否則將第j類計(jì)數(shù)器\加一。對(duì)樣本x的最終結(jié)果常采用投票法 決定,得票最多(Max Wins)的類為測(cè)試樣本所屬的類,即i = argmaXkliii,…,uk, ???,%}〇
[0025] 相比"〇-v_a"方法,"〇-v_o"方法算法的優(yōu)點(diǎn)是各個(gè)SVM容易訓(xùn)練、決策邊界簡(jiǎn)單 以及分類精度較"〇-v-a"高。缺點(diǎn)是:
[0026] 1)如果單個(gè)兩類分類器不規(guī)范化,則整個(gè)K類分類器將趨向于過(guò)學(xué)習(xí);
[0027] 2)推廣誤差無(wú)界;
[0028] 3)分類器的數(shù)目隨類數(shù)K急劇增加,導(dǎo)致分類決策速度慢;
[0029] 4)在測(cè)試分類時(shí),若出現(xiàn)某兩類或兩類以上所得的票數(shù)相同時(shí),系統(tǒng)將無(wú)法判定 屬于哪一類,即該方法存在拒分或決策盲區(qū)問(wèn)題。
[0030] 2、構(gòu)造多類分類器的其它方法
[0031] (1)誤差修正輸出編碼(Error-Correcting Output Codes,EC0C)
[0032] EC0C是Bose和RayChaudhuri在1960年提出的一種分布式輸出碼,1963年,Duda, Machanik和Singleton就將其應(yīng)用于模式識(shí)別領(lǐng)域中,1995年Dietterich和Bakiri提出 用EC0C解決多類模式識(shí)別問(wèn)題。EC0C是由1和0組成的一個(gè)碼矩陣,記為M KXS,其中K為 類別數(shù),S為待訓(xùn)練的分類器數(shù)。這種方法中每個(gè)分類器將部分類別作為正類,其余類別作 為負(fù)類,矩陣中的元素m ks表示第k類樣本在第s個(gè)分類器中的劃分情形,編碼矩陣中mks = 1 (mks= 0)表示此時(shí)第s個(gè)分類器f s以第k類樣本是作為正例(負(fù)例)訓(xùn)練訓(xùn)練樣本。采 用上述原則訓(xùn)練S個(gè)分類器這樣對(duì)于每個(gè)類別k,對(duì)應(yīng)一個(gè)S維類別編碼向量Mk。
[0033] 在EC0C的訓(xùn)練過(guò)程中,依上述原則訓(xùn)練分類器f(x) = (f\,…fs),在測(cè)試過(guò) 程中,對(duì)于未知樣本X,計(jì)算分類器的輸出編碼f (X) = {fi(X),…,fs (X) }與各類別 編碼的距離,與其距離最小的類即為X所屬的類,即k = arg mini d (Mi, f (X)),其中,
【主權(quán)項(xiàng)】
1. 基于DDAG的SVM多類分類主動(dòng)學(xué)習(xí)算法,其特征在于,包括以下步驟: 步驟1 :在樣本集尤;=Z上訓(xùn)練K (K-I) /2個(gè)二類SVM分類器,記所有SVM二分 類器組成的多分類器為/1,其中,i = 1,2,…,K,j = 1,2,···,Κ,i乒j,L為已標(biāo)記樣本 集,K為類別數(shù),t = 1 ; 步驟2 :判斷SVM多分類器Zl是否滿足學(xué)習(xí)的終止條件Sstop,若滿足則輸出/_ 并結(jié)束訓(xùn)練,否則轉(zhuǎn)到步驟3 ; 步驟3 :判斷未標(biāo)記或候選樣本集U是否為空,若是,輸出/_=//_并結(jié)束訓(xùn)練;否則, 先對(duì)未標(biāo)記或候選樣本用/1進(jìn)行預(yù)先標(biāo)記,然后根據(jù)基于o-v-o分類決策盲區(qū)的主動(dòng)學(xué) 習(xí)算法,從未標(biāo)記或候選樣本集U中選擇出對(duì)SVM訓(xùn)練最有利的未標(biāo)記樣本集Jfc,并令 U = U-Ifc ; 步驟4 :將樣本集Zfe人工進(jìn)行正確標(biāo)記,并將其加入標(biāo)記樣本集,有i = £ U/f';在更 新的訓(xùn)練樣本集L上使用SVM主動(dòng)增量學(xué)習(xí)算法AIisvm僅對(duì)對(duì)應(yīng)類樣本發(fā)生變化的分類器 /丄#重新訓(xùn)練,并更新分離性測(cè)度矩陣SM h中訓(xùn)練樣本發(fā)生變化的類所對(duì)應(yīng)的分離性測(cè)度; 判斷分類器是否達(dá)到終止條件Ssttjp,若滿足則輸出/1并結(jié)束訓(xùn)練,否則轉(zhuǎn)到步驟 5 ; 步驟5 :對(duì)未標(biāo)記樣本X,X e U,分別計(jì)算樣本X的不確定性度UnM(x)、樣本X與Lx 的相似度dras(x,Lx)、樣本X與仄的相似度d MS(x,Ux),所述Lx為與X同類的標(biāo)記樣本集, 所述U x為與X同類的未標(biāo)記樣本集,選擇m個(gè)滿足UnM(X)彡UnM th、dMS (X,Lx)彡(1_及 dcos(x,Ux)彡dmin的樣本,并記為Cw,[/ = " - /廣w,其中,m為每次采樣的樣本數(shù),UnMth為 不確定性閾值,(1_和dmin為樣本相似度閾值; 步驟6 :將樣本集人工進(jìn)行正確標(biāo)記,并將其加入標(biāo)記樣本集,有i =UJ/ΓΜ;在 更新的訓(xùn)練樣本集L上使用SVM主動(dòng)增量學(xué)習(xí)算法AIisvm僅對(duì)對(duì)應(yīng)類樣本發(fā)生變化的分類 器/Lr重新訓(xùn)練,并更新分離性測(cè)度矩陣SM h中訓(xùn)練樣本發(fā)生變化的類對(duì)應(yīng)的分離性測(cè)度; 令t = t+1,//VM =/=,并轉(zhuǎn)到步驟2,直至訓(xùn)練結(jié)束。
2. 根據(jù)權(quán)利要求1所述的基于DDAG的SVM多類分類主動(dòng)學(xué)習(xí)算法,其特征在于,在步 驟1中,在樣本集;C = Z上訓(xùn)練K (K-I)/2個(gè)二類SVM分類器的過(guò)程為: 輸入:已標(biāo)記樣本集L、未標(biāo)記或候選樣本集U、每次采樣的樣本數(shù)m、