一種基于大間隔的集成分類(lèi)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于機(jī)器學(xué)習(xí)領(lǐng)域中的分類(lèi)技術(shù)的集成學(xué)習(xí)方法,特別涉及一種基于大間 隔的集成分類(lèi)方法。
【背景技術(shù)】
[0002] 分類(lèi)是機(jī)器學(xué)習(xí)領(lǐng)域的基本問(wèn)題之一,廣泛應(yīng)用于語(yǔ)言識(shí)別、圖像處理、文本挖掘 等方面。集成算法是當(dāng)前最流行的一種分類(lèi)方法,其基本思想源自Leslie Valiant教授提 出的probably approximately correct learning(PAC)理論。具體來(lái)說(shuō),它通過(guò)對(duì)弱分類(lèi) 器的組合來(lái)構(gòu)造一個(gè)強(qiáng)分類(lèi)器。強(qiáng)分類(lèi)器指多項(xiàng)式時(shí)間可解且分類(lèi)精度較高,弱分類(lèi)器則 僅要求比隨機(jī)猜測(cè)好即可。AdaBoost是集成學(xué)習(xí)的典型代表,以決策樹(shù)作為弱分類(lèi)器構(gòu)建 的AdaBoost算法甚至被權(quán)威統(tǒng)計(jì)學(xué)家Breiman評(píng)為最優(yōu)的分類(lèi)算法,在標(biāo)準(zhǔn)集與實(shí)際問(wèn)題 中都展現(xiàn)出極佳性能。
[0003] 對(duì)于2-分類(lèi)問(wèn)題,已知訓(xùn)練集:
[0004] S={(xi,yi),(X2,y2),···,(xn,yn)} e(XXY)n,
[0005] 其中Xlex為樣本特征,yieY={-l,l}為對(duì)應(yīng)的標(biāo)簽, n為樣本數(shù)。弱分類(lèi)器heH是 X到Y(jié)的映射,Η為假設(shè)空間。
[0006] AdaBoost是一個(gè)迭代算法,根據(jù)弱分類(lèi)器的分類(lèi)結(jié)果動(dòng)態(tài)的改變訓(xùn)練集上的分 布,誤分類(lèi)的樣本在下一次迭代中被給予更多關(guān)注。AdaBoost通過(guò)迭代T步建立一個(gè)強(qiáng)分類(lèi) 器
[0008] ht(x)為AdaBoost于第t步選出的弱分類(lèi)器,at為對(duì)應(yīng)的權(quán)值。對(duì)任意的樣本(xi, yi),其間隔可表述為
[0010]對(duì)更一般的集成算法,其算法輸出可看作所有弱分類(lèi)器的線(xiàn)性組合,當(dāng)弱分類(lèi)器 較少時(shí),可直接通過(guò)相關(guān)優(yōu)化準(zhǔn)則直接求解。
[0011]線(xiàn)性規(guī)劃是運(yùn)籌學(xué)中研究較早、發(fā)展較快、應(yīng)用較成熟的一種數(shù)學(xué)方法,研究線(xiàn)性 約束條件下線(xiàn)性目標(biāo)函數(shù)的極值問(wèn)題。其形式可表示如下:
[0013]線(xiàn)性規(guī)劃已作為一種基本工具嵌入到常用的數(shù)據(jù)處理軟件中,如matlab、R等,在R 語(yǔ)言中,僅需要安裝IpSolve包即可使用。
【發(fā)明內(nèi)容】
[0014]針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明提供一種基于大間隔的集成分類(lèi)方法,該方 法通過(guò)分類(lèi)算法能夠生成更大的間隔分布,在多數(shù)數(shù)據(jù)集上表現(xiàn)出更好的預(yù)測(cè)性能。
[0015]為了解決現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明采用如下步驟進(jìn)行:
[0016] 步驟一:對(duì)隨機(jī)的數(shù)據(jù)按照規(guī)定比例劃分訓(xùn)練集、驗(yàn)證集;
[0017] 步驟二:基于對(duì)訓(xùn)練集S= {(xi,yi),(X2,y2),···,(xn,yn)},運(yùn)行AdaBoost算法T步, 輸出強(qiáng)分類(lèi)器sgn[f (x)]和弱分類(lèi)集{1η(Χ),h2(x),···,hT(x)};其中,
[0019]步驟三:基于所述sgn[f(x)]計(jì)算每個(gè)訓(xùn)練樣本(Xi, yi)的間隔,并對(duì)其間隔按升序 排列;
[0020] 步驟四:基于所述sgn[f(x)]和驗(yàn)證集計(jì)算驗(yàn)證誤差ve,通過(guò)所述驗(yàn)證誤差ve按如 下公式計(jì)算出訓(xùn)練集中S={(xi,yi),(X2,y2),…,(xn,yn)}的近似噪聲比例的te,
[0022]步驟五:基于驗(yàn)證誤差ve估算訓(xùn)練集S= {(xi,yi),(X2,y2),···,(xn,yn)}上噪聲樣 本的數(shù)量k;
[0023]步驟六:選取任意訓(xùn)練樣本(Xi,yi),如果訓(xùn)練樣本(Xi,yi)在所述sgn[f(x)]中的 間隔排在k前,則從訓(xùn)練集中5={^1,71),(^72),~,(^ 1,711)}中移除,進(jìn)而獲得新的訓(xùn)練 集S*;
[0024]步驟七:對(duì)步驟一中弱分類(lèi)集{^(",^(",…,^("丨進(jìn)行計(jì)算獲取組合系數(shù)^, 同時(shí)通過(guò)線(xiàn)性規(guī)劃公式對(duì)步驟五中剩余部分的訓(xùn)練集S= {(xi,yi),(X2,y2),···,(xn,yn)}獲 取最大間隔;如下為線(xiàn)性公式:
[0028]其中(xi,yi)來(lái)自新的訓(xùn)練集S%
[0029] 步驟八:將步驟六獲得的最優(yōu)解通過(guò)公式對(duì)應(yīng)的新組合系數(shù)獲得 新的集成強(qiáng)分類(lèi)器sgn[g(x)]。
[0030] 所述步驟一中,包括:
[0031 ] 1)初始化樣本分布,即對(duì)樣本(Xi,yi)賦權(quán)wu = 1/N,i = l,…,n.
[0032] 2)對(duì) ? = 1,2,···,Τ:
[0037] (d)更新訓(xùn)練集上的分布wt + i,i = wti exp(-atyiht(Xi)),然后規(guī)劃化使得
9所述步驟四中,所述噪聲樣本的數(shù)量& 。
[0038]本發(fā)明有益效果:
[0039]第一,本發(fā)明與直接應(yīng)用最大化最小間隔的算法相比,如LP-AdaBoost、Arg-gv,其 自帶去噪過(guò)程,因此克服了此類(lèi)算法對(duì)于噪聲數(shù)據(jù)過(guò)于敏感的缺陷,適用性更強(qiáng)。
[0040]第二,本發(fā)明與其它魯棒的集成算法相比,如LPREG-AdaB〇〇St或更一般的LPBoost、 SoftBoost,這些算法中通常引入了一個(gè)權(quán)衡參數(shù),并且需要通過(guò)交叉驗(yàn)證去獲得參數(shù)的取 值,因而帶來(lái)了高昂的計(jì)算代價(jià),在實(shí)際應(yīng)用中并不適用,而本發(fā)明的去噪過(guò)程并沒(méi)有引入 新的參數(shù),僅需要在AdaBoost運(yùn)行之后,求解一個(gè)線(xiàn)性規(guī)劃問(wèn)題,計(jì)算更加簡(jiǎn)單。
[0041 ]第三,本發(fā)明與AdaBoost算法相比,能夠生成更大的間隔分布,在大多數(shù)數(shù)據(jù)集上 表現(xiàn)出更好的預(yù)測(cè)性能。
[0042]第四,本發(fā)明生成的強(qiáng)分類(lèi)器更加稀疏,對(duì)于預(yù)測(cè)速度要求較高的應(yīng)用來(lái)說(shuō),本發(fā) 明可看作一種更加有效的特征選擇準(zhǔn)則。
【附圖說(shuō)明】
[0043]圖1是本發(fā)明一種基于大間隔理論的集成分類(lèi)方法流程圖。
【具體實(shí)施方式】:
[0044] 下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)地說(shuō)明:
[0045] 如圖1所示,本發(fā)明提供一種基于大間隔的集成分類(lèi)方法,包括如下步驟:
[0046]步驟一 101:對(duì)隨機(jī)的數(shù)據(jù)按照規(guī)定比例劃分訓(xùn)練集、驗(yàn)證集;
[0047]步驟二102,基于對(duì)訓(xùn)練集S= {(XI,yi),(X2,y2),…,(xn,yn)},運(yùn)行AdaBoost算法T 步,輸出強(qiáng)分類(lèi)器sgn[f (x)]和弱分類(lèi)集{1η(Χ),h2(x),···,hT(x)};其中,
[0049]步驟三103:基于所述sgn[f (X)]計(jì)算每個(gè)訓(xùn)練樣本(Xi,yi)的間隔,并對(duì)其間隔按 升序排列;
[0050] 步驟四104,基于所述sgn[f (X)]和驗(yàn)證集計(jì)算驗(yàn)證誤差ve,通過(guò)所述驗(yàn)證誤差ve 通過(guò)如下公式計(jì)算出訓(xùn)練集中S={Ui,yi),(X2,y2),···,(xn,yn)}的近似噪聲比例的te,
[0052]步驟五105,基于驗(yàn)證誤差ve估算訓(xùn)練集S= {(xi,yi),(X2,y2),···,(xn,yn)}上噪聲 樣本的數(shù)量k;
[0053]步驟六106,選取任意訓(xùn)練樣本(Xi,yi),如果訓(xùn)練樣本(Xi,yi)在所述sgn[f(x)]中 的間隔排在k前,貝IJ從訓(xùn)練集中S = {(XI,y 1),(X2,y2),…,(xn,yn)}中移除,進(jìn)而獲得新的訓(xùn) 練集s%
[0054] 步驟七107,對(duì)步驟一中弱分類(lèi)集{^(",^(。,…,^("丨進(jìn)行計(jì)算獲取組合系數(shù) 0t,同時(shí)通過(guò)線(xiàn)性規(guī)劃公式對(duì)步驟五中剩余部分的訓(xùn)練集S = {(Xl,yi),(X2,y2),…,(Xn, yn)}獲取最大間隔;如下線(xiàn)性公式:
[0055] maxp,m m
[0058] 其中(xi,yi)來(lái)自新的訓(xùn)練集S%
[0059] 步驟八108,將步驟六獲得的最優(yōu)解通過(guò)公式
對(duì)應(yīng)的新組合系數(shù) 獲得新的集成分類(lèi)器sgn[g(x)]。
[0060] 所述步驟一中,包括:
[0061 ] 3)初始化樣本分布,即對(duì)樣本(Xi,yi)賦權(quán)wu = 1/N,i = l,…,n.
[0062] 4)對(duì) ? = 1,2,···,Τ:
[0065] (g)計(jì)算
[0067] (h)更新訓(xùn)練集上的分布wt + i,i = wti exp(-atyiht(Xi)),然后規(guī)劃化使得
所述步驟四中,所述噪聲樣本的數(shù)量&=?」。
[0068] 為了使用者更加清晰的理解本發(fā)明的操作過(guò)程,現(xiàn)闡述本發(fā)明的使用方法。
[0069] 本發(fā)明對(duì)windows/linux操作系統(tǒng)均適用。算法采用開(kāi)源軟件R編寫(xiě),運(yùn)行簡(jiǎn)單。具 體實(shí)施步驟如下:
[0070] 1) windows 下 R 安裝。其下載鏈接為:http: "cran · r-pro ject · org/ 〇
[0071 ] 2)執(zhí)行過(guò)程中需要安裝加載的R包。安裝xxx包:install .packages( 'xxx'),在程 序中加載XXX包:1 ibrary (' XXX ')。
[0072] (a)以決策樹(shù)作為弱分類(lèi)器為例,需加載rpart包。為了控制分類(lèi)器的復(fù)雜性,采用 固定層數(shù)的決策樹(shù)。
[0073] (b)過(guò)程中用到線(xiàn)性規(guī)劃,需加載IpSolve包。
[0074]本領(lǐng)域的普通技術(shù)人員應(yīng)能理解,在實(shí)際應(yīng)用中,本發(fā)明中各部件的設(shè)置方式均 可能發(fā)生某些改變,而其他人員在其啟示下也可能做出相似設(shè)計(jì)。需要指出的是,只要不脫 離發(fā)明的設(shè)計(jì)宗旨,所有顯而易見(jiàn)的改變及其相似設(shè)計(jì),均包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種基于大間隔的集成分類(lèi)方法,包括如下步驟: 步驟一:對(duì)隨機(jī)的數(shù)據(jù)按照規(guī)定比例劃分訓(xùn)練集、驗(yàn)證集; 步驟二:基于對(duì)訓(xùn)練集S = {(Xi,yi), (X2,y2),. . .,(Xn,yn)},運(yùn)行AdaBoost算法T步,輸 出強(qiáng)分類(lèi)器sgn[f (X)]和弱分類(lèi)集化i(x),h2(x),. . . ihWx)};其中,步驟Ξ:基于所述sgn[f(x)]計(jì)算每個(gè)訓(xùn)練樣本(xi,yi)的間隔,并對(duì)其間隔按升序排 列; 步驟四:基于所述sgn[f(x)]和驗(yàn)證集計(jì)算驗(yàn)證誤差ve,通過(guò)所述驗(yàn)證誤差ve按如下公 式計(jì)算出訓(xùn)練集中5={(町71),(町72),...,(&,7。)}的近似噪聲比例的16,步驟五:基于驗(yàn)證誤差ve估算訓(xùn)練集S= {(Xi,yi), (X2,y2),. . .,(Xn,yn)}上噪聲樣本的 數(shù)量k; 步驟六:選取任意訓(xùn)練樣本(Xi,yi),如果訓(xùn)練樣本(Xi,yi)在所述Sgn[f(x)]中的間隔排 在k前,則從訓(xùn)練集中8={(町71),(町72),...,(^,7。)}中移除,進(jìn)而獲得新的訓(xùn)練集扣 步驟屯:對(duì)步驟一中弱分類(lèi)集化l(X),h2(X),. . .,hT(X)}進(jìn)行計(jì)算獲取組合系數(shù)氏,同時(shí) 通過(guò)線(xiàn)性規(guī)劃公式對(duì)步驟五中剩余部分的訓(xùn)練集8={^1,71),^2,72),...,(恥,7。)}獲取 最大間隔;如下線(xiàn)性公式: m過(guò)X目,m m其中(xi,yi)來(lái)自新的訓(xùn)練集S% 步驟八:將步驟六獲得的最優(yōu)解通過(guò)公式巧應(yīng)的新組合系數(shù)獲得新的 集成強(qiáng)分類(lèi)器sgn[g(x)]。2. 根據(jù)權(quán)利要求1所述一種基于大間隔理論的集成分類(lèi)方法,其特征在于,所述步驟一 中包括: 1) 初始化樣本分布,即對(duì)樣本佔(zhàn),7〇賦權(quán)'^ = 1/^4 = 1,...,11. 2) 對(duì)t = l,2,. . .,Τ: (a) 構(gòu)造弱分類(lèi)器(b) 計(jì)算當(dāng)前訓(xùn)練誤差k)計(jì)算(d)更新訓(xùn)練集上的分布wt+i,i = wti exp(-ai;yiht(xi)),然后規(guī)劃化使得:。3.根據(jù)權(quán)利要求1所述一種基于大間隔理論的集成分類(lèi)方法,其特征在于,所述步驟四 中噪聲樣本的數(shù)量A = L化xn」。
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種基于大間隔的集成分類(lèi)方法,包括,步驟一:對(duì)隨機(jī)的數(shù)據(jù)按照規(guī)定比例劃分訓(xùn)練集、驗(yàn)證集;步驟二:基于對(duì)訓(xùn)練集S={(x1,y1),(x2,y2),...,(xn,yn)},運(yùn)行AdaBoost算法T步,輸出強(qiáng)分類(lèi)器sgn[f(x)]和弱分類(lèi)集{h1(x),h2(x),...,hT(x)};步驟三:基于所述sgn[f(x)]計(jì)算每個(gè)訓(xùn)練樣本(xi,yi)的間隔,并對(duì)其間隔按升序排列;步驟四:基于所述sgn[f(x)]和驗(yàn)證集計(jì)算驗(yàn)證誤差ve,通過(guò)所述驗(yàn)證誤差ve按如下公式計(jì)算出訓(xùn)練集中S={(x1,y1),(x2,y2),...,(xn,yn)}的近似噪聲比例的te等步驟進(jìn)行,該方法通過(guò)分類(lèi)算法能夠生成更大的間隔分布,在多數(shù)數(shù)據(jù)集上表現(xiàn)出更好的預(yù)測(cè)性能。
【IPC分類(lèi)】G06K9/62
【公開(kāi)號(hào)】CN105574549
【申請(qǐng)?zhí)枴緾N201510997198
【發(fā)明人】廖士中, 劉川, 吳建鋼
【申請(qǐng)人】天津大學(xué)
【公開(kāi)日】2016年5月11日
【申請(qǐng)日】2015年12月24日