樊順星, 李楚進(jìn), 沈澳
(1.華中科技大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院, 湖北 武漢 430074;2.華盛頓大學(xué)文理學(xué)院, 華盛頓 西雅圖 98195)
不平衡數(shù)據(jù)分類(lèi)問(wèn)題是近年來(lái)機(jī)器學(xué)習(xí)領(lǐng)域的重要研究?jī)?nèi)容.不平衡數(shù)據(jù)是指數(shù)據(jù)集內(nèi)不同類(lèi)的樣本數(shù)量失衡, 即一個(gè)類(lèi)的樣本數(shù)量很少, 另一個(gè)類(lèi)的樣本數(shù)量卻很多, 此時(shí)我們把樣本數(shù)量少的類(lèi)叫做少數(shù)類(lèi), 把樣本數(shù)量多的類(lèi)叫做多數(shù)類(lèi).不平衡數(shù)據(jù)在疾病診斷、風(fēng)險(xiǎn)管理、生物學(xué)等領(lǐng)域經(jīng)常出現(xiàn).比如在進(jìn)行癌癥早期篩查時(shí), 檢測(cè)者中健康人的數(shù)量遠(yuǎn)大于癌癥患者.傳統(tǒng)分類(lèi)方法是以總體分類(lèi)效果為指導(dǎo)的, 所以受多數(shù)類(lèi)的影響較大, 進(jìn)而在分類(lèi)決策時(shí)偏向于把樣本分到多數(shù)類(lèi).這樣的分類(lèi)偏向?qū)е聜鹘y(tǒng)分類(lèi)方法對(duì)于少數(shù)類(lèi)的分類(lèi)效果不佳,而在現(xiàn)實(shí)中人們往往更在意少數(shù)類(lèi)的分類(lèi)效果.因此, 即使傳統(tǒng)分類(lèi)方法能在不平衡數(shù)據(jù)分類(lèi)中取得較高的總體分類(lèi)正確率, 但依然無(wú)法滿(mǎn)足人們的現(xiàn)實(shí)需要.如何改進(jìn)傳統(tǒng)分類(lèi)方法使其能勝任不平衡數(shù)據(jù)分類(lèi)成了一個(gè)熱點(diǎn)問(wèn)題.不平衡數(shù)據(jù)的分類(lèi)策略主要分為兩個(gè)層面: 數(shù)據(jù)層面和算法層面.
數(shù)據(jù)層面.這類(lèi)方法通過(guò)減少多數(shù)類(lèi)樣本(欠采樣)或增加少數(shù)類(lèi)樣本(過(guò)采樣)的方法使不平衡數(shù)據(jù)集變?yōu)槠胶鈹?shù)據(jù)集.欠采樣時(shí), 若是直接隨機(jī)移除多數(shù)類(lèi)數(shù)據(jù), 則有可能恰好把某些重要的多數(shù)類(lèi)數(shù)據(jù)移除, 進(jìn)而損失多數(shù)類(lèi)分類(lèi)的重要信息, 極大損害總體分類(lèi)性能.所以常用EasyEnsemble等算法獲得欠采樣的平均效果[1].過(guò)采樣時(shí), 如果直接簡(jiǎn)單重復(fù)已有的少數(shù)類(lèi)樣本, 可能會(huì)造成過(guò)擬合.為避免這個(gè)問(wèn)題, 常用SMOTE等算法合成新的少數(shù)類(lèi)樣本[2-3].
算法層面.這種方法不改變數(shù)據(jù)集的原始分布, 而是對(duì)傳統(tǒng)算法進(jìn)行修改使其能用于不平衡數(shù)據(jù)分類(lèi)或是提出新的不平衡分類(lèi)算法.其中最常用的是代價(jià)敏感學(xué)習(xí).它給少數(shù)類(lèi)設(shè)置更高的錯(cuò)分代價(jià), 給多數(shù)類(lèi)設(shè)置較低的錯(cuò)分代價(jià), 然后以整體錯(cuò)分代價(jià)最小化為目標(biāo)確定模型.這樣做能減少在分類(lèi)決策時(shí)傳統(tǒng)分類(lèi)器對(duì)于多數(shù)類(lèi)的偏向.人們已經(jīng)把代價(jià)敏感學(xué)習(xí)應(yīng)用在了許多傳統(tǒng)的分類(lèi)方法上, 例如支持向量機(jī)[4]、K鄰近[5]、決策樹(shù)[6].
另一方面, 關(guān)于樸素貝葉斯分類(lèi)器用于不平衡數(shù)據(jù)分類(lèi)的研究較少.但是關(guān)于改進(jìn)樸素貝葉斯總體分類(lèi)能力的研究較多.例如通過(guò)最大化CLL或最小化MSE目標(biāo)函數(shù)來(lái)確定權(quán)重值的一般屬性加權(quán)樸素貝葉斯模型WANBIACLL、WANBIAMSE.[7]以及通過(guò)最大化CLL或最小化MSE目標(biāo)函數(shù)來(lái)確定權(quán)重值的類(lèi)依賴(lài)屬性加權(quán)樸素貝葉斯模型CAWNBCLL、CAWNBMSE.[8]這些屬性加權(quán)方法能增強(qiáng)樸素貝葉斯對(duì)訓(xùn)練數(shù)據(jù)的擬合能力, 進(jìn)而減少現(xiàn)實(shí)數(shù)據(jù)違反條件獨(dú)立性假設(shè)所帶來(lái)的不良影響, 提高樸素貝葉斯的總體分類(lèi)性能.
但是這些改進(jìn)樸素貝葉斯模型依然在不平衡數(shù)據(jù)分類(lèi)中存在對(duì)多數(shù)類(lèi)的偏向性, 無(wú)法勝任不平衡數(shù)據(jù)分類(lèi)任務(wù).且與傳統(tǒng)分類(lèi)算法在二分類(lèi)問(wèn)題中可以通過(guò)調(diào)節(jié)分類(lèi)閾值來(lái)調(diào)節(jié)少數(shù)類(lèi)的召回率與精確率不同的是, 屬性加權(quán)樸素貝葉斯算法估算出的后驗(yàn)概率不符合概率定義, 有可能正類(lèi)和負(fù)類(lèi)的后驗(yàn)概率都大于0.5, 所以無(wú)法視作是根據(jù)分類(lèi)閾值進(jìn)行分類(lèi)決策, 進(jìn)而無(wú)法通過(guò)調(diào)節(jié)分類(lèi)閾值的方法調(diào)節(jié)少數(shù)類(lèi)的召回率與精確率.
針對(duì)原始的樸素貝葉斯擬合能力不強(qiáng)、屬性加權(quán)后的樸素貝葉斯無(wú)法通過(guò)調(diào)節(jié)分類(lèi)閾值來(lái)調(diào)節(jié)少數(shù)類(lèi)的召回率和精確率這兩個(gè)缺點(diǎn), 本文提出了CAWNBλ-CLL、CAWNBλ-MSE, 實(shí)驗(yàn)證明, 這兩個(gè)算法既有較強(qiáng)的總體分類(lèi)能力, 也可以通過(guò)調(diào)節(jié)λ對(duì)少數(shù)類(lèi)的召回率、精確率進(jìn)行調(diào)節(jié), 從而適用于不平衡分類(lèi)任務(wù).
Ⅰ 類(lèi)依賴(lài)屬性加權(quán)方法
一般的屬性加權(quán)方法是給每個(gè)屬性分配一個(gè)權(quán)重值, 也就是說(shuō)權(quán)重值只與屬性相關(guān), 比如表2.1的加權(quán)模式.
類(lèi)依賴(lài)屬性加權(quán)顧名思義是一種更細(xì)致的屬性加權(quán), 它的權(quán)重值既與屬性相關(guān)又與類(lèi)相關(guān).類(lèi)依賴(lài)屬性加權(quán)方法在K鄰近分類(lèi)器[9]、樸素貝葉斯分類(lèi)器[8]的相關(guān)研究中都有應(yīng)用.
Ⅱ CAWNB
類(lèi)依賴(lài)屬性加權(quán)樸素貝葉斯(CAWNB)顧名思義就是將類(lèi)依賴(lài)屬性加權(quán)應(yīng)用在樸素貝葉斯上的一種算法[8].它跟樸素貝葉斯的最大不同就是在估算后驗(yàn)概率時(shí)它將所有的條件概率的指數(shù)由1改成了它所對(duì)應(yīng)的權(quán)重值.
CAWNB估算后驗(yàn)概率(這里的后驗(yàn)概率是不符合概率定義的)的公式如下:
其中先驗(yàn)概率和條件概率的估算公式為:
(2.1)式中的權(quán)重值確定方法是利用優(yōu)化算法L-BFGS最大化或最小化以權(quán)重矩陣為自變量的目標(biāo)函數(shù), 進(jìn)而確定最優(yōu)的權(quán)重值.
最后根據(jù)最大后驗(yàn)概率原則進(jìn)行分類(lèi)決策:
為了能使CAWNB運(yùn)用在不平衡數(shù)據(jù)分類(lèi)上, 所以本文考慮在目標(biāo)函數(shù)的數(shù)學(xué)形式上削弱多數(shù)類(lèi)對(duì)目標(biāo)函數(shù)的影響.
常用的目標(biāo)函數(shù)有條件對(duì)數(shù)似然(CLL)和均方誤差(MSE):
假設(shè)c是少數(shù)類(lèi), 則對(duì)目標(biāo)函數(shù)中的多數(shù)類(lèi)部分乘上平衡系數(shù)λ,λ的取值一般為0到1之間的實(shí)數(shù), 這樣做是為了減弱多數(shù)類(lèi)對(duì)于目標(biāo)函數(shù)的影響, 讓優(yōu)化算法更專(zhuān)注于優(yōu)化少數(shù)類(lèi)的分類(lèi)情況.由此提出兩個(gè)新的目標(biāo)函數(shù):
以λ-CLL 和λ-MSE為目標(biāo)函數(shù)的類(lèi)依賴(lài)屬性加權(quán)樸素貝葉斯算法分別記作CAWNBλ-CLL和CAWNBλ-MSE, 算法的步驟總結(jié)如下:
算法:CAWNBλ-CLL/CAWNBλ-MSE
輸入: 訓(xùn)練數(shù)據(jù)D, 待預(yù)測(cè)實(shí)例x
1) 根據(jù)(2.2)式和(2.3)式分別估算先驗(yàn)概率和條件概率;
2) 利用L-BFGS優(yōu)化算法,λ-CLL /最小化λ-MSE , 從而確定最優(yōu)權(quán)重矩陣W;
3) 根據(jù)式(2.1)估算后驗(yàn)概率;
4) 根據(jù)式(2.4)將實(shí)例分到具有最大后驗(yàn)概率的類(lèi)標(biāo)簽.
本文采用的四個(gè)數(shù)據(jù)集均來(lái)自UCI機(jī)器學(xué)習(xí)數(shù)據(jù)庫(kù), 其中多分類(lèi)數(shù)據(jù)集會(huì)將相似類(lèi)進(jìn)行合并, 把其轉(zhuǎn)換成二分類(lèi)數(shù)據(jù)集.數(shù)據(jù)集的基本信息如表4.1所示.
表4.1 數(shù)據(jù)集的基本信息
Ⅰ 平衡系數(shù)λ的作用
平衡系數(shù)λ的預(yù)期作用是改變分類(lèi)器的分類(lèi)偏向進(jìn)而調(diào)節(jié)少數(shù)類(lèi)的召回率與精確率.然而對(duì)于樸素貝葉斯分類(lèi)器可以運(yùn)用更直接的方法調(diào)節(jié)召回率、精確率, 那就是調(diào)節(jié)分類(lèi)閾值.由于原始的樸素貝葉斯分類(lèi)器可以看作是以分類(lèi)閾值0.5 在進(jìn)行分類(lèi)決策, 即當(dāng)正類(lèi)的后驗(yàn)概率大于0.5則將待預(yù)測(cè)實(shí)例分到正類(lèi), 否則分到負(fù)類(lèi), 那么我們通過(guò)調(diào)節(jié)分類(lèi)閾值一樣可以改變分類(lèi)器的分類(lèi)偏向進(jìn)而調(diào)節(jié)少數(shù)類(lèi)的召回率與精確率.
所以本節(jié)的實(shí)驗(yàn)有兩個(gè)作用, 一是驗(yàn)證λ是否真的可以調(diào)節(jié)召回率和精確率, 二是將上述兩種調(diào)節(jié)召回率和精確率的方法進(jìn)行對(duì)比.
圖4.1 調(diào)節(jié)λ與調(diào)節(jié)分類(lèi)閾值的效果對(duì)比
以yeast數(shù)據(jù)集為例,λ和分類(lèi)閾值取遍0、0.1、0.2、...、0.9、1.以橫軸為召回率, 縱軸為精確率,×代表樸素貝葉斯, 實(shí)心圓代表本文算法, 畫(huà)出少數(shù)類(lèi)召回率、精確率與λ和分類(lèi)閾值的關(guān)系.
從圖4.1中可以看出調(diào)節(jié)CAWNBλ-CLL、CAWNBλ-MSE的平衡系數(shù)與調(diào)節(jié)樸素貝葉斯的分類(lèi)閾值的作用是類(lèi)似的, 都可以對(duì)分類(lèi)器的召回率和精確率進(jìn)行調(diào)節(jié).并且本文算法在Precision-Recall圖中比調(diào)節(jié)分類(lèi)閾值的樸素貝葉斯更加靠近右上角, 這說(shuō)明在絕大多數(shù)情況下, 本文算法的調(diào)節(jié)效果好于直接調(diào)節(jié)分類(lèi)閾值的樸素貝葉斯.
關(guān)于λ的選擇: 在處理實(shí)際的不平衡數(shù)據(jù)分類(lèi)任務(wù)時(shí), 既可以根據(jù)領(lǐng)域?qū)<医?jīng)驗(yàn)人為選擇符合實(shí)際需求的λ, 也可以利用搜索算法, 在訓(xùn)練集上建模, 以F 指標(biāo)或G指標(biāo)這類(lèi)的召回率與精確率的綜合指標(biāo)為指導(dǎo), 讓計(jì)算機(jī)自動(dòng)選擇λ的值.
Ⅱ 算法性能
為了評(píng)估合適取值的CAWNBλ-CLL、CAWNBλ-MSE算法在實(shí)際數(shù)據(jù)集上的性能, 本文在breast cancer和haberman數(shù)據(jù)集的實(shí)驗(yàn)中選擇λ= 0.4, 在yeast和Hayes-Roth的實(shí)驗(yàn)中選擇λ= 0.5, 做分層十折交叉驗(yàn)證, 并與原始的樸素貝葉斯做對(duì)比, 實(shí)驗(yàn)結(jié)果如表4.2和圖4.2所示.
表4.2 4種數(shù)據(jù)集上的分類(lèi)結(jié)果
圖4.2 4個(gè)數(shù)據(jù)集分類(lèi)結(jié)果的平均值
由圖4.2可以看出, 合適取值的CAWNBλ-CLL、CAWNBλ-MSE算法在F1值和召回率上明顯優(yōu)于樸素貝葉斯, 在正確率上與樸素貝葉斯相近.這說(shuō)明本文算法在不平衡數(shù)據(jù)分類(lèi)問(wèn)題中表現(xiàn)良好, 并且在不過(guò)分影響總體正確率的情況下改變了分類(lèi)器對(duì)于多數(shù)類(lèi)的分類(lèi)偏向, 使得分類(lèi)器對(duì)于少數(shù)類(lèi)有較高的識(shí)別率.
本文針對(duì)不平衡數(shù)據(jù)分類(lèi)任務(wù)提出了CAWNBλ-CLL、CAWNBλ-MSE算法.實(shí)驗(yàn)證明本文方法簡(jiǎn)單有效.本文算法主要有兩個(gè)作用: 一是能通過(guò)調(diào)節(jié)λ來(lái)調(diào)節(jié)分類(lèi)器的分類(lèi)偏向, 進(jìn)而調(diào)節(jié)少數(shù)類(lèi)的召回率與精確率, 并且這種調(diào)節(jié)方法比直接調(diào)節(jié)閾值更有效; 二是選擇了合適的λ值后, 算法可以勝任不平衡數(shù)據(jù)分類(lèi)任務(wù), 即在不過(guò)分影響總體分類(lèi)效果的情況下提高少數(shù)類(lèi)的召回率, 進(jìn)而獲得較高的F1值.