趙存秀
(山西科技學(xué)院 山西省晉城市 048000)
近年來,隨著機器學(xué)習(xí)技術(shù)的不斷發(fā)展,越來越多的科研人員將機器學(xué)習(xí)應(yīng)用于安全評估、疾病診斷及臨床研究中的類別預(yù)測模型的研究。關(guān)于分類算法及其應(yīng)用已經(jīng)有很多的研究,但基于類別不平衡的數(shù)據(jù)(兩類別個數(shù)差別很大),仍然是預(yù)測模型發(fā)展的主要挑戰(zhàn)之一。不平衡數(shù)據(jù)集的分類出現(xiàn)在許多實際的生物醫(yī)學(xué)應(yīng)用中。目前大多數(shù)分類算法的評價指標(biāo)是正確預(yù)測的總數(shù)最大化。這一標(biāo)準(zhǔn)是建立在每一類誤分類造成的損失相等的假設(shè)基礎(chǔ)上的。當(dāng)類別大小差異很大時,大多數(shù)標(biāo)準(zhǔn)分類器會傾向于更大的類。一般來說,多數(shù)類的預(yù)測精度較高,少數(shù)類的預(yù)測精度較低。但是實際研究中更多的是關(guān)注小類分類情況,傳統(tǒng)的分類器就失效了。類別不平衡分類的一個主要挑戰(zhàn)是開發(fā)一個能夠為少數(shù)類預(yù)測提供良好準(zhǔn)確性的分類器。
王榮杰等提出不平衡數(shù)據(jù)分類的矩陣粒加權(quán)集成分類算法。結(jié)果表明,矩陣粒加權(quán)集成分類算法具有較高的分類準(zhǔn)確性,是對不平衡數(shù)據(jù)分類算法研究的一次有益嘗試和補充。楊毅提出的B-SMOTE 是在SMOTE 的基礎(chǔ)上把少數(shù)類的邊界樣本與少數(shù)類樣本插值合成新訓(xùn)練樣本,表明基于SMOTE 的集成學(xué)習(xí)算法能有效改善不平衡數(shù)據(jù)集的不平衡性。張宗堂等在提取的子訓(xùn)練樣本集上分別訓(xùn)練基分類器,將其中少類間隔均值最大的基分類器作為本輪選定的分類器,迭代形成最終集成分類器。李勇等詳細(xì)分析了不平衡數(shù)據(jù)集成分類算法的研究現(xiàn)狀,集成學(xué)習(xí)是基于多個弱基分類器上做決策的機器學(xué)習(xí)技術(shù),由于基分類器的弱相關(guān)性,因此提高機器學(xué)習(xí)效果。袁興梅等鑒于最大間隔思想在很多分類問題中的優(yōu)越性,將最大間隔思想引入到非平衡分類問題中,使用SVM 的方法取得了很好的分類性能。陳力等基于多次訓(xùn)練決策樹進行仿真實驗,發(fā)現(xiàn)使用AdaBoost 算法和GBDT 算法后準(zhǔn)確率降幅較大,而改進的PFBoost 算法能夠在保證準(zhǔn)確率的情況下顯著提升F1 值和G-mean 值,且在絕大多數(shù)數(shù)據(jù)集上的F1 值和G-mean 值提升幅度遠(yuǎn)超其它兩種集成算法。基于不同的集成學(xué)習(xí)方法處理不平衡數(shù)據(jù),研究哪種集成方法更適合于處理不平衡數(shù)據(jù)問題中。
集成學(xué)習(xí)方法是近幾年非常流行的機器學(xué)習(xí)手段,通過將若干個弱學(xué)習(xí)器通過一定的策略集成一個學(xué)習(xí)能力較強的學(xué)習(xí)器。Bagging是一種直接的基于自助采樣的典型學(xué)習(xí)方法。有放回的隨機抽樣訓(xùn)練集,每次試驗的訓(xùn)練集有N個樣本,將抽取的N 個樣本用于一次訓(xùn)練,并對測試集進行預(yù)測。T 次循環(huán)后得到一個結(jié)果集。最終的預(yù)測結(jié)果對于分類問題對結(jié)果集采用投票的方式或者通過Stacking 學(xué)習(xí)。
投票法就是在同一訓(xùn)練集上,訓(xùn)練得到多個分類或回歸模型,然后通過一個投票器,輸出得票率最高的結(jié)果,投票算法如圖1。
圖1 :投票法算法流程
Bagged CART在使用Bagging 的每次訓(xùn)練中使用的是決策樹(CART)用投票的方式得到最終的預(yù)測。隨機森林(Random Forest)使用了CART 決策樹作為弱學(xué)習(xí)器,在bagging 的基礎(chǔ)上做了修正之后的算法:從總體中抽取的N 個樣本,隨機選擇k 個特征,通過信息熵或者信息增益選擇最佳分割特征作為決策樹的左右子樹劃分,建立CART 決策樹;重復(fù)以上兩步m 次,即建立了m 棵CART 決策樹;這m 個CART 樹形成了隨機森林,通過投票表決結(jié)果,決定數(shù)據(jù)屬于哪一類別。
Stacking具體集成框架如圖2 所示。本次研究的弱分類器有Linear Discriminate Analysis (LDA) [線性分類器,類似的QDA]、Classification and Regression Trees (CART)、Support Vector Machine with a Radial Basis Kernel Function(SVM)三種。本次實驗利用廣義線性回歸和random forest 兩種學(xué)習(xí)方法進行第二次學(xué)習(xí)。
圖2 :stacking 集成
這樣我們就可以將LDA 要解決的問題轉(zhuǎn)化為帶約束的優(yōu)化問題:
算法:(CART 剪枝算法)輸入:CART 算法生成的決策樹T0;輸出:最優(yōu)決策樹Tα.(1)設(shè)k=0,T=T0.(2)設(shè)α=+∞.(3)自下而上地對各內(nèi)部結(jié)點t 計算C(Tt),|Tt|以及images/BZ_256_1355_912_1700_1083.png這里,Tt 表示以t 為根節(jié)點的子樹,C(Tt)是對訓(xùn)練數(shù)據(jù)的預(yù)測誤差,|Tt|的Tt 葉結(jié)點個數(shù).(4)自下而上地訪問內(nèi)部結(jié)點 t,如果有 ,進行剪枝,并對葉結(jié)點t 以多數(shù)表決法決定其類,得到樹T.(5)設(shè)k=k+1,images/BZ_256_1615_1326_1743_1375.pngTk=T.(6)如果T 不是由根節(jié)點單獨構(gòu)成的樹,則回到(4).(7)采用交叉驗證法在子樹序列T0,T1…Tn 中選取最優(yōu)子樹Tα
針對二分類數(shù)據(jù)問題,通過實驗將預(yù)測結(jié)果與數(shù)據(jù)真實情況類別進行比較,建立混淆矩陣,如表1。
表1 :混淆矩陣
Kappa 值對于分類問題就是檢驗?zāi)P皖A(yù)測結(jié)果和實際分類結(jié)果是否一致。很多時候,直接用準(zhǔn)確率來判斷模型的好與壞,但重復(fù)實驗,模型結(jié)果分布很不均勻時,準(zhǔn)確率不一定是一個好的量度值。Kappa 的范圍是[-1,1],-1 表示完全不一致,0 為偶然一致,落于[0,0.2]表示極低的一致性(slight),[0.21,0.4]一般的一致性(fair),介于[0.41,0.6]為中等的一致性(moderate),Kappa 值位于[0.61.0.8]為高度的一致性(substantial),[0.81,1]幾乎完全一致(almost perfect)。
圖3 :3 個分類器的箱線圖
本次實驗采用的數(shù)據(jù)是美國威斯康星大學(xué)提供的人體乳腺腫瘤數(shù)據(jù)樣本,將異常數(shù)據(jù)篩選,使得每個樣本有11 個屬性,截取部分?jǐn)?shù)據(jù)如表2 所示,腫塊厚度、細(xì)胞大小
表2 :乳腺腫瘤數(shù)據(jù)集
的均勻性等九項醫(yī)學(xué)研究內(nèi)容為樣本的實際特征值,腫瘤性質(zhì)為實驗標(biāo)簽良性與惡性。樣本總共有683 個實驗數(shù)據(jù),其中良性腫瘤有 444 個,惡性腫瘤有239 個。其中數(shù)據(jù)的70%為訓(xùn)練樣本集,30%為測試樣本集。
兩個較為典型的Bagging 算法:Bagged CART 和Random Forest 對人體乳腺腫瘤數(shù)據(jù)預(yù)測,利用10 折交叉驗證的方法模擬實驗,得到實驗預(yù)測結(jié)果如表3。表3 為10折交叉驗證得到的10 次結(jié)果。,表中看到隨機森林(Random Forest)的準(zhǔn)確率平均值達(dá)到了97.41%。
表3 :Bagged CART 和Random Forest 的Accuracy 與Kappa 值對比
為數(shù)據(jù)集構(gòu)建3個子模型(基學(xué)習(xí)器),Linear Discriminate Analysis (LDA) [線性分類器,類似的QDA]、Classification and Regression Trees (CART)、Support Vector Machine with a Radial Basis Kernel Function (SVM)。用相同的數(shù)據(jù),得到3個模型的預(yù)測結(jié)果如表4。從表4 中可以看出3 個分類器中,svm 的結(jié)果最佳,精確率可以達(dá)到96.10%。
表4 :三個分類器的分類后的Accuracy 與Kappa 值對比
將3 個模型的預(yù)測結(jié)果用簡單線性模型組合子模型的預(yù)測結(jié)果精確率達(dá)到96.87%,高于96.10%。Kappa 值為0.9315531,模型的一致性很好。利用random forest 的stacking 得到了精確率為97.33%,kaapa 值為0.9417895。
機器學(xué)習(xí)集成方法應(yīng)用前景較好,因為其較于單一模型實驗效果準(zhǔn)確率較高,比較于深度學(xué)習(xí)計算速度較快,所以在實際生活中很多領(lǐng)域都有應(yīng)用,從上面的實驗可以看出集成學(xué)習(xí)還可以與醫(yī)學(xué)結(jié)合,結(jié)果良好。