邢 蒙 周 潔 余紅梅 張巖波 陽楨寰 趙艷琳 李雪玲 李 瓊 趙志強(qiáng) 羅艷虹△
【提 要】 目的 對山西省某三甲醫(yī)院2011-2017年間血液科新診斷的彌漫大B細(xì)胞淋巴瘤患者(diffuse large B-cell lymphoma,DLBCL)是否實(shí)現(xiàn)兩年無事件生存,即DLBLC患者早期復(fù)發(fā)的預(yù)測。方法 根據(jù)無事件生存期,將患者分成早期復(fù)發(fā)和非早期復(fù)發(fā),并以此為標(biāo)簽構(gòu)建分類模型。首先對數(shù)據(jù)進(jìn)行了歸一化處理,然后用LASSO進(jìn)行了特征選擇,因數(shù)據(jù)類別不平衡,分別采用了SMOTE(synthetic minority over-sampling technique)、Borderline-1 SMOTE、Borderline-2 SMOTE與ADASYN(adaptive synthetic sampling)四種方法平衡數(shù)據(jù),之后構(gòu)建了基于支持向量機(jī)的多核模型作為最終的分類器,并與AdaBoost、隨機(jī)森林和以高斯核、多項(xiàng)式核為內(nèi)核的單核支持向量機(jī)進(jìn)行比較,最終實(shí)現(xiàn)對新診斷病例早期復(fù)發(fā)的預(yù)測。結(jié)果 在本文所有模型中,采用LASSO加Borderline-1 SMOTE的多核模型(accuracy=0.87,precision=0.87,recall=0.87,f1=0.87,AUC=0.87)取得了最優(yōu)的分類性能。采用SMOTE的隨機(jī)森林模型(accuracy=0.84,precision=0.85,recall=0.87,f1=0.79,AUC=0.83)、Borderline-2 SMOTE的隨機(jī)森林(accuracy=0.84,precision=0.85,recall=0.87,f1=0.79,AUC=0.83)兩種集成模型的分類性能也較好,但都低于多核支持向量機(jī)模型。兩種單核支持向量機(jī)性能較差。結(jié)論 本文構(gòu)建的所有模型中,經(jīng)過LASSO和Borderline-1 SMOTE重采樣的多核支持向量機(jī)性能最優(yōu),可為DLBCL早期復(fù)發(fā)預(yù)測提供參考。
彌漫大B細(xì)胞淋巴瘤(diffuse large B-cell lymphoma,DLBCL)是成人淋巴瘤中最常見的一種類型,其發(fā)病率占非霍奇金淋巴瘤的31%~34%,在我國約占40%~50%[1]。如果不進(jìn)行及時(shí)治療,其預(yù)后很差,中位生存期不到1年。但其具有潛在治愈的可能,傳統(tǒng)的免疫化療結(jié)合放療可達(dá)到40%~50%的5年生存率[2-5]。有研究表明,DLBCL患者中復(fù)發(fā)多發(fā)生在診斷的前兩年。早期復(fù)發(fā)的患者預(yù)后很差,而達(dá)到2年無事件生存期的患者,在5年內(nèi)與其年齡、性別匹配的一般人群相比,有著很小的生存時(shí)間損失[6]。如果可以精準(zhǔn)識(shí)別兩年內(nèi)復(fù)發(fā)的這部分群體,研究清楚他們的特點(diǎn),對其實(shí)施精準(zhǔn)化、個(gè)性化治療,將有助于提高DLBCL患者的整體生存時(shí)間。
DLBCL患者的資料涉及基本信息、臨床用藥、血生化和病理等,異質(zhì)性較大且可能存在冗余特征。用單一分類器如支持向量機(jī)、決策樹、神經(jīng)網(wǎng)絡(luò)等處理時(shí)往往性能很差,且涉及一系列調(diào)參問題。同時(shí),DLBCL早期復(fù)發(fā)比例低,造成了數(shù)據(jù)不平衡,不平衡率為3.41。當(dāng)數(shù)據(jù)分布不均衡時(shí),單一分類器在正類樣本上的預(yù)測性能極差。集成模型雖然可以提高總體性能,但如果不處理不平衡問題仍會(huì)出現(xiàn)正類樣本性能差的問題,且集成模型不易解釋??紤]到以上問題,本文構(gòu)建了一種基于LASSO特征選擇和四種重采樣方法平衡數(shù)據(jù)的多核支持向量機(jī)模型,其性能較好,且不涉及調(diào)參問題,結(jié)果易于解釋。
1.數(shù)據(jù)來源與處理
參考《中國彌漫大B細(xì)胞淋巴瘤診斷與治療指南2013版》,回顧性收集了山西省某三甲醫(yī)院2011-2017年新診斷的370例在初次化療后獲得完全緩解的DLBCL患者的病例信息,包括基本信息、臨床用藥、血生化和病理等多個(gè)指標(biāo),共70個(gè)特征。定義無事件生存為從診斷為DLBCL到疾病進(jìn)展、復(fù)發(fā)或因其他原因死亡[6]。若患者未達(dá)到兩年無事件生存期即復(fù)發(fā),將其定義為早期復(fù)發(fā),5年內(nèi)未復(fù)發(fā)定義為未早期復(fù)發(fā)。370例DLBCL患者中,早期復(fù)發(fā)(2年內(nèi))82例(22.2%),3年內(nèi)復(fù)發(fā)5例,4年內(nèi)1例,5年內(nèi)2例,未早期復(fù)發(fā)(5年內(nèi)未復(fù)發(fā))280例(75.7%)。
首先對輸入數(shù)據(jù)進(jìn)行歸一化,使數(shù)據(jù)范圍位于0~1之間,再使用LASSO篩選有意義的變量。然后隨機(jī)抽取20%作為測試集,其余80%為訓(xùn)練集,之后用SMOTE[7]、Borderline-1 SMOTE、Borderline-2 SMOTE[8]和ADASYN[9]四種方法平衡數(shù)據(jù)。對平衡后的數(shù)據(jù)構(gòu)建基于支持向量機(jī)的多核模型,并與AdaBoost、隨機(jī)森林兩種集成模型、以RBF、Poly為內(nèi)核的兩種單核支持向量機(jī)模型進(jìn)行比較。以accuracy,precision,recall,f1,AUC值為評價(jià)指標(biāo)。為了減輕數(shù)據(jù)劃分帶來的偏倚,所有模型都執(zhí)行數(shù)據(jù)劃分100次,報(bào)告100次的均值。所有程序均基于Python 3.7運(yùn)行。
2.方法及原理
(1)特征選擇
LASSO基于L1正則項(xiàng)對變量原本的系數(shù)進(jìn)行壓縮,將原本很小的系數(shù)直接壓縮至0,從而將這部分系數(shù)所對應(yīng)的變量視為非顯著性變量,將不顯著的變量直接舍棄,以實(shí)現(xiàn)變量選擇[10-11]。LASSOCV是在LASSO的基礎(chǔ)上加了交叉驗(yàn)證,本文選用LASSOCV進(jìn)行特征選擇。
(2)類別不平衡
本文比較了SMOTE[7]、Borderline-1 SMOTE、Borderline-2 SMOTE[8]和ADASYN[9]4種數(shù)據(jù)平衡方法。
SMOTE算法具體步驟為:對少數(shù)類樣本a,從它的K個(gè)最近鄰中隨機(jī)選擇一個(gè)樣本b,然后在兩點(diǎn)的連線上隨機(jī)生成一個(gè)新的少數(shù)類樣本。ADASYN為自適應(yīng)合成抽樣,它利用分布來自動(dòng)決定每個(gè)少數(shù)類樣本所需要合成的樣本數(shù)量,相當(dāng)于給每個(gè)少數(shù)類樣本施加了一個(gè)權(quán)重,周圍的多數(shù)類樣本越多則權(quán)重越高。
Borderline-SMOTE是SMOTE的改進(jìn),分為Borderline-1 SMOTE和Borderline-2 SMOTE。Borderline-SMOTE先將少數(shù)類樣本分為三類:(1)噪音樣本,該少數(shù)類的所有最近鄰樣本都來自于和a不同的其他類別;(2)危險(xiǎn)樣本,至少一半的最近鄰樣本來自于不同于a的類別;(3)安全樣本,所有的最近鄰樣本都和a來自于相同的類別。這兩種類型的SMOTE都使用危險(xiǎn)樣本來生成新的樣本數(shù)據(jù),Borderline-1 SMOTE 最近鄰中的隨機(jī)樣本b與該少數(shù)類樣本a來自于相同的類;Borderline-2 SMOTE 最近鄰中的隨機(jī)樣本b可以是屬于任何一個(gè)類的樣本。
(3)比較模型
AdaBoost和隨機(jī)森林(random forest,RF)是兩種集成模型。前者是一種迭代算法,其核心思想是針對同一個(gè)訓(xùn)練集訓(xùn)練不同的分類器,即弱分類器,然后把這些弱分類器集合起來,構(gòu)造一個(gè)更強(qiáng)的終分類器。后者是一種集成算法,該算法以對原始數(shù)據(jù)集進(jìn)行有放回抽樣的方式對數(shù)據(jù)集進(jìn)行擴(kuò)充。它的基本單元是決策樹,每棵決策樹是一個(gè)分類器,N棵決策樹會(huì)有N個(gè)分類結(jié)果。最后指定投票次數(shù)最多的類別為最終的輸出,是N棵決策樹分類結(jié)果的集成。
支持向量機(jī)(support vector machine,SVM)是通過核函數(shù)將線性不可分的問題從原始低維空間映射到高維的希爾伯特空間(Hilbert space),從而實(shí)現(xiàn)高維空間線性可分,是常見的核學(xué)習(xí)方法之一。
(4)多核模型
多核學(xué)習(xí)(multiple kernel learning,MKL)已經(jīng)被證明可以更靈活有效地刻畫異構(gòu)數(shù)據(jù)源,可將輸入數(shù)據(jù)映射到多個(gè)核空間,使得原始信息得到了更大的保留和利用,且多核模型比單核模型更靈活多變[12-15]?,F(xiàn)在已經(jīng)廣泛用于疾病風(fēng)險(xiǎn)預(yù)測[16-19]、圖像識(shí)別[20]等各個(gè)方面。
根據(jù)現(xiàn)有的核組合形式,多核學(xué)習(xí)算法可以分成三類:線性組合[21-22]、非線性組合[23-24]、數(shù)據(jù)相關(guān)組合[25]。本文構(gòu)建的多核SVM是利用線性組合的方法進(jìn)行核矩陣融合。多核SVM是多核學(xué)習(xí)在監(jiān)督學(xué)習(xí)中的實(shí)現(xiàn),是將SVM中的單個(gè)核函數(shù)替換為核函數(shù)族(kernel family)的改進(jìn)算法。首先將輸入數(shù)據(jù)通過不同的核函數(shù)分別映射到各自的核特征空間,在各個(gè)核映射空間內(nèi)構(gòu)造對應(yīng)的核矩陣,并計(jì)算每個(gè)核矩陣對應(yīng)的權(quán)重系數(shù),然后將各個(gè)核矩陣和其對應(yīng)的權(quán)重系數(shù)相乘并相加,得到融合的核矩陣,利用融合后的核矩陣訓(xùn)練模型。本文選擇了一個(gè)線性核、一個(gè)多項(xiàng)式核、一個(gè)Sigmoid核、兩個(gè)不同參數(shù)的高斯核,共5個(gè)核函數(shù)作為內(nèi)核構(gòu)造多核SVM。圖1為多核的流程圖。
圖1 流程圖
(5)評價(jià)方法
本文采用accuracy,precision,recall,f1,AUC值作為性能評價(jià)指標(biāo),混淆矩陣見表1。
表1 混淆矩陣
accuracy常用來評價(jià)分類模型的性能,但是當(dāng)數(shù)據(jù)不平衡時(shí)會(huì)掩蓋少數(shù)類的錯(cuò)分率。Precision和recall是評價(jià)不平衡數(shù)據(jù)的常用指標(biāo),當(dāng)將每個(gè)樣本都預(yù)測為少數(shù)類時(shí),少數(shù)類樣本全部預(yù)測正確,此時(shí)recall為100%,但是Precision很低。相反,若將多數(shù)類大都預(yù)測正確,則Precision會(huì)很高,但是recall會(huì)很低。F值是兩者的綜合,當(dāng)Precision和recall的權(quán)重一致時(shí)即為f1值,f1值高能保證Precision和recall都較高。AUC值是ROC曲線下面積,用來評價(jià)模型的泛化能力。
1.特征選擇
本文采用LASSOCV共選出了12個(gè)特征,見表2。
表2 LASSO特征選擇的變量、賦值及描述
由表2可知,未早期復(fù)發(fā)是早期復(fù)發(fā)的3.41倍,造成了類別不平衡。早期復(fù)發(fā)患者中,除BCL-6陽性、MPO陽性的占比低于未早期復(fù)發(fā),其他指標(biāo)的陽性占比均大于未早期復(fù)發(fā)。
2.模型
由表3可知,采用LASSO加Borderline-1 SMOTE的多核模型(accuracy=0.87,precision=0.87,recall=0.87,f1=0.87,AUC=0.87)取得了最優(yōu)的分類性能。采用ADASYN的ADBOOST(accuracy=0.82,precision=0.82,recall=0.81,f1=0.81,AUC=0.81)模型、采用SMOTE和Borderline-2 SMOTE的隨機(jī)森林(accuracy=0.84,precision=0.85,recall=0.87,f1=0.79,AUC=0.83)三種集成模型的分類性能也較好,但都低于多核支持向量機(jī)模型。兩個(gè)單核SVM性能較差,Poly核優(yōu)于RBF核。兩種Borderline SMOTE和ADASYN數(shù)據(jù)平衡方法優(yōu)于SMOTE。綜上,多核支持向量機(jī)模型性能較好,且不用進(jìn)行調(diào)參的復(fù)雜過程,應(yīng)用更靈活、方便,且比集成模型易于解釋。
表3 各模型在測試集上的性能指標(biāo)
本文在DLBCL真實(shí)數(shù)據(jù)集上,基于重采樣和多核學(xué)習(xí)方法對DLBCL患者早期復(fù)發(fā)進(jìn)行預(yù)測。何強(qiáng)[26]等和Wang[27]等針對單視圖數(shù)據(jù)構(gòu)建的多核學(xué)習(xí)模型,與單核模型相比,模型性能有了很大的提高。鄭建華[28]等針對不平衡數(shù)據(jù)構(gòu)建了基于融合級聯(lián)上采樣和下采樣的隨機(jī)森林模型,相比傳統(tǒng)的隨機(jī)森林模型性能取得很大提升。在本文中,基于重采樣平衡數(shù)據(jù)后構(gòu)建的多核支持向量機(jī)模型與單核支持向量機(jī)相比,性能也有很大提升,且比集成模型更易進(jìn)行結(jié)果解釋。
如果訓(xùn)練集占原始數(shù)據(jù)集比例過大,訓(xùn)練出來的模型可能會(huì)更接近原始數(shù)據(jù)集,此時(shí)測試集較小,模型評估結(jié)果可能不穩(wěn)定。如果測試集過大,則訓(xùn)練集和原始數(shù)據(jù)差別增大,此時(shí)訓(xùn)練集訓(xùn)練的模型與原始數(shù)據(jù)集訓(xùn)練的模型相比可能有較大差別,會(huì)降低測試集評估結(jié)果的保真性[29]。常見做法是將原始數(shù)據(jù)的2/3到4/5作為訓(xùn)練集,剩余樣本作為測試集。當(dāng)數(shù)據(jù)量級達(dá)到萬或者更大時(shí),此時(shí)測試集比例可以減小到1%。本文參考周志華[29]的《機(jī)器學(xué)習(xí)》和相關(guān)文獻(xiàn),結(jié)合數(shù)據(jù)量大小,隨機(jī)選擇了原始數(shù)據(jù)的80%作為訓(xùn)練集,其余20%作為測試集。
本文構(gòu)建的多核模型的優(yōu)勢在于以下三點(diǎn):(1)使用了四種重采樣方法平衡數(shù)據(jù)集,解決原始數(shù)據(jù)類間不平衡問題。(2)使用多個(gè)核函數(shù)映射原始數(shù)據(jù)至不同的特征空間,實(shí)現(xiàn)了各特征空間信息互補(bǔ),提高了原始數(shù)據(jù)信息利用。(3)將多核學(xué)習(xí)嵌入已經(jīng)發(fā)展成熟的支持向量機(jī)模型,便于求解和實(shí)現(xiàn)。
多視圖學(xué)習(xí)可以利用不同來源數(shù)據(jù)的互補(bǔ)信息,提高模型性能。而MKL通過其不同核函數(shù)映射構(gòu)建融合矩陣可以很好地處理不同來源數(shù)據(jù),如圖像、聲音、文本等,已被廣泛應(yīng)用于多視圖學(xué)習(xí)。本文多核模型最高的準(zhǔn)確率為0.87,雖然應(yīng)用了多核學(xué)習(xí)提高了模型性能,但本質(zhì)是在單一視圖上進(jìn)行多核學(xué)習(xí),未收集到多視圖數(shù)據(jù),這是此次研究的不足。因此接下來的研究會(huì)收集MRI、PET-CT圖像進(jìn)行多視圖多核學(xué)習(xí),以進(jìn)一步提高模型性能。