曾冬洲,鄭宗華,謝婧嫻
(1.福州大學(xué)電氣工程與自動化學(xué)院,福建 福州 350108;2.廈門大學(xué)附屬婦女兒童醫(yī)院,福建 廈門 361003)
胎兒窘迫是指胎兒在子宮內(nèi)因缺氧導(dǎo)致的呼吸窘迫綜合癥,是造成圍產(chǎn)期胎兒死亡的主要原因[1]。胎心監(jiān)護(hù)是胎心胎動宮縮圖(cardiotocography,CTG)的簡稱,是一種對胎兒宮內(nèi)健康狀況進(jìn)行檢測評估的主要手段。臨床上的CTG信號采用胎心率電子監(jiān)護(hù)儀實時監(jiān)測并記錄下不斷變化的胎兒瞬間心率。CTG信號包含胎心率(fetal heart rate,F(xiàn)HR)信號曲線和宮縮(uterine contraction,UC)信號曲線。通過這兩條信號曲線,醫(yī)生能夠?qū)崟r地了解胎動和宮縮時胎心的反應(yīng),并對宮內(nèi)胎兒的缺氧程度進(jìn)行評估。但是CTG評估的結(jié)果容易受到醫(yī)生主觀經(jīng)驗的影響,導(dǎo)致漏診胎兒錯過最佳醫(yī)生干預(yù)時間或者誤診胎兒剖腹產(chǎn)出,使醫(yī)療資源得不到有效的利用。因此,為了降低胎兒窘迫的漏診和誤診率,臨床上有必要采用一種更為客觀的評估方法來輔助醫(yī)生作出準(zhǔn)確、有效的診斷決策。
近年來,隨著機(jī)器學(xué)習(xí)技術(shù)的發(fā)展,機(jī)器學(xué)習(xí)的算法模型在醫(yī)療決策領(lǐng)域的應(yīng)用也越來越多,因此有不少學(xué)者嘗試先利用計算機(jī)軟件自動化提取FHR信號特征和UC信號特征,然后引入機(jī)器學(xué)習(xí)技術(shù)對提取到的特征數(shù)據(jù)進(jìn)行分類預(yù)測。文獻(xiàn)[2]將支持向量機(jī)算法應(yīng)用到胎兒窘迫數(shù)據(jù)集上,取得了較好的分類預(yù)測效果。文獻(xiàn)[3]利用神經(jīng)網(wǎng)絡(luò)模型,很好地克服了胎兒窘迫數(shù)據(jù)的非線性問題,也取得了較好的分類效果。文獻(xiàn)[4]提出使用XGBoost算法建立胎兒健康評估模型。該模型分類的準(zhǔn)確率和效率較其他算法模型都有一定的提升。文獻(xiàn)[5]基于模糊算法對胎兒狀況進(jìn)行分類評估,也取得了良好的診斷效果。綜上可以看出,這些胎兒窘迫診斷問題的單一模型已經(jīng)有了相對廣泛的應(yīng)用與研究,而對于多模型融合的診斷方法還有進(jìn)一步研究的空間。文獻(xiàn)[6]通過采用梯度提升決策樹(gradient boosting decision tree,GBDT)和邏輯回歸(logistic regression,LR)模型相互融合的方法對個人信貸風(fēng)險進(jìn)行了預(yù)測。預(yù)測結(jié)果表明,融合后的模型較單個模型的預(yù)測效果有顯著的提升。本文將這種模型融合的方法應(yīng)用到胎兒窘迫預(yù)測中,基于真實的CTG信號數(shù)據(jù)建立胎兒窘迫分類模型,并對分類結(jié)果進(jìn)行評估。
LR是一種廣義的線性回歸模型,具有算法實現(xiàn)簡單、運行速度快和內(nèi)存占用少等優(yōu)點,因而被工業(yè)界廣泛地應(yīng)用于分類問題中。對于二分類問題,邏輯回歸模型的基本實現(xiàn)思想是利用Logistic函數(shù)將由線性回歸計算得到的目標(biāo)值映射至[0,1]區(qū)間,然后比較映射后的值與分類閾值間的大?。捍笥陂撝档目蓺w為一類,小于閾值的歸為另一類。記輸入的訓(xùn)練集為{(x1,y1),…,(xi,yi),…,(xN,yN)}。其中:xi∈R;yi∈{0,1};i=1,2,…,N。則可設(shè)xi屬于Y=0和Y=1的概率分別為:
P(Y=1|x)=π(x),P(Y=0|x)=1-π(x)
(1)
由式(1)可推導(dǎo)出其似然函數(shù),即聯(lián)合概率分布函數(shù)設(shè)為:
(2)
對式(2)取對數(shù),可得:
(3)
式中:w為權(quán)重向量;w×xi為w和xi的內(nèi)積。
(4)
(5)
對于待分類數(shù)據(jù)x,只需把x分別代入式(4)和式(5)中。若P(Y=0|x)>P(Y=1|x),則x屬于Y=0類;否則,x屬于Y=1類。
GBDT是一種迭代的決策樹算法,其基礎(chǔ)決策樹模型選用分類回歸樹(classification and regression tree,CART)。在采用原始的數(shù)據(jù)特征生成首棵決策樹后,GBDT模型在后續(xù)迭代生成決策樹的過程中,都是以當(dāng)前合計損失函數(shù)最小化為目標(biāo)生成新的決策樹,生成過程直至損失函數(shù)的殘差趨近于零時停止。此時將會得到若干棵決策樹。因此,當(dāng)有新的數(shù)據(jù)樣本輸入GBDT模型時,將模型中所有決策樹的輸出結(jié)果進(jìn)行線性加權(quán),即可得到最終的分類結(jié)果[7]。
GBDT算法的核心流程如下。
輸入:訓(xùn)練集記為{(x1,y1),…,(xi,yi),…,(xN,yN)}。其中:xi∈R,yi∈{0,1},i=1,2,…,N。
(1)對弱分類器進(jìn)行初始化:
(6)
式中:f0(x)為初始決策樹;L(yi,c)為損失函數(shù);c為滿足L(yi,c)最小化的常數(shù)。
(2)對于迭代輪數(shù)m=1,2,…,M,計算如下。
①逐個計算樣本i=1,2,…,N的負(fù)梯度如下:
(7)
式(7)中,f(x)滿足:
f(x)=fm-1(x)
(8)
②利用所有樣本及其負(fù)梯度方向(xi,rmi)構(gòu)建出決策樹Tm。其包含有J個葉子節(jié)點,且第j個葉子節(jié)點對應(yīng)的區(qū)域為Rmj(j=1,2,…,J)。
③對決策樹Tm的J個葉子節(jié)點,逐一計算最佳擬合值:
(9)
④本輪迭代可得分類器如下:
(10)
式中:I為訓(xùn)練樣本i在第j個葉子節(jié)點區(qū)域的示性函數(shù)。
I滿足:
(11)
(3)將由步驟(2)中產(chǎn)生的M個分類器線性加權(quán)求和,可以得到最終的分類模型如下:
(12)
從1.1節(jié)邏輯回歸模型的算法原理中可以看出,對于特征關(guān)系簡單的數(shù)據(jù)集分類問題,邏輯回歸模型具有多方面的處理優(yōu)勢。但是當(dāng)數(shù)據(jù)集的特征關(guān)系較為復(fù)雜時,邏輯回歸這種線性模型相比于其他非線性模型來說,其對數(shù)據(jù)特征關(guān)系的學(xué)習(xí)表征能力有限,進(jìn)而不能充分挖掘特征數(shù)據(jù)集中包含的潛在信息。因此,為了提升邏輯回歸模型對特征非線性關(guān)系的學(xué)習(xí)能力,在訓(xùn)練該模型之前,需要人工進(jìn)行復(fù)雜的特征工程,增加數(shù)據(jù)集的有效特征和特征組合,使特征關(guān)系趨于線性化。其缺點是有效的特征工程需要在與數(shù)據(jù)集相對應(yīng)的業(yè)務(wù)背景專家指導(dǎo)下展開,這將增加數(shù)據(jù)處理的成本。
GBDT是基于Boosting方法的決策樹集成模型。而決策樹的每一個非葉子節(jié)點都對應(yīng)數(shù)據(jù)的某一特征,自頂部根節(jié)點至底部葉子節(jié)點的所有路徑都代表著數(shù)據(jù)樣本集中可能存在的特征組合形式。且由1.2節(jié)中式(12)可知,所有決策樹在GBDT算法中都會被分配不同大小的權(quán)重。決策樹的權(quán)重越大,其內(nèi)含路徑對應(yīng)的組合特征重要度越大。為了從GBDT模型中獲得有效的組合特征,可以對數(shù)據(jù)樣本訓(xùn)練所得GBDT模型的葉子節(jié)點分布情況進(jìn)行觀察。當(dāng)某數(shù)據(jù)樣本通過GBDT模型時,其在每一棵決策樹上都將激活一個葉子節(jié)點,記錄下所有被激活葉子節(jié)點的位置并進(jìn)行編碼。按此方法對所有樣本激活的GBDT葉子節(jié)點位置編碼進(jìn)行統(tǒng)計,挑選被激活次數(shù)較多的葉子節(jié)點作為組合特征加入至原始數(shù)據(jù)中。此外,對GBDT選取合適的決策樹棵數(shù)和最大葉子節(jié)點數(shù),既可以對數(shù)據(jù)特征進(jìn)行有效的組合,又可以避免其過擬合,從而充分挖掘數(shù)據(jù)中的隱藏信息。
綜合上述對GBDT模型和LR模型的分析,可采用GBDT與LR融合的方式建立有效的胎兒窘迫預(yù)診模型。首先,利用原始數(shù)據(jù)訓(xùn)練GBDT模型,這樣得到的每顆決策樹上的每個葉子節(jié)點都將是新的特征向量的一個維度。如果對得到的所有決策樹上的葉子節(jié)點進(jìn)行獨熱編碼,則在新特征向量中有樣本落入的葉子節(jié)點對應(yīng)的特征位編碼值取1,其余特征位編碼值取0。GBDT-LR模型分類流程如圖1中所示。
圖1 GBDT-LR模型分類流程圖
對于包含有Treel和Tree2兩棵決策樹的GBDT模型,當(dāng)輸入某訓(xùn)練樣本X時,假如其分別激活了Treel上的第一個葉子節(jié)點和Tree2上的第三個葉子節(jié)點,則與這兩個葉子節(jié)點位置相對應(yīng)的新特征向量中的元素編碼為1,剩余元素編碼為0。因此得到的新特征向量可表示為[1,0,0,0,1]。最后利用合并后的新特征和原始特征一起訓(xùn)練LR模型,得到最終的分類結(jié)果。
本試驗采用來自福建省某醫(yī)院的脫敏臨床數(shù)據(jù)。CTG信號曲線如圖2所示。
圖2 CTG信號曲線
通過廣州三瑞醫(yī)療器械有限公司開發(fā)的SRViewCTG軟件,可以基于國際婦產(chǎn)科聯(lián)合會(international federation of gynecology and obstetrics,F(xiàn)IGO)指南[8],對曲線特征進(jìn)行提取。提取后的特征屬性和類別標(biāo)簽描述如表1所示。其中的類別標(biāo)簽Y為臨床醫(yī)生根據(jù)胎兒分娩后的真實情況進(jìn)行的分類:0表示正常;1表示異常。特征提取后的數(shù)據(jù)集共含1 958個有效樣本,其中包括1 795個正常樣本和163個異常樣本。
表1 胎兒CTG數(shù)據(jù)的特征描述和類別標(biāo)簽
本文在試驗前對數(shù)據(jù)的預(yù)處理工作主要包括:對含有缺失值的樣本采用劃分正常和異常的方法通過各自特征屬性的均值分別進(jìn)行填充;對二元屬性特征X10、X12和X14進(jìn)行數(shù)據(jù)轉(zhuǎn)換。另外,為了消除各特征屬性間量綱的影響,對所有數(shù)據(jù)樣本采用零均值標(biāo)準(zhǔn)化的歸一化方法進(jìn)行處理。歸一化公式如下:
(13)
式中:μ和δ分別對應(yīng)于原始數(shù)據(jù)的均值和方差。
在醫(yī)療診斷領(lǐng)域中,一般定義異常樣本為正類樣本(少數(shù)類),正常樣本為負(fù)類樣本(多數(shù)類)。試驗過程中,在進(jìn)行模型訓(xùn)練之前需要對數(shù)據(jù)中的正負(fù)類樣本比例進(jìn)行觀察。如果樣本類別不均衡時直接使用原始樣本進(jìn)行模型訓(xùn)練,則將使得模型傾向于關(guān)注占比高的那類樣本,即對醫(yī)療診斷問題的負(fù)類(正常樣本)的識別率高、對正類(異常樣本)識別率低。所以在訓(xùn)練模型前需要對樣本進(jìn)行均衡處理[9]。對于正負(fù)類樣本數(shù)量不均衡的情況,通常有兩類方法可以保持正負(fù)類樣本數(shù)量的平衡:使正類樣本的數(shù)量增加的方法稱為過采樣;使負(fù)類樣本數(shù)量減少的方法稱為欠采樣。本文采用Borderline-SMOTE算法[10]對正類樣本進(jìn)行過采樣。Borderline-SMOTE算法的基本思想如下。
①對每個正類樣本,確定m最近鄰樣本(包括正類樣本和負(fù)類樣本)。
②對每個正類樣本,計算其最近鄰的m個樣本中負(fù)類樣本的個數(shù)n。
由上述思想可以看出,該算法利用正負(fù)類間邊界附近的正類樣本隨機(jī)生成若干新的正類樣本。
本試驗原始數(shù)據(jù)的正負(fù)樣本比接近1∶11。將原始數(shù)據(jù)集的70%劃分為訓(xùn)練集和驗證集、剩下的30%作為測試集,在劃分的同時選用了分層劃分法保證這70%的數(shù)據(jù)和30%的數(shù)據(jù)中正負(fù)樣本比接近相等,防止測試集中出現(xiàn)少數(shù)類樣本占比極低的情況。然后,利用Borderline-SMOTE算法對上述70%的數(shù)據(jù)進(jìn)行均衡處理。處理完成后,其正負(fù)樣本比接近1∶1。
本試驗的軟件環(huán)境為Windows10_64 bit,Python 3.5,Jupyter Notebook 5.6.0。硬件環(huán)境為Intel(R)6 Core(TM)i3-3240 3.39 GHz CPU,8.0 GB內(nèi)存。
模型評估指標(biāo)需要針對具體問題進(jìn)行選取。有效的評估指標(biāo)將有助于各模型在分類性能上的對比分析。本文結(jié)合胎兒窘迫漏診率和誤診率兩個指標(biāo)的物理意義,采用靈敏度(Sensitivity)和特異度(Specificity)作為模型評估的指標(biāo)。其計算公式如下:
(14)
(15)
式中:TP為真陽性(true positive,TP);FP為假陽性(false positive,FP);TN為真陰性(true monegative,TN);FN為假陰性(false negative,FN)。
TP代表在測試集中真實標(biāo)簽為1(異常胎兒),模型預(yù)測結(jié)果也為1的樣本個數(shù)。FP代表在測試集中真實標(biāo)簽是為0(正常胎兒),模型預(yù)測結(jié)果卻為1(異常胎兒)的樣本個數(shù)。TN代表在測試集中真實標(biāo)簽為0(正常胎兒),模型預(yù)測結(jié)果也為0的樣本個數(shù)。FN代表在測試集中真實標(biāo)簽為1(異常胎兒),模型預(yù)測結(jié)果卻為0(正常胎兒)的樣本個數(shù)。模型的靈敏度越大,表示模型對異常樣本的識別能力越強(qiáng),即模型的漏診率越低;模型的特異度越大,表示模型對正常樣本的識別能力越強(qiáng),即模型的誤診率越低。
為了綜合考慮上述兩個指標(biāo),本文也采用接受者操作特性(receiver operation characteristre,ROC)曲線下面積(area under the roc curve,AUC)的大小對模型性能進(jìn)行評估。模型分類性能越好,則AUC值越大。最大AUC值為1,最小為0。另外,為了比較各個算法模型在胎兒窘迫數(shù)據(jù)集上的時間復(fù)雜度,本文將調(diào)用Python的第三方庫函數(shù)time計算各模型運行所需消耗的時間。
經(jīng)過對試驗數(shù)據(jù)預(yù)處理、數(shù)據(jù)集劃分、數(shù)據(jù)均衡處理和基于網(wǎng)格搜索法調(diào)參的GBDT-LR模型訓(xùn)練后,利用訓(xùn)練好的最優(yōu)參數(shù)GBDT-LR模型對測試集進(jìn)行分類。另外,本次試驗也分別比較了邏輯回歸(logistic regression,LR)、支持向量機(jī)(support vector machine,SVM)、反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)梯度提升決策樹(gradient bossting decision tree,GBDT)和XGBoost等單模型在測試集上的分類效果。以上所有單模型都經(jīng)過網(wǎng)格搜索法調(diào)參達(dá)到最優(yōu)。同時,為了保證各模型分類效果的穩(wěn)定性,所有指標(biāo)數(shù)據(jù)均為十折交叉驗證后取平均值的結(jié)果。不同模型性能對比結(jié)果如表2所示。
表2 不同模型性能對比結(jié)果
圖3為處于最優(yōu)參數(shù)時,訓(xùn)練集和測試集上的GBDT-LR模型的ROC曲線。
圖3 GBDT-LR模型的ROC曲線
從表2可以看出,GBDT-LR融合模型在測試集上的靈敏度為0.896,特異度為0.842,AUC值為0.942,優(yōu)于其他5種單模型算法的這3個指標(biāo),但耗時方面僅優(yōu)于BP神經(jīng)網(wǎng)絡(luò)。另外,從圖3可以觀察到,GBDT-LR模型在測試集上的ROC曲線被訓(xùn)練集的ROC曲線包裹,測試集上的AUC值為0.942,訓(xùn)練集上的AUC值為0.968,表明GBDT-LR模型在胎兒窘迫樣本數(shù)據(jù)上存在輕微的過擬合學(xué)習(xí)問題。
本文利用GBDT和LR融合的方法構(gòu)建了胎兒窘迫預(yù)診模型。該方法通過GBDT算法從原始數(shù)據(jù)中獲得組合特征,并將組合特征與原始數(shù)據(jù)特征合并后再提供給LR模型訓(xùn)練,從而得到最終的GBDT-LR模型。試驗結(jié)果表明,相較于已有的單個算法模型,GBDT-LR融合模型有效降低了胎兒窘迫的誤診率和漏診率,能夠輔助產(chǎn)科醫(yī)生對宮內(nèi)胎兒窘迫程度作出更有效的評估。同時,本文所提方法也存在不足的地方,如GBDT-LR融合模型會因數(shù)據(jù)量過少而產(chǎn)生輕微的過擬合現(xiàn)象。因此,筆者未來將繼續(xù)保持與醫(yī)院間的合作,以期在更大的數(shù)據(jù)集上進(jìn)一步提升胎兒窘迫的診斷效果。