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