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