曹國剛, 李夢雪, 陳 穎, 曹 聰,王孜怡, 房 萌, 高春芳, 劉云翔
1.上海應(yīng)用技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與信息工程學(xué)院,上海201418
2.上海東方肝膽外科醫(yī)院實(shí)驗(yàn)診斷科, 上海200438
原發(fā)性肝癌(primary liver cancer, PLC)的發(fā)病率在全球常見惡性腫瘤中居第5 位,其致死率高居第3 位。臨床上約有2/3 的肝癌患者初診時(shí)已屬中晚期,錯(cuò)過了治療時(shí)機(jī)[1-3].肝癌的早期發(fā)現(xiàn)、早期診斷、早期治療是患者獲得長期生存的主要途徑。近年來,醫(yī)療數(shù)據(jù)與人工智能的不斷發(fā)展為PLC 早期篩查提供了有力保障。其中,基于圖像的人工智能方法[4]在肝癌識(shí)別和預(yù)測的應(yīng)用中比較常見,例如文獻(xiàn)[5] 基于肝臟多模態(tài)圖像,利用支持向量機(jī),識(shí)別肝臟腫瘤的良性與惡性,最終分類精度為92.31%。而且,還有學(xué)者利用生物技術(shù)指定腫瘤標(biāo)志物,使用統(tǒng)計(jì)學(xué)方法進(jìn)行肝癌患者和健康人群的識(shí)別,其中:文獻(xiàn)[6] 的接收者操作特征曲線下面積(area under receiver operation characteristic(ROC)curve, AUC)值為0.96,敏感性為83.3%,特異性為93.3%;文獻(xiàn)[7] 的AUC 值為0.94?;谂R床數(shù)據(jù)的癌癥篩查方法具有對(duì)患者友好、易于取樣、價(jià)格便宜、易與算法結(jié)合的特點(diǎn),盡管它的篩查性能不如醫(yī)療影像和病例檢查,但仍然是癌癥篩查領(lǐng)域備受期待的研究熱點(diǎn)。例如,在臨床檢驗(yàn)診斷領(lǐng)域,學(xué)者利用了患者的性別、年齡等多項(xiàng)檢測指標(biāo)數(shù)值建立多參數(shù)診斷模型。文獻(xiàn)[8] 診斷肝纖維化的AUC 值均超過0.70,個(gè)別達(dá)到0.80;文獻(xiàn)[9] 預(yù)測顯著纖維化和肝硬化的AUC 值分別為0.80和0.89;文獻(xiàn)[10] 用于預(yù)測缺鐵性貧血,診斷正確率超過90%。同時(shí),文獻(xiàn)[11-12] 將多參數(shù)模型在診斷肝癌、肝纖維化方面進(jìn)行了探索,發(fā)現(xiàn)通過合理使用臨床檢驗(yàn)數(shù)據(jù)可以提升預(yù)測結(jié)果。
基于數(shù)據(jù)驅(qū)動(dòng)的機(jī)器學(xué)習(xí)方法是目前人工智能領(lǐng)域廣泛使用的手段,該方法通過研究現(xiàn)有數(shù)據(jù)的規(guī)律對(duì)未知數(shù)據(jù)進(jìn)行預(yù)測。支持向量機(jī)(support vector machine, SVM)是20 世紀(jì)90年代中期發(fā)展起來的一種機(jī)器學(xué)習(xí)方法,具有深厚的數(shù)學(xué)基礎(chǔ)以及突出的學(xué)習(xí)性能,在很多領(lǐng)域都得到了成功的應(yīng)用,如人臉識(shí)別[13]、手寫數(shù)字識(shí)別[14]、圖像分割[15]及機(jī)器翻譯[16]等。為了進(jìn)一步提高其性能,需要對(duì)其參數(shù)進(jìn)行優(yōu)化。傳統(tǒng)的優(yōu)化方法有網(wǎng)格法、隨機(jī)搜索法、梯度下降法等;另外遺傳算法、粒子群算法等演化計(jì)算方法也可用來加速優(yōu)化過程[17]。
本文基于臨床常規(guī)檢驗(yàn)指標(biāo)數(shù)據(jù),利用SVM 在解決小樣本、非線性、高維空間模式識(shí)別問題中的獨(dú)特優(yōu)勢,建立PLC 早期篩查模型,在訓(xùn)練過程中引入交叉驗(yàn)證以獲得更穩(wěn)定的模型,并以AUC 的值作為模型優(yōu)化測度,采用差異進(jìn)化算法優(yōu)化SVM 涉及的參數(shù)。同時(shí),結(jié)合實(shí)際臨床要求,通過優(yōu)化后模型的性能指標(biāo)曲線構(gòu)建閾值查找表,選擇閾值進(jìn)行測試驗(yàn)證及PLC 臨床預(yù)警。
SVM[18-19]具有良好的泛化和分類能力,在解決模式識(shí)別的問題上成效顯著,已廣泛應(yīng)用于目標(biāo)檢測[20],醫(yī)療診斷[21]以及工程預(yù)測[22]等領(lǐng)域。它的最終目標(biāo)是尋找一個(gè)分類超平面,使得兩類樣本的分類間隔最大。如圖1 所示,圓圈和方塊分別代表一類樣本,經(jīng)過訓(xùn)練后得到最優(yōu)分類超平面H。
圖1 支持向量機(jī)原理Figure 1 Principle of support vector machine
假設(shè)給定一個(gè)特征空間上的訓(xùn)練數(shù)據(jù)集,T={(x1,y1),(x2,y2),··· ,(xi,yi)},xi ∈Rn為第i個(gè)特征向量,yi ∈{+1,?1}(i=1,2,··· ,k) 為xi的類別標(biāo)簽,(xi,yi) 為樣本點(diǎn)。算法的關(guān)鍵是建立具有最大分類間隔的超平面,相當(dāng)于求解式(1),即
式中:ω為超平面的法向量,b為超平面的常數(shù)項(xiàng),xi為訓(xùn)練樣本,yi為樣本點(diǎn)類別,C為懲罰系數(shù),ξi為誤差項(xiàng)。
然而,在實(shí)際應(yīng)用中經(jīng)常會(huì)遇到線性不可分的樣例。為了解決維度爆炸的問題,引入核函數(shù),先在低維空間計(jì)算,再將分類效果顯示在高維空間。轉(zhuǎn)化為求式(2) 的最優(yōu)問題,即
核函數(shù)的選擇往往需要依據(jù)相關(guān)領(lǐng)域的先驗(yàn)知識(shí),常用的核函數(shù)有線性核函數(shù)、多項(xiàng)式核函數(shù)、Sigmoid 函數(shù)和徑向基函數(shù)(radial basis function, RBF)[13]。本文中使用的核函數(shù)為RBF:
懲罰系數(shù)C和核函數(shù)參數(shù)σ不僅決定了SVM 分類結(jié)果的準(zhǔn)確性,同時(shí)還影響預(yù)測精度和泛化能力。本文采用差異進(jìn)化(differential evolution, DE)算法[23-25]對(duì)上述參數(shù)進(jìn)行優(yōu)化。DE 算法廣泛用于解決一些非線性、非凸、多峰和不可微分等實(shí)數(shù)參數(shù)問題,已成為最具競爭力和最全面的進(jìn)化計(jì)算算法之一,并在不同科學(xué)技術(shù)領(lǐng)域成功解決了眾多實(shí)參數(shù)世界的問題[26-27]。
DE 算法需要3 個(gè)主要控制參數(shù):變異因子F,交叉概率Cr和種群規(guī)模NP。優(yōu)化過程包括初始化、變異、交叉以及選擇操作,對(duì)初始種群進(jìn)行相應(yīng)操作得到新一代種群,在原個(gè)體和新個(gè)體之間進(jìn)行選擇,從而將適應(yīng)度高的個(gè)體保存到下一代。差異進(jìn)化算法的參數(shù)優(yōu)化流程如圖2 所示。
圖2 差異進(jìn)化算法流程Figure 2 Process of differential evolution algorithm
差異進(jìn)化算法主要包括以下幾個(gè)步驟:
步驟1初始化隨機(jī)產(chǎn)生種群N,計(jì)算公式為
式中:N,Nmin,Nmax∈RD×Np;Nmin和Nmax分別是個(gè)體的最小和最大值;D為需要優(yōu)化的參數(shù)個(gè)數(shù)。
步驟2依次對(duì)個(gè)體進(jìn)行適應(yīng)度值評(píng)估f(Nc),其中,Nc指當(dāng)前個(gè)體,c為個(gè)體序號(hào),c=1,2,··· ,Np。然后選擇適應(yīng)度值最高的個(gè)體作為當(dāng)前結(jié)果。
步驟3利用變異和交叉操作改變種群個(gè)體以形成新個(gè)體,計(jì)算公式分別為
式中:Vc,G為變異后個(gè)體;G表示當(dāng)前代數(shù);r1,r2,r3為隨機(jī)生成的個(gè)體序號(hào),它們不等于當(dāng)前個(gè)體序號(hào)。再根據(jù)交叉因子確定新個(gè)體變量來自變異后個(gè)體或原始個(gè)體,i為個(gè)體中變量的序號(hào),ui,c,G,vi,c,G,ni,c,G分別為交叉后、變異后以及原始個(gè)體中的變量。
交叉操作之后判斷個(gè)體是否超出規(guī)定范圍,如果超出范圍,則對(duì)其重新賦值,計(jì)算公式為
步驟4對(duì)新一代種群個(gè)體進(jìn)行評(píng)估選擇,如果經(jīng)過交叉操作后的個(gè)體適應(yīng)度值優(yōu)于原有個(gè)體,則原有個(gè)體將被替換,計(jì)算公式為
式中:Uc,G為交叉操作之后的個(gè)體。并且,如果該個(gè)體優(yōu)于最佳個(gè)體,則替換最佳個(gè)體。
步驟5重復(fù)步驟3 和4,直至滿足終止條件。
本文將AUC 作為評(píng)價(jià)個(gè)體適應(yīng)度的準(zhǔn)則,其取值越高則說明該個(gè)體的適應(yīng)度越強(qiáng)。AUC的取值范圍一般在0.50 和1.00 之間,范圍屬于[0.50, 0.70] 時(shí)表示預(yù)測準(zhǔn)確性較低,屬于[0.70, 0.90] 時(shí)表示預(yù)測準(zhǔn)確性中等,屬于[0.90, 1.00] 時(shí)表示預(yù)測準(zhǔn)確性較高。
引入交叉驗(yàn)證(cross validation, CV)用來驗(yàn)證SVM 性能,其基本思想是將數(shù)據(jù)集分成訓(xùn)練集和驗(yàn)證集兩部分。利用訓(xùn)練集建立模型,驗(yàn)證集驗(yàn)證模型分類性能,最終得到錯(cuò)誤率最低的模型。本文使用k-折交叉驗(yàn)證(k-fold cross-validation),相對(duì)于留一法,該交叉驗(yàn)證具有計(jì)算精度高且計(jì)算量小的優(yōu)點(diǎn)。
PLC 早期篩查實(shí)驗(yàn)流程如圖3 所示,首先在保證數(shù)據(jù)有效性以及通用性的基礎(chǔ)上對(duì)臨床檢驗(yàn)數(shù)據(jù)集進(jìn)行預(yù)處理,然后將其拆分為訓(xùn)練和測試數(shù)據(jù)集,通過改進(jìn)的SVM 方法訓(xùn)練得到分類模型,再結(jié)合臨床需求獲取其性能指標(biāo)曲線以及閾值查找表得到分類閾值,最后利用閾值對(duì)測試數(shù)據(jù)進(jìn)行預(yù)測。其中,在改進(jìn)的SVM 方法以RBF 作為核函數(shù),以AUC 作為參數(shù)優(yōu)化測度,以懲罰系數(shù)和核函數(shù)參數(shù)為DE 的優(yōu)化對(duì)象,另外加入交叉驗(yàn)證防止模型出現(xiàn)過擬合,最后利用混淆矩陣、Kappa 系數(shù)等性能評(píng)價(jià)指標(biāo)對(duì)分類模型進(jìn)行評(píng)估。
圖3 原發(fā)性肝癌早期篩查法流程Figure 3 Process of PLC early screening method
2.1.1 數(shù)據(jù)集來源
本文實(shí)驗(yàn)采用東方肝膽外科醫(yī)院檢驗(yàn)科的數(shù)據(jù),共收集樣本1 069 例。樣本數(shù)據(jù)主要包括個(gè)人基本信息、血液常規(guī)、尿液常規(guī)、糞便常規(guī)、肝功能生化標(biāo)志物、腫瘤標(biāo)志物、腎功能生化標(biāo)志物、糖脂代謝、特定蛋白、感染標(biāo)志物等大類。特征數(shù)量為78~140 不等,數(shù)據(jù)分為健康、良性病變和惡性腫瘤(原發(fā)性肝癌)3 類。
2.1.2 數(shù)據(jù)集預(yù)處理
為保證分類方法訓(xùn)練以及預(yù)測的準(zhǔn)確性、可靠性以及通用性,將去除數(shù)據(jù)集中明顯不完整的特征以及健康人群中較少檢測的腫瘤標(biāo)志物所對(duì)應(yīng)的特征列,并且將數(shù)據(jù)集中不能識(shí)別的字段進(jìn)行相應(yīng)處理,使數(shù)據(jù)符合算法要求。最終用于建模和測試實(shí)驗(yàn)的臨床常規(guī)檢驗(yàn)指標(biāo)數(shù)據(jù)集共包含1 047 例樣本和30 個(gè)特征數(shù)量。
2.1.3 數(shù)據(jù)集分組
把經(jīng)過上述預(yù)處理后的1 047 例樣本分為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù),隨機(jī)選取600 例為訓(xùn)練數(shù)據(jù)集,其余447 例為測試數(shù)據(jù)集,數(shù)據(jù)在不同數(shù)據(jù)集的分布情況如表1 所示。
表1 訓(xùn)練與預(yù)測數(shù)據(jù)量Table 1 Number of training and prediction data 例
本文利用混淆矩陣得到以下性能評(píng)估指標(biāo):敏感度(SE),特異度(SP),約登指數(shù)(Youden index, YI),準(zhǔn)確度(ACC),ROC 曲線,AUC 以及Kappa 系數(shù)。
2.2.1 混淆矩陣
二分類問題的混淆矩陣如表2 所示,陰性表示健康,陽性表示患病。其中:TN 表示正確預(yù)測出健康人群,F(xiàn)N 表示患者被錯(cuò)誤預(yù)測為健康人群,F(xiàn)P 表示健康人群被錯(cuò)誤預(yù)測為患者;TP 表示正確預(yù)測出患者。
表2 二分類問題混淆矩陣Table 2 Confusion matrix of 2-class
基于混淆矩陣進(jìn)一步求出性能評(píng)估指標(biāo)SE,SP,YI 和ACC 的值,具體公式為:
式中:N為樣本總數(shù)。
2.2.2 ROC 曲線和AUC
ROC 曲線綜合反映了敏感度和特異度的相互關(guān)系。如圖4 所示,橫坐標(biāo)為假陰性率(false positive rate,F(xiàn)PR),縱坐標(biāo)為真陽性率(true positive rate, TPR),曲線上的點(diǎn)表示在當(dāng)前分類閾值下對(duì)應(yīng)的SE 和(1-SP)的值。即使在兩類樣本的分布產(chǎn)生變化或樣本分布不平衡時(shí),ROC 曲線也基本保持原貌。AUC 即為ROC 曲線下方與坐標(biāo)軸所圍成封閉圖形的面積,它是綜合評(píng)價(jià)判別算法優(yōu)劣的二維直觀描述。
圖4 ROC 曲線與AUCFigure 4 ROC curve and AUC
2.2.3 Kappa 系數(shù)
上述評(píng)價(jià)方法只能用于評(píng)估二分類問題性能,故引入Kappa 系數(shù)來衡量三分類情況,計(jì)算方式基于表3,如式(12)~(14) 所示。它的取值范圍在?1.00~1.00 之間,通常落在0~1.00 之間,當(dāng)值為?1.00 時(shí)說明結(jié)果與實(shí)際完全不一致。Kappa系數(shù)與一致性級(jí)別如表4所示。
表3 三分類問題混淆矩陣Table 3 Confusion matrix of 3-class
表4 Kappa 系數(shù)與一致性級(jí)別Table 4 Kappa index and consistency level
實(shí)驗(yàn)所建立的兩層模型可用于實(shí)現(xiàn)三分類,實(shí)現(xiàn)步驟如下:第1 層區(qū)分健康樣本與患病樣本;第2 層區(qū)分患病樣本屬于良性病變還是惡性腫瘤;最后將兩層結(jié)果組合得到三分類的預(yù)測結(jié)果。
兩層模型的建立均基于SVM,利用了DE 來優(yōu)化懲罰系數(shù)C和核函數(shù)參數(shù)σ,并用AUC評(píng)價(jià)優(yōu)化效果。在參數(shù)優(yōu)化時(shí),C和σ分別表示成指數(shù)形式2m和2n,其中m和n為一個(gè)2維的個(gè)體,種群規(guī)模Np取100,變異因子F取0.5,交叉概率Cr取0.9,進(jìn)化終止條件是適應(yīng)度評(píng)價(jià)次數(shù)不大于10 000 次。在進(jìn)化過程中始終將m和n限制在[?8,8] 范圍內(nèi),變異策略選擇DE/rand/bin/1[23]。為防止過擬合,訓(xùn)練過程采用5 折交叉驗(yàn)證模式[28],先利用網(wǎng)格法對(duì)參數(shù)值的取值范圍進(jìn)行粗篩以確定參數(shù)的范圍,再使用差異進(jìn)化算法優(yōu)化參數(shù)。
傳統(tǒng)的機(jī)器學(xué)習(xí)算法相對(duì)于深度學(xué)習(xí)方法更適用于小樣本數(shù)據(jù),且可在短時(shí)間內(nèi)嘗試多種算法,從而方便改進(jìn)模型。實(shí)驗(yàn)分別使用邏輯回歸(logistic regression, LR)、決策樹(decision tree, DT)、隨機(jī)森林(random forest, RF)、梯度提升決策樹(gradient boosting decision tree, GBDT)以及SVM 建立模型并進(jìn)行預(yù)測。其中的對(duì)比實(shí)驗(yàn)采用隨機(jī)搜索的尋參方式。
各模型的ROC 曲線分別如圖5 和6 所示,可以看出:無論是在建模還是在預(yù)測過程中,使用SVM 方法的AUC 值不低于其他幾種算法,表明該方法建模效果更好,且使用DE 算法改進(jìn)參數(shù)選取方式后模型的性能得到進(jìn)一步的提高。用以上模型對(duì)測試數(shù)據(jù)進(jìn)行預(yù)測,其結(jié)果如表5 和6 所示??梢钥闯觯何词褂肈E 算法優(yōu)化SVM 所構(gòu)建的模型,其特異度值處于各
表5 第1 層分類結(jié)果對(duì)比Table 5 Classification results of the first hierarchical layer
圖5 第1 層模型ROC 曲線Figure 5 ROC curves of the first hierarchical layer model
圖6 第2 層模型ROC 曲線Figure 6 ROC curves of the second hierarchical layer model
表6 第2 層分類結(jié)果對(duì)比Table 6 Classification results of the second hierarchical layer
種算法的中等位置,準(zhǔn)確度以及敏感度處于領(lǐng)先位置;而優(yōu)化SVM 后,模型的3 個(gè)指標(biāo)值均為最高,顯然優(yōu)化后的模型具有一定的優(yōu)越性。
3.2.1 分層結(jié)果
在實(shí)際臨床中常有提高敏感度和降低誤診率的需求,因此需要輔助醫(yī)生根據(jù)要求選擇合適的分類閾值。基于訓(xùn)練模型畫出2 次二分類對(duì)應(yīng)的性能指標(biāo)曲線,如圖7 所示,橫軸代表閾值,縱軸表示性能指標(biāo)對(duì)應(yīng)的值,指標(biāo)包括ACC、SE、SP 以及約登指數(shù)。以第1 層建模約登指數(shù)不小于0.98 且第2 層不小于0.92 為例,得到兩層的閾值范圍分別是[?0.74,0.98] 和[?0.74,0.54]。對(duì)上述范圍10 等分得到如表7 和8 的閾值查找表。
表7 第1 層分類閾值查找表Table 7 Cut-offlookup table of the first hierarchical layer
圖7 模型性能指標(biāo)曲線Figure 7 Index curves of the model performance
表8 第2 層分類閾值查找表Table 8 Cut-offlookup table of the second hierarchical layer
3.2.2 整體結(jié)果
選取兩層分類閾值查找表中SE、ACC、SP 最高的閾值為例,將其按層次兩兩組合,得到三分類結(jié)果如表9 所示。可以看出,該方法在預(yù)測集的表現(xiàn)隨著選取閾值的標(biāo)準(zhǔn)不同會(huì)產(chǎn)生相應(yīng)的變化,同時(shí)大部分Kappa 系數(shù)依然能夠保持在幾乎一致水平,說明該方法具有優(yōu)秀的分類性能。而且根據(jù)性能指標(biāo)的要求選取兩層的閾值組合后進(jìn)行預(yù)測,有助于臨床篩選,并在滿足實(shí)際應(yīng)用需求的同時(shí)保證預(yù)測的準(zhǔn)確性和靈活性,最優(yōu)情況時(shí)Kappa 系數(shù)可達(dá)到0.90,ACC 可達(dá)到0.94。因此,本文提出方法可用于肝癌早期篩查和早期預(yù)測。
表9 三分類預(yù)測結(jié)果Table 9 Predicted results of 3-classification model
PLC 的早期預(yù)測和預(yù)防是提高患者生存率最有效的途徑。雖然甲胎蛋白等腫瘤標(biāo)志物被廣泛應(yīng)用于肝癌診斷,但其敏感性和特異性等指標(biāo)并不理想,假陰性率高。本文基于DE 改進(jìn)后的SVM 模型提出了自定義閾值的層次分類方法,最終實(shí)現(xiàn)三分類。并且實(shí)驗(yàn)利用臨床檢驗(yàn)中腫瘤標(biāo)志物之外的常規(guī)數(shù)據(jù)指標(biāo),根據(jù)臨床對(duì)評(píng)價(jià)指標(biāo)的不同要求定義分類閾值,使模型在保證可靠性的同時(shí)具有了靈活性。因?yàn)閿?shù)據(jù)樣本有限,所以本文通過對(duì)比幾種傳統(tǒng)的機(jī)器學(xué)習(xí)算法后,采用在小樣本上具有優(yōu)越性能的SVM 方法進(jìn)行研究。隨著實(shí)驗(yàn)數(shù)據(jù)的積累,后期會(huì)考慮使用深度學(xué)習(xí)相關(guān)技術(shù)進(jìn)行建模、預(yù)測與分析。
(編輯:管玉娟)