范蒙蒙,張燁菲,鄧艷軍,邵李煥
(1.杭州電子科技大學(xué)通信工程學(xué)院,浙江 杭州 310018;2.杭州電子科技大學(xué)電子信息學(xué)院,浙江 杭州 310018)
胎心宮縮監(jiān)護(Cardiotocography, CTG)廣泛用于評估胎兒在子宮內(nèi)的發(fā)育狀況,胎心率(Fetal Heart Rate, FHR)是CTG的核心生理信號之一。FHR指胎兒心臟每分鐘跳動的次數(shù),胎兒的宮內(nèi)窘迫狀態(tài)[1]使得胎兒心率出現(xiàn)偏低或偏高的異?,F(xiàn)象。采用CTG監(jiān)測FHR,并結(jié)合胎心率曲線對胎兒在孕婦宮內(nèi)的狀態(tài)進行評估,對預(yù)防胎兒酸中毒或?qū)m內(nèi)缺氧等危險情況的發(fā)生以及提高胎兒的出生率和健康率具有非常重要的意義。實際臨床監(jiān)測中,常常出現(xiàn)胎兒翻身、探頭位置固定不佳或孕婦體位變化等狀況,獲取不到完整的胎心率信號。缺失值填補方法主要包括基于插值類的方法、基于字典學(xué)習(xí)類的方法和基于統(tǒng)計學(xué)習(xí)的方法?;诓逯殿惙椒ū容^簡單,容易實現(xiàn),適合填補缺失較少的數(shù)據(jù)段[2-3],比如線性插值[4]、三次樣條插值[5]等。相比于插值類方法而言,基于字典學(xué)習(xí)類方法的實現(xiàn)略顯復(fù)雜,不過能承受較多的缺失數(shù)據(jù),比如高斯過程[6]、最優(yōu)方向法(Method of Optimal Direction, MOD)[7]、K-奇異值分解(K-Singular Value Decomposition, K-SVD)[8]、移不變字典學(xué)習(xí)(Shift-Invariant Dictionary Learning, SIDL)[9]等,但連續(xù)缺失大量數(shù)據(jù)時,出現(xiàn)訓(xùn)練速度慢或過擬合。基于統(tǒng)計學(xué)習(xí)的方法先根據(jù)數(shù)據(jù)的均值、方差等特征來確定一個特殊的概率分布,再將最適合假定概率分布的值作為缺失數(shù)據(jù)的填補值[10],比如概率主成分分析法(Probabilistic Principal Component Analysis,PPCA)[11]、矩陣分解[12]等,通常需要結(jié)合數(shù)據(jù)的內(nèi)在統(tǒng)計特征,在一定程度上限制了其應(yīng)用場景。集成學(xué)習(xí)是一種提升學(xué)習(xí)器性能的方法,不僅可以得到性能更優(yōu)的學(xué)習(xí)器,還可以降低模型的偏差,為此,本文提出一種基于集成學(xué)習(xí)的胎心率缺失值填補算法,提高了FHR信號的完整性。
集成學(xué)習(xí)主要是先通過訓(xùn)練數(shù)據(jù)集產(chǎn)生多個弱學(xué)習(xí)模型,再使用平均法、投票法或?qū)W習(xí)法的結(jié)合策略生成強學(xué)習(xí)模型[13]。一般而言,集成學(xué)習(xí)要求個體學(xué)習(xí)器既要有一定的準(zhǔn)確性,又要有不同的個體差異,經(jīng)過一定組合策略生成的學(xué)習(xí)器才更具泛化性能,更好地完成特定任務(wù)。
根據(jù)弱學(xué)習(xí)器之間是否存在依賴性,集成學(xué)習(xí)可以分為Boosting和Bagging兩大類。Boosting依據(jù)前一學(xué)習(xí)器的表現(xiàn)對樣本分布進行調(diào)整,并基于調(diào)整后的樣本分布訓(xùn)練下一學(xué)習(xí)器,得到更優(yōu)性能的學(xué)習(xí)器[14]。Bagging隨機有放回抽取訓(xùn)練樣本進行模型訓(xùn)練,其后訓(xùn)練學(xué)習(xí)器的性能有可能比前一個學(xué)習(xí)器要差[15]。與Boosting相比,Bagging可以減小方差以及過擬合的風(fēng)險,但由于是重復(fù)有放回采樣,會產(chǎn)生一定程度的偏差,影響最終結(jié)果。Boosting不僅使得訓(xùn)練學(xué)習(xí)器的性能越來越優(yōu),還可以降低模型的偏差,因此本文采用Boosting。
常用的Boosting算法有自適應(yīng)提升(Adaptive Boosting, AdaBoost)、梯度樹提升(Gradient Boosting Decision Tree, GBDT)和極端梯度提升(eXtreme Gradient Boosting, XGBoost)。AdaBoost是一種精度很高的分類器,不易發(fā)生過擬合,但對異常值很敏感;GBDT既可以解決分類問題,又可以解決回歸問題,對異常值的魯棒性很強;XGBoost在目標(biāo)函數(shù)中引入正則項,既降低了模型的方差,又有助于防止過擬合,但計算復(fù)雜度高。
本文研究的缺失值填補屬于回歸問題,AdaBoost是分類器不能解決回歸問題,XGBoost計算復(fù)雜度高,故本文算法選擇GBDT來填補缺失值。最小二乘提升(Least-Squares Boosting, LSBoost)[16]作為GBDT算法中的一種,以均方差作為損失函數(shù),算法描述如下。
輸入:訓(xùn)練集{(xi,yi)}Ni=1;損失函數(shù)L(y,F)=(y-F)2/2;迭代次數(shù)M。其中,y表示預(yù)處理后的胎心率信號,h(x;α)表示弱學(xué)習(xí)器,ρ表示對應(yīng)弱學(xué)習(xí)器的權(quán)重,Fm(x)表示訓(xùn)練好的強學(xué)習(xí)器模型,N表示模型訓(xùn)練集中的樣本數(shù)。 初始化,F0(x)=y For m=1 to M do︰yi=yi-Fm-1(xi),i=1,…,N(ρm,αm)=argminα,ρ∑Ni=1[yi-ρh(xi;α)]2Fm(x)=Fm-1(x)+ρmh(x;αm) End for輸出:預(yù)測的信號值y'i=Fm(xi)
本文使用的數(shù)據(jù)集來自捷克技術(shù)大學(xué)布爾諾大學(xué)(Czech Technical University-University Hospital in Brno, CTU-UHB)的CTG數(shù)據(jù)庫,共有552個原始胎心率信號,從2009—2012年的捷克共和國布爾諾大學(xué)醫(yī)院產(chǎn)科病房9 164次分娩CTG記錄中獲得,所有信號的采樣頻率均為4 Hz。CTU-UHB數(shù)據(jù)庫中使用的孕婦和新生兒生理參數(shù)的詳細(xì)信息參見文獻[17]。本文從CTU-UHB數(shù)據(jù)庫中隨機選取100例信號進行實驗,其中訓(xùn)練集占70%(共70例),測試集占30%(共30例)。
本文采用線性插值法對原始FHR信號中的不穩(wěn)定部分進行預(yù)處理。首先,移除值為0且持續(xù)時間大于15 s的FHR信號;然后,針對不穩(wěn)定信號,即相鄰兩點幅值之差的絕對值大于25 bpm的信號段,在前一穩(wěn)定部分的最后一個采樣點和下一穩(wěn)定部分的第一個采樣點之間進行插值。數(shù)據(jù)庫中的每例FHR信號包括14 400個時間點,實驗隨機截取信號的2 400個時間點進行研究。預(yù)處理的效果如圖1所示。
圖1 FHR信號預(yù)處理結(jié)果
圖1(a)中存在不穩(wěn)定數(shù)據(jù)點(1 421,89.5),使用上一穩(wěn)定部分的最后一個數(shù)據(jù)點(1 420,124.0)和下一穩(wěn)定部分的第一個數(shù)據(jù)點(1 422,89.5)來構(gòu)造線性方程,得到信號在1 421點處的胎兒心率值為106.8,即為通過線性插值進行預(yù)處理得到穩(wěn)定的信號。
本文使用的實驗數(shù)據(jù)來自CTU-UHB采集的CTG數(shù)據(jù)庫,每例訓(xùn)練集的樣本數(shù)N=1 680,迭代次數(shù)M=200,學(xué)習(xí)率為0.52。共進行3個實驗,一是研究單段缺失的情況下,信號上升段、平穩(wěn)段以及下降段所能承受的最大缺失點數(shù);二是以更加直觀的方式呈現(xiàn)缺失的單段數(shù)據(jù)在3種算法下的填補結(jié)果;三是研究多段缺失情況下,3種算法的恢復(fù)性能。使用均方根誤差(Root Mean Square Error, RMSE)、平均絕對誤差(Mean Absolute Error, MAE)以及歐氏距離(Euclidean Distance, ED)對算法的恢復(fù)性能進行評價。
選取100例經(jīng)過預(yù)處理的完整胎心率信號,在每例信號的平穩(wěn)段、上升段和下降段各模擬30個缺失數(shù)據(jù)點,分別使用本文算法、均值填補算法、字典學(xué)習(xí)與稀疏編碼填補算法對缺失值進行恢復(fù),并繪制缺失點數(shù)與RMSE的曲線圖,根據(jù)繪制出的曲線圖確定每例信號的不同段允許缺失的最大點數(shù),然后取平均值作為最終的結(jié)果。選擇第125例信號的平穩(wěn)段、上升段和下降段進行示例。
2.1.1 信號平穩(wěn)段允許缺失的最大點數(shù)
在節(jié)能降耗檢測工作中,能源計量技術(shù)發(fā)揮著重要的作用,該技術(shù)的有效應(yīng)用可以極大地提升節(jié)能降耗數(shù)據(jù)采集與監(jiān)測水平。本文主要對能源計量工作在節(jié)能降耗中的作用與地位進行簡要分析,并且從節(jié)能降耗途徑,能源計量的作用以及政策與公共節(jié)能3個角度進行了具體的分析。
信號平穩(wěn)段的缺失模擬及恢復(fù)情況如圖2所示。從圖2可以看出,當(dāng)缺失點數(shù)小于6時,字典學(xué)習(xí)與稀疏編碼填補算法和均值填補算法的RMSE增長較快,本文算法的RMSE增加緩慢;當(dāng)缺失點數(shù)大于6時,3種算法的RMSE都在增加,且增速相對之前較快。綜合3種算法的性能表現(xiàn),設(shè)定信號在平穩(wěn)段的最大缺失長度為6。
圖2 3種算法在信號平穩(wěn)段允許缺失的最大點數(shù)
2.1.2 信號上升段允許缺失的最大點數(shù)
信號上升段的缺失模擬及恢復(fù)情況如圖3所示。從圖3可以看出,當(dāng)缺失點數(shù)小于18時,字典學(xué)習(xí)與稀疏編碼填補算法和本文算法的RMSE在緩慢增加,均值填補算法的RMSE增速相對較快;當(dāng)缺失點數(shù)大于18時,字典學(xué)習(xí)與稀疏編碼填補算法和均值填補算法的RMSE增速加快,但本文算法的RMSE仍在緩慢增加。綜合3種算法的性能表現(xiàn),設(shè)定信號在上升段的最大缺失長度為18。
圖3 3種算法在信號上升段允許缺失的最大點數(shù)
2.1.3 信號下降段允許缺失的最大點數(shù)
信號下降段的缺失模擬及恢復(fù)情況如圖4所示。從圖4可以看出,當(dāng)缺失點數(shù)小于8時,字典學(xué)習(xí)與稀疏編碼填補算法和本文算法的RMSE在緩慢增加,均值填補算法的RMSE增速相對較快;當(dāng)缺失點數(shù)大于8時,3種算法的RMSE都在增加,且增速相對之前較快。綜合3種算法的性能表現(xiàn),設(shè)定信號在下降段的最大缺失長度為8。
圖4 3種算法在信號下降段允許缺失的最大點數(shù)
根據(jù)不同信號段上允許缺失的最大點數(shù)來模擬缺失的數(shù)據(jù)段,并繪制填補結(jié)果圖,更加直觀地分析本文算法、均值填補算法、字典學(xué)習(xí)與稀疏編碼填補算法的恢復(fù)性能。
2.2.1 信號平穩(wěn)段的填補結(jié)果
圖5 3種算法在信號平穩(wěn)段的填補結(jié)果
從圖5可以看出,本文算法的填補結(jié)果與原始信號波形更相似,而均值填補算法和字典學(xué)習(xí)與稀疏編碼填補算法的填補結(jié)果明顯不太理想。
2.2.2 信號上升段的填補結(jié)果
由2.1.2節(jié)實驗可知,信號上升段最多允許缺失18個數(shù)據(jù)點,隨機將該上升段的連續(xù)18個點的值置為0,分別使用3種算法進行填補,填補結(jié)果如圖6所示。
圖6 3種算法在信號上升段的填補結(jié)果
從圖6可以看出,本文算法的填補結(jié)果與原始信號重合程度較高,字典學(xué)習(xí)與稀疏編碼填補算法次之,均值填補算法最差。
2.2.3 信號下降段的填補結(jié)果
由2.1.3節(jié)實驗可知,信號下降段最多允許缺失8個數(shù)據(jù)點,隨機將該下降段的連續(xù)8個點的值置為0,分別使用3種算法進行填補,填補結(jié)果如圖7所示。
圖7 3種算法在信號下降段的填補結(jié)果
從圖7可以看出,均值填補算法的結(jié)果最差,而本文算法的填補結(jié)果與原始信號擬合程度較高。
在確定不同信號段允許缺失最大點數(shù)的基礎(chǔ)上,選取100組信號進行實驗,每組取3段,分別計算本文算法、均值填補算法、字典學(xué)習(xí)與稀疏編碼填補算法在相同信號段上的RMSE,MAE和ED,并取其平均值,結(jié)果如表1所示。
表1 不同算法在不同信號段上的性能
從表1可以看出,本文算法的均方根誤差、平均絕對誤差和歐氏距離均小于其他2種算法,說明本文算法對FHR信號的恢復(fù)性能更優(yōu)。
本文提出一種基于集成學(xué)習(xí)的胎心率缺失值填補算法。通過研究FHR信號段的缺失情況,采用集成學(xué)習(xí)方法進行FHR信號段的填補,提高了胎心信號缺失值的預(yù)測精度。下一步將繼續(xù)優(yōu)化算法,將算法運用到臨床數(shù)據(jù)中,不斷改進算法的可實踐性。