熊長柱,李健
(四川大學(xué)電子信息學(xué)院,成都610065)
慢性腎病在全世界內(nèi)廣泛存在,它是一種進(jìn)展性疾病,同時(shí)早期發(fā)生率是晚期的100倍。過早的透析不利于殘余腎功能的保存和復(fù)原,因此,借助數(shù)據(jù)挖掘技術(shù)挖掘出能指導(dǎo)患者接受透析治療的關(guān)鍵指標(biāo)很有必要,輔助醫(yī)生合理選擇透析時(shí)機(jī)。目前沒有一種針對終期末腎?。‥nd Stage Renal Disease,ESRD)透析時(shí)機(jī)選擇的算法。在這種情況下,本文提出了一種基于優(yōu)化集成學(xué)習(xí)的模型融合方案提高透析預(yù)測精度,通過確定這些特征,醫(yī)生能決定患者是否需要透析,合理地為患者選擇透析時(shí)機(jī),改善患者生存率。
目前研究已經(jīng)證實(shí)血液透析前和透析后患者死亡率有明顯區(qū)別[1-3],而且透析時(shí)機(jī)對患者其他并發(fā)癥有影響[4],另外血液透析對甲狀旁腺素、鈣變化與心臟病死率也有重要的影響[5],因此血液透析的研究有重要的現(xiàn)實(shí)需求和意義[6]。目前在透析時(shí)機(jī)的研究上也已經(jīng)有許多工作,例如:老年腎病和透析的診斷與治療[7];血液透析在降低血液透析患者的全因死亡率和心血管死亡率的研究[8-10]。
本文采用的特征選擇過程包括產(chǎn)生過程、評價(jià)函數(shù)、停止準(zhǔn)則、驗(yàn)證過程這四個(gè)部分。PCA(Principal Component Analysis)可看作是依次選取方差最大方向,它是通過沿著數(shù)據(jù)最大方差方向旋轉(zhuǎn)坐標(biāo)軸來實(shí)現(xiàn)的。本文采用的PCA算法描述如下:
輸入:樣本集D={x1,x2,...,xm};
低維空間維數(shù)d'
過程:
2:計(jì)算樣本的協(xié)方差矩陣XXT;
3:對協(xié)方差矩陣XXT做特征分解;
4:取最大的d'個(gè)特征值所對應(yīng)的特征向量 ω1ω2,...,ωd';
輸出:投影矩陣 W=(ω1ω2,...,ωd')
PCA僅保留樣本均值向量即可通過簡單的向量減法和矩陣向量乘法將高維樣本投影到低維空間。PAC一方面舍棄部分信息可以增大樣本的采集密度;另一方面當(dāng)數(shù)據(jù)中有噪聲時(shí),舍棄最小特征可以在一定程度上起到去噪效果。
本文綜合利用 RF(Random Forest)、AdaBoost、GB-DT(Gradient Boosting Decision Tree)等集成學(xué)習(xí)器和SVM(Support Vector Machines)、KNN(k-Nearest Neighbor)、NB(Naive Bayes)、DT(Decision Tree)、MLP(Multilayer Perceptron)、ET(Extremely Randomized Trees)、LR(Logistic Regression)七種分類器,用大量不同數(shù)據(jù)集來訓(xùn)練和測試十種模型,進(jìn)行多項(xiàng)實(shí)驗(yàn),最后確定此十個(gè)模型的最佳權(quán)重值。在建立預(yù)測模型的過程中每個(gè)弱學(xué)習(xí)者都為分類器,并且通過投票加權(quán)方式執(zhí)行集成學(xué)習(xí)。模型根據(jù)每個(gè)弱分類器的不同預(yù)測性能,分配不同的投票權(quán)重。預(yù)測性能越高,投票權(quán)越大。最終預(yù)測結(jié)果是每個(gè)弱分類器預(yù)測結(jié)果的加權(quán)平均值。這樣可以提高模型的預(yù)測性能,并且可以防止單個(gè)學(xué)習(xí)器過擬合。
本文采用支持向量機(jī)(Support Vector Machines)作為集成模型的核心分類器。SVM的目的是尋找一個(gè)超平面來對樣本根據(jù)正例和反例進(jìn)行分割,其學(xué)習(xí)策略便是間隔較大化,最終可轉(zhuǎn)化為一個(gè)凸二次規(guī)劃問題的求解。輸入一個(gè)訓(xùn)練數(shù)據(jù)集 T={(x1,y1),(x2,y2),…(,xn,yn)},其中xi∈ χ=Rn,yi∈ γ={-1,+1},i=1,2….,N;輸出為分類決策函數(shù)。選取適當(dāng)核函數(shù)K(x,z)和適當(dāng)?shù)膮?shù)C,構(gòu)造并求解最優(yōu)問題。
參數(shù)C為懲罰參數(shù),(α1*,α2*,...,αN*)T為拉格朗日乘子向量。當(dāng)K(x,z)是正定核函數(shù)時(shí),上式為凸二次規(guī)劃問題。
AdaBoost是一種可將弱學(xué)習(xí)器提升為強(qiáng)學(xué)習(xí)器的算法。AdaBoost采取加權(quán)多數(shù)表決的方法,加大分類誤差率小的弱分類器權(quán)值,使其在表決中起作用較大,減小分類誤差率大的弱分類器,使其在表決中起作用較小,AdaBoost算法流程如下:
如上所示,在第1-4行中,初始化樣本權(quán)值分布,基于分布bt從數(shù)據(jù)集D中訓(xùn)練分類器ht,并估算出ht的誤差。在第6-7行中,確定ht的權(quán)重,更新樣本分布,其中Zt是規(guī)范化因子,用來確保bt+1是一個(gè)分布。
實(shí)驗(yàn)數(shù)據(jù)來自成都軍區(qū)總醫(yī)院HIS系統(tǒng)腎內(nèi)科2011年1月至2015年12月采集到的腎病患者臨床檢驗(yàn)結(jié)果,包含醫(yī)院在此階段所有的腎內(nèi)科287059條不完整臨床數(shù)據(jù)。經(jīng)過數(shù)據(jù)預(yù)處理,本章確定的研究對象為慢性腎病樣本1338例,包括25個(gè)特征,其中包含透析樣本507例,不透析樣本831例。25個(gè)特征經(jīng)過PCA降維后得到特征集相關(guān)重要性如圖1所示。
圖1 特征集相關(guān)權(quán)重圖
如圖1所示,以SCR為百分比參考的權(quán)重系數(shù)可知,SCR權(quán)重占主導(dǎo)地位,SYSC、CCR和BUN等特征子集占重要作用。
根據(jù)LVW 方法選擇前 5個(gè)特征:SCR、SYSC、CCR、BUN和P,實(shí)驗(yàn)利用十種分類器進(jìn)行模型融合。本實(shí)驗(yàn)數(shù)據(jù)樣本隨機(jī)分為訓(xùn)練集80%(1070個(gè)樣本)測試集20%(268個(gè)樣本),經(jīng)過10次隨機(jī)實(shí)驗(yàn)取模型預(yù)測性能平均值。其中SVM模型性能指標(biāo)表如表1所示。
表1
本文利用RF、AdaBoost、GBDT等集成學(xué)習(xí)器和SVM、KNN、NB、DT、MLP、ET、LR 等分類器進(jìn)行模型融合,其中集成模型的ROC曲線如圖2所示,輸出混淆矩陣圖如圖3所示。
由圖2模型ROC曲線計(jì)算得到AUC值為0.97,可知集成模型效果比單一學(xué)習(xí)器要好。由圖3集成模型混淆矩陣可得,在測試集268個(gè)樣本中僅有5個(gè)樣本分類錯誤。本文用大量不同數(shù)據(jù)集訓(xùn)練和測試十種模型,進(jìn)行多次實(shí)驗(yàn),以此確定模型的最佳結(jié)合策略,實(shí)驗(yàn)采用十倍交叉驗(yàn)證法。如表2為集成模型和其他學(xué)習(xí)器的性能比對表。
圖2 集成模型ROC曲線
圖3 集成模型混淆矩陣
表2
如表2所示,在與其他學(xué)習(xí)器模型比對中可知,本文提出的集成模型有最好的平均精度和較低的標(biāo)準(zhǔn)偏差。實(shí)驗(yàn)結(jié)果表明本文提出集成學(xué)習(xí)的模型是一種有效的透析預(yù)測方法。
本文對ESRD透析時(shí)機(jī)進(jìn)行了分析和預(yù)測,研究了不同模型對預(yù)測性能的提升效果,提出了基于集成學(xué)習(xí)的預(yù)測模型。我們通過其他十種學(xué)習(xí)器的大量對比實(shí)驗(yàn)可知,本文提出的基于集成學(xué)習(xí)的模型具有降低亢余特征和消除噪聲的明顯效果,具有更加優(yōu)良的泛化能力以及更低的標(biāo)準(zhǔn)誤差。研究結(jié)果已經(jīng)證實(shí)本文提出的模型在透析時(shí)機(jī)預(yù)測中具有有效性。