郝婧宇,陳奕,吳水才
1. 北京工業(yè)大學(xué) 環(huán)境與生命學(xué)部,北京 100124;2. 首都醫(yī)科大學(xué)附屬北京婦產(chǎn)醫(yī)院 婦產(chǎn)科,北京 100124
電子胎心監(jiān)護(hù)(Electronic Fetal Monitoring,EFM)是臨床上關(guān)注度最高的產(chǎn)檢監(jiān)測(cè)指標(biāo)之一,是通過(guò)超聲多普勒形成的脈沖向胎兒心臟傳輸信號(hào),通過(guò)得到的胎心率(Fetal Heart Rate,F(xiàn)HR)變化來(lái)評(píng)估胎兒在子宮內(nèi)的狀況[1]。臨床表明,F(xiàn)HR 曲線的變化有助于發(fā)現(xiàn)胎兒窘迫、宮內(nèi)缺氧或酸中毒等異常病理狀態(tài)[2]。然而,由于FHR 信號(hào)的復(fù)雜性與多樣性,導(dǎo)致人工判讀結(jié)果存在一定偏差。利用智能分類(lèi)算法可以輔助醫(yī)生診斷,對(duì)降低胎兒宮內(nèi)缺氧、胎兒窘迫、新生兒窒息、缺血缺氧性腦病等不良妊娠結(jié)局具有重要意義。
近年來(lái),國(guó)內(nèi)外學(xué)者對(duì)胎兒心率參數(shù)定量研究,采用主成分分析、套索回歸等方法從原始特征集中選擇最優(yōu)特征子集,隨后運(yùn)用機(jī)器學(xué)習(xí)算法對(duì)胎兒健康狀態(tài)進(jìn)行評(píng)估。2017 年,Georgoulas 等[3]運(yùn)用曲線下面積對(duì)FHR 信號(hào)的54 個(gè)線性和非線性特征進(jìn)行排序后,使用最小二乘支持向量機(jī)分類(lèi)器來(lái)診斷胎兒類(lèi)別。2018 年,Zhao 等[4]設(shè)計(jì)了統(tǒng)計(jì)檢驗(yàn)、曲線下面積(Area Under Curve,AUC)和主成分分析等方法選擇出多模態(tài)信號(hào)特征,運(yùn)用決策樹(shù)、支持向量機(jī)和自適應(yīng)增強(qiáng)決策樹(shù)(Adaptive Boosting,Adaboost)執(zhí)行分類(lèi),最終分類(lèi)準(zhǔn)確率(Accuracy,ACC)為92%。Li 等[5]從胎心圖中提取7 個(gè)特征參數(shù),利用一維卷積神經(jīng)網(wǎng)絡(luò)對(duì)FHR 信號(hào)進(jìn)行分類(lèi),ACC 為93%。2020 年,葉明珠等[6]采用盲分割、插值法對(duì)信號(hào)預(yù)處理后,得到FHR信號(hào)的瞬時(shí)頻率特征圖,提取特征子集后運(yùn)用支持向量機(jī)對(duì)FHR 分類(lèi),ACC 為97%。
在胎兒狀態(tài)的評(píng)估中,數(shù)據(jù)預(yù)處理至關(guān)重要,是獲取高準(zhǔn)確性的第一步。其次,在特征選擇和模型構(gòu)建時(shí),一些機(jī)器學(xué)習(xí)模型的特征向量維數(shù)較低,并且過(guò)度依賴于時(shí)間特征。因此,本文將從數(shù)據(jù)處理、特征選擇和模型構(gòu)建等3 方面做出研究。首先,運(yùn)用極端梯度提升樹(shù)(Extreme Gradient Boosting,XGBoost)算法與HeatMap 對(duì)公開(kāi)的胎心數(shù)據(jù)集進(jìn)行分析,構(gòu)建兩個(gè)新特征作為最終模型的輸入,提出一種兩層Stacking 模型融合的新方法用于胎兒健康狀態(tài)的分類(lèi),以輔助臨床醫(yī)師對(duì)宮內(nèi)胎兒的健康狀態(tài)進(jìn)行診斷。
本研究采用的數(shù)據(jù)集是波爾圖大學(xué)在UCI(Machine Learning Repository,https://archive.ics.uci.edu/ml/index.php)中公開(kāi)的葡萄牙孕婦29~42 周的真實(shí)胎心數(shù)據(jù)集[7],該數(shù)據(jù)集是研究胎兒心電分類(lèi)算法的常用數(shù)據(jù)庫(kù)之一,已被廣泛用于算法的驗(yàn)證。
UCI 數(shù)據(jù)集中包含21 個(gè)臨床特征和2 個(gè)類(lèi)別屬性,其臨床特征是通過(guò)SisPorto 2.0[8]分析程序從胎心監(jiān)護(hù)圖中提取出來(lái)的,包含了致命心律的各種度量以及基于FIGO 指南的由產(chǎn)科專家分類(lèi)的公共特征,包括臨床實(shí)踐中常見(jiàn)的形態(tài)學(xué)特征、時(shí)域特征、頻域特征等,23 個(gè)屬性的完整定義及說(shuō)明如表1 所示。數(shù)據(jù)集共有2126 個(gè)樣本,其中“正常、可疑、異常”3 類(lèi)的病例數(shù)分別有1655、295 和176 個(gè),本文的任務(wù)是用前22 個(gè)變量作為自變量預(yù)測(cè)胎兒的狀態(tài)類(lèi)別。
表1 數(shù)據(jù)集中23個(gè)屬性的完整定義及說(shuō)明
臨床表明,當(dāng)缺氧、酸血癥和藥物誘導(dǎo)等現(xiàn)象發(fā)生時(shí),會(huì)在時(shí)域和頻域內(nèi)產(chǎn)生明顯的FHR 值變化[9]。臨床應(yīng)用的胎心監(jiān)護(hù)儀只顯示以每分鐘數(shù)表示的簡(jiǎn)單的形態(tài)學(xué)參數(shù),而不提供用于胎心率變異性(Fetal Heart Rate Variability,F(xiàn)HRV)分析的時(shí)頻域、非線性等其他參數(shù),因此對(duì)胎心曲線的分析與解讀來(lái)說(shuō),最重要的是如何準(zhǔn)確獲取上文所提數(shù)據(jù)集中包含的特征參數(shù)。
FHR 基線是指在沒(méi)有加減速和顯著變異的情況下,10 min 內(nèi)胎心波動(dòng)的平均值,一般可在胎心監(jiān)護(hù)圖中直接獲得。FHR 加減速是指受到宮縮、胎動(dòng)時(shí),F(xiàn)HR 出現(xiàn)加快或減慢且與基線之差超過(guò)一定閾值,并持續(xù)十余秒的變化過(guò)程,可通過(guò)相位整序信號(hào)平均技術(shù)(Phase Rectified Signal Averaging,PRSA)計(jì)算加速(Acceleration Capacity,AC)與減速(Deceleration Capacity,DC)。
根據(jù)PRSA 計(jì)算AC 的公式如式(1)所示。
其中,X為心率加速點(diǎn)對(duì)應(yīng)的心動(dòng)周期的平均值,單位為ms,結(jié)果為負(fù)值。
根據(jù)PRSA 計(jì)算DC 的公式如(2)所示。
其中,X為心率減速點(diǎn)對(duì)應(yīng)的心動(dòng)周期的平均值,單位為ms,結(jié)果為正值[10-11]。
基線變異是指每分鐘FHR 自波峰到波谷的振幅改變,分為長(zhǎng)變異(Long-Term Variation,LTV)與短變異(Short-Term Variation,STV)。這種變異估測(cè)的是兩次心臟收縮時(shí)間的間隔,在監(jiān)護(hù)圖上無(wú)法直接辨認(rèn),需要計(jì)算才可獲得[11]。一些實(shí)用軟件,例如,Matlab 中的峰值檢測(cè)算法可以計(jì)算收縮峰值與持續(xù)時(shí)間,從而建立心率和心率變異信號(hào)之間的聯(lián)系。除此之外,可以對(duì)FHR 變化序列進(jìn)行經(jīng)驗(yàn)?zāi)J椒纸?,得到的若干個(gè)內(nèi)蘊(yùn)模式函數(shù)分量,然后進(jìn)行希爾伯特-黃變換,得到希爾伯特譜及其邊界譜,最后計(jì)算FHR 的希爾伯特邊界譜在不同頻帶范圍內(nèi)的功率,建立一個(gè)定量測(cè)量的方法[10]。從而獲得異常短期變異性的時(shí)間百分比(Abnormal Percentage of Time for Short-Term Variability,ASTV)、短期變異的平均值(Mean of Short-Term Variation,MSTV)、異常長(zhǎng)期變異性的時(shí)間百分比(Abnormal Percentage of Time for Long-Term Variability,ALTV)、長(zhǎng)期變異的平均值(Mean of Long-Term Variation,MLTV)等特征參數(shù)。
FHR 頻率直方圖的最小值(Min)、最大值(Max)、峰值(Nmax)、零點(diǎn)(Nzeros)、眾數(shù)(Mode)、均值(Mean)、中值(Median)、方差(Variance)等可通過(guò)連續(xù)小波變換(Continuous Wavelet Transform,CWT)在頻域和時(shí)域進(jìn)行多分辨率分析。通常,小波被定義為母小波φ(t)和一組子小波φs(t),通過(guò)對(duì)φ(t)進(jìn)行尺度變換得到φs(t),每個(gè)φs(t)的頻率含量與一定的頻帶相關(guān)聯(lián),CWT 利用這一性質(zhì),將φs(t)與信號(hào)x(t)進(jìn)行比較,F(xiàn)HR 信號(hào)中RR[n]的CWT 如式(3)所示。
其中,φ*為小波的復(fù)共軛,計(jì)算某一尺度下每個(gè)時(shí)刻的功率如式(4)所示。
其中,Cg為可采性常數(shù),通過(guò)計(jì)算Ps[τ]的平均值并對(duì)該頻段內(nèi)的尺度積分,可以計(jì)算出某一頻段內(nèi)的頻率,進(jìn) 而 計(jì) 算 出Min、Max、Nmax、Nzeros、Mode、Mean、Median 等特征參數(shù)[12]。
類(lèi)不平衡是指訓(xùn)練分類(lèi)器所使用的訓(xùn)練集類(lèi)別分布不均。在醫(yī)療領(lǐng)域中,數(shù)據(jù)集通常是不平衡的,多數(shù)類(lèi)樣本數(shù)量與少數(shù)類(lèi)樣本數(shù)量之比高達(dá)106[13],在臨床胎心監(jiān)護(hù)案例中,異常類(lèi)也極為稀少,若以不平衡數(shù)據(jù)建模,占據(jù)多數(shù)的正常類(lèi)會(huì)被過(guò)度學(xué)習(xí),使得分類(lèi)算法傾向于忽略少數(shù)類(lèi)樣本。例如,本文使用的數(shù)據(jù)集包含2126 個(gè)樣本,其中有471 個(gè)被評(píng)估為負(fù)類(lèi),正類(lèi)和負(fù)類(lèi)之比達(dá)9 ∶2,即任何分類(lèi)算法的準(zhǔn)確度均可達(dá)9/(9+2)×100%=82%,這是不合理的。面對(duì)不平衡的數(shù)據(jù)集,Jyothi 等[14]提出利用3 種不同的加權(quán),同時(shí)利用合成少數(shù)類(lèi)過(guò)采樣技術(shù)(Synthetic Minority Oversampling Technique,SMOTE)與決策樹(shù)相結(jié)合的方法解決類(lèi)別不平衡的問(wèn)題。張揚(yáng)等[15]也采用SMOTE,利用線性插值,解決類(lèi)不平衡的問(wèn)題。
在本文中,采用SMOTE 與k-最近鄰相結(jié)合的方法對(duì)少數(shù)類(lèi)樣本進(jìn)行填充。該方法利用k-最近鄰的思想,在相距較近的兩個(gè)少數(shù)類(lèi)樣本間插入新樣本,形成規(guī)模更大的訓(xùn)練集。
采用SMOTE 技術(shù)后,數(shù)據(jù)集由2126 例變?yōu)?310 例,其中負(fù)類(lèi)為1655 個(gè),樣本數(shù)趨于平衡。其中原始數(shù)據(jù)集中的正常類(lèi)、可疑類(lèi)、異常類(lèi)分別有1655、295 和176 個(gè),受楊蔓麗等[7]研究的啟發(fā),本文將數(shù)據(jù)集中的可疑類(lèi)、異常類(lèi)兩類(lèi)數(shù)據(jù)進(jìn)行合并,歸為“負(fù)類(lèi)”,當(dāng)某個(gè)樣本被判斷為“負(fù)類(lèi)”時(shí),需及時(shí)進(jìn)行就醫(yī),更加符合臨床實(shí)際意義。
選擇合適的特征子集是機(jī)器學(xué)習(xí)算法中的關(guān)鍵步驟。在絕大多數(shù)分類(lèi)問(wèn)題中,某些特征往往包含重疊信息,相關(guān)性較高,甚至無(wú)法達(dá)到預(yù)期的信息量。因此,在應(yīng)用分類(lèi)算法之前,需進(jìn)行特征選擇,減少一部分特征或構(gòu)建一部分新的特征。選擇出最優(yōu)特征子集作為分類(lèi)器的數(shù)據(jù)輸入,不僅能提高計(jì)算效率,還能增強(qiáng)分類(lèi)器的泛化能力[16-17]。
該數(shù)據(jù)集中包含23 維特征,其中“CLASS”標(biāo)簽列不考慮在內(nèi),將該標(biāo)簽列去除,最終用于特征選擇的特征列為22 維。本文采用XGBoost 算法來(lái)選擇最優(yōu)特征子集,XGBoost 算法訓(xùn)練速度極快,可以計(jì)算每個(gè)特征的重要性,在特征篩選、模型可解釋性等方面都有顯著的優(yōu)勢(shì)。
XGBoost 算法選擇最優(yōu)特征子集的原理如下:在單個(gè)決策樹(shù)中通過(guò)每個(gè)屬性分裂點(diǎn)改進(jìn)性能度量的量來(lái)計(jì)算屬性重要性,由節(jié)點(diǎn)負(fù)責(zé)加權(quán)和記錄次數(shù),一個(gè)屬性對(duì)分裂點(diǎn)改進(jìn)性能度量越大,權(quán)值越大,屬性越重要[18]。最后將屬性在所有提升樹(shù)中的結(jié)果進(jìn)行加權(quán)求和并平均,得到重要性得分。本實(shí)驗(yàn)中,由XGBoost 算法計(jì)算得到的每個(gè)特征的重要性得分如圖1 所示。
圖1 基于XGBoost算法的各個(gè)特征重要性得分
從特征重要性分析圖中可看出,ASTV 特征重要性最高,這與楊蔓麗等[7]的研究結(jié)果類(lèi)似,考慮到短期變異的時(shí)間與短期變異的數(shù)值大小有相關(guān)性,因而將ASTV 與MSTV 這兩個(gè)特征相乘與相除得到兩個(gè)新特征,分別記為“ASTV_x_MSTV”與“ASTV_div_MSTV”。隨后運(yùn)用HeatMap 對(duì)24 個(gè)特征進(jìn)行相關(guān)性的分析,特征相關(guān)性高往往包含重疊信息,影響模型的解釋性和穩(wěn)定性,因此我們需要?jiǎng)h除高度相關(guān)的特征。通過(guò)HeatMap 可以簡(jiǎn)單地聚合大量數(shù)據(jù),直觀地展現(xiàn)數(shù)據(jù)相關(guān)性程度或頻率高低,最終效果優(yōu)于離散點(diǎn)的直接顯示,HeatMap 如圖2 所示,藍(lán)色代表相關(guān)性高,紅色則相反。
圖2 新特征子集的HeatMap圖
從HeatMap 圖 可 看 出,F(xiàn)HR 直方圖Mode、FHR 直方圖Median 與FHR 直方圖Mean 三者之間相關(guān)性極高,高達(dá)95%,則考慮在這三個(gè)特征中進(jìn)行選擇,結(jié)合上文XGBoost 算法對(duì)特征重要性的排名,最終保留“Mean”特征集。通過(guò)特征工程這一步驟后,最終確定的特征子集共有22 維特征,包含構(gòu)建的兩個(gè)新特征與剔除的兩個(gè)舊特征,特征選擇的效果在后文中得到評(píng)估。
1.5.1 XGBoost分類(lèi)器
XGBoost 分類(lèi)器是數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)中最常用的算法之一,與傳統(tǒng)的梯度提升算法相比,XGBoost 集成算法更快,分類(lèi)效果更準(zhǔn)確,被認(rèn)為是在分類(lèi)和回歸上都擁有超高性能的先進(jìn)評(píng)估器。
XGBoost 將回歸樹(shù)作為基分類(lèi)器不斷生成新的回歸樹(shù),每生成一棵樹(shù)即是在學(xué)習(xí)一個(gè)新的函數(shù),去擬合上次預(yù)測(cè)的殘差,運(yùn)用梯度下降的方法,將上一步生成的樹(shù)作為基礎(chǔ),逐漸最小化目標(biāo)函數(shù)。當(dāng)預(yù)測(cè)樣本時(shí),根據(jù)樣本特征,在每棵樹(shù)中尋找對(duì)應(yīng)的葉子節(jié)點(diǎn),每個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)一個(gè)分?jǐn)?shù),最后只需將每棵樹(shù)對(duì)應(yīng)的分?jǐn)?shù)相加即得到該樣本的預(yù)測(cè)值[19]。
建樹(shù)過(guò)程如下:確定初始樹(shù)為f0(xi),那么建立第t棵樹(shù)時(shí)的預(yù)測(cè)模型如公式(6)所示。
其中,xi表示第i個(gè)樣本,fk表示第k棵樹(shù),yi表示樣本xi的預(yù)測(cè)結(jié)果。
在建立模型過(guò)程中不斷優(yōu)化目標(biāo)損失函數(shù),使其最小,見(jiàn)公式(7)。
目標(biāo)函數(shù)由兩部分構(gòu)成,第一部分用來(lái)衡量預(yù)測(cè)分?jǐn)?shù)和真實(shí)分?jǐn)?shù)的差距,第二部分則是正則化項(xiàng),正則化項(xiàng)表示每棵樹(shù)的復(fù)雜度[20]。XGBoost 通過(guò)將Objt使用二階泰勒公式展開(kāi)得式(8)。
其中,gi、hi分別表示在第i 個(gè)樣本下泰勒展開(kāi)式的一階導(dǎo)數(shù)、二階導(dǎo)數(shù),通過(guò)公式(8)可得到關(guān)于wj的一元二次方程,因此能夠找到使Objt取值最小的wj。
通過(guò)以上步驟完成第t棵樹(shù)的建立[21]。
本研究基礎(chǔ)模型選擇樹(shù)形結(jié)構(gòu),模型調(diào)參采取GridSearch CV 方法,其中GridSearch 為網(wǎng)絡(luò)搜索,CV 為交叉驗(yàn)證。網(wǎng)絡(luò)搜索為在指定的參數(shù)范圍內(nèi),依據(jù)其步長(zhǎng),不斷調(diào)整參數(shù),從所有的參數(shù)中選擇出使測(cè)試集精度較高的參數(shù),XGBoost 模型的幾個(gè)重要參數(shù)與解釋說(shuō)明如表2 所示。
表2 XGBoost模型的幾個(gè)重要參數(shù)
1.5.2 Stacking模型融合
Stacking 是一種模型融合算法,又叫作模型堆疊,基本思路是先從初始的訓(xùn)練集訓(xùn)練出若干模型,然后將單模型的輸出結(jié)果作為樣本特征進(jìn)行整合,并將原始樣本標(biāo)記作為新數(shù)據(jù)樣本標(biāo)記,生成新的訓(xùn)練集[22]。再根據(jù)新訓(xùn)練集訓(xùn)練一個(gè)新的模型,最后用新的模型對(duì)樣本進(jìn)行預(yù)測(cè),其優(yōu)點(diǎn)是降低單模型的泛化誤差。
本研究的設(shè)計(jì)步驟如下:
(1)首先將選擇的最優(yōu)特征子集切分為5 份,每份包括662 例樣本數(shù)據(jù)。
(2)Stacking 的第一層模型可理解成一個(gè)超強(qiáng)的特征轉(zhuǎn)換層,第一層基模型選擇了5 個(gè)強(qiáng)模型,分別為:隨機(jī)森林(RandomForest,RF)、極端隨機(jī)樹(shù)(Extremely Randomized Trees,ET)、 梯 度 提 升 決 策 樹(shù)(Gradient Boosting Decision Tree,GBDT)、 自 適 應(yīng) 增 強(qiáng) 決 策 樹(shù)(Adaptive Boosting,Adaboost)、XGBoost,這5 個(gè)樹(shù)模型均屬于強(qiáng)模型,均是在決策樹(shù)的基礎(chǔ)上進(jìn)行優(yōu)化與提升。將第一步切分好的5 部分?jǐn)?shù)據(jù)分別作為這5 個(gè)模型的輸入進(jìn)行訓(xùn)練。
(3)第一層的5 個(gè)模型均運(yùn)用六折交叉驗(yàn)證的方法做訓(xùn)練。六折交叉驗(yàn)證的思想是:將數(shù)據(jù)劃分為6 部分,對(duì)其中的5 部分?jǐn)?shù)據(jù)做訓(xùn)練,每一份數(shù)據(jù)都會(huì)被作為一次驗(yàn)證集,然后將得到的6 個(gè)結(jié)果取平均。通過(guò)第一層的訓(xùn)練后,將5 個(gè)模型的5 個(gè)預(yù)測(cè)結(jié)果組成新的特征,作為第二層模型的輸入做訓(xùn)練。第二層的基模型選用了一個(gè)簡(jiǎn)單的Logistics 回歸分類(lèi)器,可以避免過(guò)擬合現(xiàn)象的發(fā)生。具體的Stacking 模型融合步驟如圖3 所示。
圖3 Stacking模型融合流程圖
采用混淆矩陣評(píng)估分類(lèi)模型的性能。首先,對(duì)于測(cè)試數(shù)據(jù)的正負(fù)類(lèi)別是已知的,要判斷的是通過(guò)模型預(yù)測(cè)出來(lái)的結(jié)果是否符合測(cè)試數(shù)據(jù)的真實(shí)結(jié)果。已知的測(cè)試數(shù)據(jù)分為正類(lèi)和負(fù)類(lèi),預(yù)測(cè)出的結(jié)果分為陽(yáng)性和陰性[23]。本文中,胎兒“正?!北硎菊?lèi),胎兒“可疑”和“異?!北硎矩?fù)類(lèi),則真正類(lèi)(True Positive,TP)為正常胎兒被正確分類(lèi)為正常;假負(fù)類(lèi)(False Negative,F(xiàn)N)為正常胎兒被錯(cuò)誤分類(lèi)為異常;假正類(lèi)(False Positive,F(xiàn)P)為異常胎兒被錯(cuò)誤分類(lèi)為正常;真負(fù)類(lèi)(True Negative,TN)為異常胎兒被正確分類(lèi)為異常,TP、FP、FN、TN 分類(lèi)矩陣如表3 所示。
表3 TP、FP、FN、TN分類(lèi)方法
為能直觀反映分類(lèi)性能,本文采用ACC、精確率(Precision)、召回率(Recall)以及F-score 值來(lái)衡量分類(lèi)結(jié)果。ACC 是一個(gè)很好很直觀的評(píng)價(jià)指標(biāo),其計(jì)算公式如(9)所示。
其 中,TP+TN表 示 分 類(lèi) 正 確 的 樣 本 數(shù),TP+FP+FN+TN表示所有的樣本數(shù),ACC 為兩者的比值,ACC 越高,說(shuō)明分類(lèi)效果越好。
Precision 表示的是當(dāng)前劃分為陽(yáng)性的類(lèi)別中,被分對(duì)的比例,其計(jì)算公式如(10)所示。
Recall 度量的是有多少個(gè)正例被分為正例,其計(jì)算公式如(11)所示。
F-score 值同時(shí)兼顧了分類(lèi)模型的ACC 和Recall,它是分類(lèi)模型ACC 和Recall 的一種加權(quán)平均,分?jǐn)?shù)越高說(shuō)明分類(lèi)效果越好。
除此之外,本文還采用皮爾遜相關(guān)系數(shù)(Pearson Correlation Coefficient,PCCs)以及AUC 來(lái)衡量訓(xùn)練模型的效果。PCCs 定義為兩個(gè)變量之間的協(xié)方差和標(biāo)準(zhǔn)差的商,它是一種統(tǒng)計(jì)指標(biāo),可以查看特征之間相關(guān)關(guān)系的密切程度。AUC 被定義為受試者特征曲線下與坐標(biāo)軸圍成的面積,它的取值范圍通常為0.5~1,AUC 值越接近1 說(shuō)明分類(lèi)器的ACC 越高。
本文的結(jié)果分析可分為兩部分。第一部分是運(yùn)用XGBoost 算法與HeatMap 所選擇的最優(yōu)特征子集的評(píng)估,運(yùn)用這兩種方法確定出最終的22 個(gè)特征應(yīng)用于模型的訓(xùn)練。第二部分是模型分類(lèi)結(jié)果的評(píng)估,將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,隨機(jī)選取1968 個(gè)數(shù)據(jù)作為訓(xùn)練集,662 個(gè)數(shù)據(jù)作為測(cè)試集。
2.2.1 特征選擇
綜合XGBoost 算法和HeatMap 對(duì)特征的重要程度與相關(guān)性評(píng)估的結(jié)果,選出22 維特征作為最優(yōu)特征子集進(jìn)行模型的訓(xùn)練。首先,通過(guò)XGBoost 算法進(jìn)行模型訓(xùn)練,運(yùn)用GridSearch CV 方法選出XGBoost 算法的最優(yōu)參數(shù),最優(yōu)參數(shù)如表4 所示。其中學(xué)習(xí)率為0.1,最大深度為9,模型數(shù)量為10。
表4 XGBoost模型最優(yōu)特征參數(shù)
隨后,運(yùn)用PCCs 評(píng)估所得的預(yù)測(cè)結(jié)果與真實(shí)結(jié)果的差異性,結(jié)果表明,PCCs 由未選特征前的0.873 提高到0.885。
除此之外,運(yùn)用ACC、Precision、Recall 以及F-score值所得評(píng)價(jià)結(jié)果如表5 所示。從表中可看出,運(yùn)用最優(yōu)特征子集所訓(xùn)練的模型分類(lèi)性能更好,ACC、Precision、Recall、F-score 值均有所提高。
表5 原特征與最優(yōu)特征子集的結(jié)果比較
2.2.2分類(lèi)結(jié)果
對(duì)原始特征集和最優(yōu)特征子集使用Stacking 模型堆疊,在第一層基模型中,運(yùn)用5 個(gè)強(qiáng)模型:RF、ET、GBDT、AdaBoost、XGBoost。每個(gè)模型運(yùn)用六折交叉驗(yàn)證進(jìn)行訓(xùn)練,將5 個(gè)模型的預(yù)測(cè)結(jié)果組成新的特征,作為第二層模型的特征輸入,第二層的基模型運(yùn)用了簡(jiǎn)單的Logistics 回歸模型。在第一層的模型訓(xùn)練中,以AUC 為指標(biāo),對(duì)比了5 個(gè)基模型的得分情況,見(jiàn)表6。
表6 五個(gè)基模型的AUC得分情況
從表6 中可看出,XGBoost 分類(lèi)器相較于其他4 個(gè)機(jī)器學(xué)習(xí)單模型有較好的分類(lèi)能力。采用ACC、Precision、Recall、F-score 值對(duì)第一層最強(qiáng)的基模型XGBoost、第二層Logistics 回歸模型以及第一層分別使用4 個(gè)和5 個(gè)基模型融合的分類(lèi)結(jié)果進(jìn)行比較,見(jiàn)表7。
表7 ACC、Precision、Recall、F-score值評(píng)估結(jié)果
從表7 中可看出,RF+ET+GBDT+Adaboost+XGBoost 5 個(gè)模型融合的分類(lèi)能力最優(yōu),ACC、Precision、Recall、F-score、AUC 分 別 達(dá) 到0.950、0.923、1、0.960、0.980,具有較好的分類(lèi)性能。
除此之外,對(duì)第一層中最強(qiáng)的基模性XGBoost 與第二層基模性Logistics 回歸的性能采用混淆矩陣來(lái)評(píng)估,見(jiàn)圖4。結(jié)果顯示,在隨機(jī)選取的662 例測(cè)試集樣本中,運(yùn)用XGBoost 模型,分類(lèi)正確的有294 例(實(shí)際為正類(lèi),預(yù)測(cè)為正類(lèi))+330 例(實(shí)際為負(fù)類(lèi),預(yù)測(cè)為負(fù)類(lèi))=624 例,而運(yùn)用Logistics 回歸模型分類(lèi)結(jié)果不如XGBoost 模型,有269 例(實(shí)際為正類(lèi),預(yù)測(cè)為正類(lèi))+299 例(實(shí)際為負(fù)類(lèi),預(yù)測(cè)為負(fù)類(lèi))=568 例分類(lèi)正確。
圖4 模型分類(lèi)混淆矩陣
本文提出一種基于公開(kāi)數(shù)據(jù)集的胎兒宮內(nèi)健康狀態(tài)智能評(píng)估新方法。針對(duì)正類(lèi)和負(fù)類(lèi)數(shù)據(jù)集不平衡問(wèn)題,采用SMOTE 方法進(jìn)行少數(shù)樣本集的填充。運(yùn)用XGBoost 算法與HeatMap 對(duì)原始數(shù)據(jù)集分析,構(gòu)建兩個(gè)新特征作為最佳特征子集用于模型的特征輸入,最后構(gòu)建了一種兩層Stacking 模型融合的新方法用于胎兒分類(lèi)。實(shí)驗(yàn)結(jié)果表明,使用最佳特征子集的分類(lèi)性能優(yōu)于原始特征集,并且運(yùn)用五層Stacking模型融合的方法達(dá)到性能最優(yōu),ACC 為0.950,Precision為0.923,Recall 為1,F(xiàn)-score 為0.960,AUC 為0.980。
此外,對(duì)比前人的研究工作,進(jìn)一步證明了本文算法的性能。張揚(yáng)等[15]對(duì)FHR 信號(hào)進(jìn)行研究,提取出形態(tài)學(xué)、時(shí)域、頻域等多模態(tài)特征后,運(yùn)用k-最近鄰遺傳算法選擇最優(yōu)特征子集,最小二乘支持向量機(jī)法對(duì)其分類(lèi),ACC 為0.91,AUC 為0.92。Ocak[24]使用支持向量機(jī)和遺傳算法相結(jié)合的分類(lèi)技術(shù),使用回歸模型和粒子群優(yōu)化方法來(lái)訓(xùn)練,最后應(yīng)用二叉決策樹(shù)進(jìn)行數(shù)據(jù)分類(lèi),ACC 為91.6%,此方法中二叉樹(shù)算法很容易在訓(xùn)練數(shù)據(jù)中生成復(fù)雜的樹(shù)結(jié)構(gòu),造成過(guò)擬合。本文中Stacking 模型融合第二層采用簡(jiǎn)單的Logistics 回歸分類(lèi)器,可以很好地避免過(guò)擬合問(wèn)題,并且本文所提的算法準(zhǔn)確度有所提升。
本文方法亦存在不足,今后在以下幾個(gè)方面還有待深入探究:
(1)臨床實(shí)踐的驗(yàn)證。對(duì)于胎心信號(hào)圖的分析和解讀來(lái)說(shuō),最重要的是如何準(zhǔn)確識(shí)別所有特征參數(shù),因而,后期需在醫(yī)生的指導(dǎo)下,進(jìn)行胎心信號(hào)的數(shù)據(jù)采集和參數(shù)提取,盡可能獲得本文所用數(shù)據(jù)集的所有參數(shù),以便驗(yàn)證本文所提出模型的性能。
(2) 提高算法精度。雖然該算法的ACC 有所提升,但對(duì)于要求更高的臨床診斷來(lái)說(shuō)還有所欠缺。因此,后期將不斷改變算法結(jié)構(gòu),進(jìn)一步提升分類(lèi)性能。
(3)應(yīng)用深度學(xué)習(xí)算法。應(yīng)用深度學(xué)習(xí)算法對(duì)胎心監(jiān)護(hù)圖研究,運(yùn)用卷積降維,用低維的卷積核區(qū)代替高維的卷積核,并配置與優(yōu)化網(wǎng)絡(luò)層數(shù),減少運(yùn)算量和參數(shù)量,設(shè)計(jì)出更加輕量級(jí)的網(wǎng)絡(luò)模型。
(4)構(gòu)建完整的胎心監(jiān)護(hù)輔助診斷系統(tǒng)。一個(gè)好的模型是輔助診斷的第一步,后續(xù)還需結(jié)合智能分類(lèi)算法,將科研成果落地,將其部署到服務(wù)器軟件中,構(gòu)建一個(gè)完整的胎心監(jiān)護(hù)診斷系統(tǒng)。
近年來(lái),由于胎心監(jiān)護(hù)圖中參數(shù)定義的不嚴(yán)謹(jǐn)性以及臨床醫(yī)師個(gè)體主觀認(rèn)知的不同,對(duì)胎心圖像誤判導(dǎo)致剖宮產(chǎn)率不斷上升[25],利用智能分類(lèi)算法可以輔助醫(yī)生對(duì)胎兒健康狀態(tài)做出診斷。本文提出的基于Stacking 模型融合的方法經(jīng)過(guò)測(cè)試集的測(cè)試,最終的ACC 為0.950,AUC 為0.980,可作為醫(yī)護(hù)人員診斷胎兒健康狀態(tài)的參考依據(jù)。另外,XGBoost 等模型速度快、準(zhǔn)確率高,可分布式部署,能集成到當(dāng)前流行的Hadoop、Apache Storm 等數(shù)據(jù)處理框架之中,使得本方法可移植到服務(wù)器軟件平臺(tái),實(shí)現(xiàn)診斷監(jiān)護(hù)一體化。