高寧化,王 姮,馮興華
(西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621000)
心電信號(Electrocardiogram,ECG)是心臟活動的直接反映,是診斷心血管疾病的重要依據(jù)。傳統(tǒng)基于心電圖分析的診療技術(shù)主要依靠醫(yī)生經(jīng)驗(yàn)和知識進(jìn)行模板匹配,隨著人工智能技術(shù)的發(fā)展,研究基于ECG自動分析的診斷技術(shù)并提高病癥診斷的效率和準(zhǔn)確性具有重要意義。
基于ECG心律失常分類的相關(guān)研究重點(diǎn)集中在心電信號的特征提取和分類識別上[1-2]。文獻(xiàn)[3]提取心電信號的離散余弦變換(Discrete Cosine Transform,DCT)、RR間期和QRS復(fù)合波3種特征,以最小歐式距離分類器在MIT-BIH庫中進(jìn)行實(shí)驗(yàn)驗(yàn)證,其分類準(zhǔn)確率達(dá)96.6%。文獻(xiàn)[4]采用6尺度小波變換對心電信號進(jìn)行特征提取,將支持向量機(jī)(Support Vector Machine,SVM)作為分類器,在MIT-BIH庫中取得了98.39%的識別準(zhǔn)確率。文獻(xiàn)[5]提取RR間期、高斯混合模型及高階統(tǒng)計(jì)量特征,通過決策樹進(jìn)行分類識別,取得了較好的分類效果。文獻(xiàn)[6]采用導(dǎo)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)(Lead Convolutional Neural Network,LCNN)的方法提取心電信號特征,并用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練識別,在CCDD數(shù)據(jù)庫上的識別準(zhǔn)確率為84.77%。
當(dāng)前心電信號特征提取方法主要包括時域特征提取[7]、頻域特征提取[8]和高階統(tǒng)計(jì)量特征提取3種,而分類識別方法既包括傳統(tǒng)的機(jī)器學(xué)習(xí)方法,如SVM、貝葉斯法[9]、決策樹[10]等,又有深度學(xué)習(xí)[11]、集成學(xué)習(xí)[12]等新方法。上述方法大多存在一些問題,例如,單一特征不能準(zhǔn)確描述心電信號的全部信息,而通過數(shù)學(xué)變換提取特征的方式會增加計(jì)算的時間復(fù)雜度,同時,分類方法中的深度學(xué)習(xí)對硬件要求較高,需要大量的數(shù)據(jù)進(jìn)行模型學(xué)習(xí),實(shí)現(xiàn)難度較大。
本文提出一種基于時頻融合特征和動態(tài)模糊決策樹(Dynimic Fuzzy Decision Tree,DFDT)的心電信號分類識別方法。利用小波包變換對心電信號進(jìn)行分解與重構(gòu),完成去噪、頻域特征提取和9個時域特征的提取,使時域特征與頻域特征相互融合。同時對模糊決策樹進(jìn)行改進(jìn),在建樹過程中對當(dāng)前節(jié)點(diǎn)進(jìn)行模糊C均值聚類(Fuzzy C-Means,FCM)處理,實(shí)現(xiàn)隸屬度函數(shù)的自適應(yīng)確認(rèn),進(jìn)而完成特征空間的動態(tài)劃分。
特征提取是心電信號分類識別的核心,本文提出一種新的時頻特征融合方法,其流程如圖1所示。以單個周期的ECG為樣本,首先對連續(xù)的心電信號進(jìn)行周期分割,以顯化正異常心電信號的差異,便于提取區(qū)分性強(qiáng)的特征。對每一個周期的心電信號進(jìn)行小波包分解與重構(gòu),并將保留的小波包系數(shù)矩陣二范數(shù)的值作為特征,同時完成心電信號的去噪以及頻域特征提取。然后對重構(gòu)后的周期心電信號進(jìn)行時域形態(tài)識別,提取P波峰值、T波峰值、R波峰值、QRS波持續(xù)時間、P-T間期、P-R間期和R-T間期等特征信息,并將時域和頻域特征進(jìn)行融合,用融合后的特征向量來表征心電信號。最后,利用改進(jìn)的動態(tài)模糊決策樹算法進(jìn)行實(shí)驗(yàn)驗(yàn)證。
圖1 心電信號分類識別流程Fig.1 Flowchart of ECG signal classification and recognition
由于在一段時間內(nèi)采集到的心電信號是連續(xù)的,每一次心跳為一個周期,因此以一個周期的心電信號為研究對象能準(zhǔn)確定位各波峰的位置,有利于心電信號時域特征的提取。傳統(tǒng)的心電信號分割方法主要有2種,一種是按固定長度的窗口截取周期信號,該方法由于受個人體質(zhì)、心跳快慢等因素的影響,分割得到的心電信號時好時壞,不具備穩(wěn)定性,另一種是按P波、T波位置確定周期,該方法雖然分割得到的周期信號準(zhǔn)確度較高,但是P波、T波定位困難,算法復(fù)雜度較高。針對上述兩種方法存在的不足,考慮到要快速準(zhǔn)確地定位心電信號的R波位置,且R波與T波、P波相對位置固定,本文以R波峰位置為基準(zhǔn),在相鄰的3個R波峰位置之間,選取第1個峰值與中間峰值的2/3處到中間峰值與第3個峰值的2/3處為一個周期,圖2給出了ECG周期的分割過程。
圖2 ECG信號周期分割過程Fig.2 Cycle segmentation process of ECG signal
(1)
其中,g(k)=(-1)kh(1-k),所定義的函數(shù)集合{Un(t)}為由尺度函數(shù)確定的小波包。本文針對心電信號的特點(diǎn),通過以下4個步驟提取ECG頻域特征:
步驟1數(shù)據(jù)導(dǎo)入,即導(dǎo)入分割后的周期心電信號。
步驟2心電信號分解。選擇Daubechies小波作為小波包基函數(shù),對周期心電信號進(jìn)行3層小波包分解,圖3給出了3層小波包分解的8個基函數(shù)。
圖3 3層小波包分解的8個基函數(shù)Fig.3 8 basis functions of 3-layer wavelet packet decomposition
步驟3心電信號重構(gòu)。根據(jù)各小波包基函數(shù)對原始信號的貢獻(xiàn)程度,保留前n組小波包系數(shù)對心電信號進(jìn)行重構(gòu),具體過程如式(2)所示。
(2)
其中,S表示重構(gòu)出的信號,Si表示基函數(shù),δi表示基函數(shù)對應(yīng)的系數(shù)矩陣。通過對圖3的分析可知,后4組小波包基函數(shù)幅值較小,主要影響ECG峰與峰之間的穩(wěn)定性,因此選擇前4組小波包系數(shù)矩陣與基函數(shù)進(jìn)行重構(gòu),重構(gòu)結(jié)果如圖4所示。
圖4 心電信號小波包重構(gòu)結(jié)果Fig.4 Reconstruction results of wavelet packet of ECG signals
由圖4可以看出,選擇前4組小波包系數(shù)重構(gòu)出的心電信號保留了各波形的特征,在時間和峰值上都有較高的重構(gòu)精度,且峰與峰之間的過渡更平滑,有助于提高P波、T波的定位精度,為后續(xù)心電信號時域特征的提取提供有力保障。
步驟4頻域特征提取。計(jì)算系數(shù)矩陣δi的二范數(shù),將二范數(shù)的值作為心電信號的頻域特征,如式(3)所示。
(3)
根據(jù)心電信號的特點(diǎn),共提取9個時域形態(tài)上的特征,包括P波峰值、R波左側(cè)波谷、R波峰值、R波右側(cè)波谷、T波峰值、P-T間期、P-R間期、R-T間期和QRS波持續(xù)時間,如圖5所示。
圖5 時域特征提取Fig.5 Temporal feature extraction
上述時域特征可以分為兩大類,一類是各波峰值的信息,另一類是各波之間的時間間期信息,在特征提取的過程中,先提取峰值特征,再提取時間間期特征。
1)峰值特征提取
在一個周期的心電信號中,最顯著的是R波,所以首先對R波進(jìn)行檢測。R波峰值通常是周期內(nèi)的極大值,在特殊情況下存在R波倒置、R波后出現(xiàn)極大值的情況,為了能正確檢測到R波峰值,本文選擇在1/2周期內(nèi)對R波進(jìn)行定位,其在時間上滿足以下條件:
(4)
其中,M表示一個周期的心電信號。當(dāng)R波峰值大于0時,選擇周期信號的最大值作為R波峰值,當(dāng)R波峰值小于0時,選擇周期信號的最小值作為R波峰值,如式(5)所示。
(5)
提取R波左、右側(cè)波谷特征,以R波峰值左右兩端出現(xiàn)的第1個極值為R波左、右側(cè)波谷特征,然后對P波峰值進(jìn)行檢測。本文通過設(shè)定時間窗的方式,將周期起始位置到R波左側(cè)峰谷位置之間的極大值作為P波峰值,如式(6)所示。
fP=maxM,TO (6) 對T波峰值進(jìn)行檢測,本文將R波右側(cè)波谷位置到周期最后值之間的極大值作為T波峰值,如式(7)所示。 fT=maxM,TR+ (7) 2)時間間期特征提取 根據(jù)R波提取QRS間期特征,定義QRS間期為R波左側(cè)峰谷到R波右側(cè)峰谷的持續(xù)時間,如式(8)所示。 TQRS=TR+-TR- (8) 提取P-R間期特征,定義P-R間期為P波峰值到R波峰值的持續(xù)時間,如式(9)所示。 TP-R=TR-TP (9) 提取R-T間期特征,定義R-T間期為R波峰值到T波峰值的持續(xù)時間,如式(10)所示。 TR-T=TT-TR (10) 提取P-T間期,定義P-T間期為P波峰值到T波峰值的持續(xù)時間,如式(11)所示。 TP-T=TT-TP (11) 通過上述步驟,心電信號時域波形特征可包括5種峰值信息和4種時間間期信息,共計(jì)9個特征,然后將時域特征與頻域特征進(jìn)行融合,用融合后的13維的特征向量來表征原始心電信號。 FDT算法是將模糊集合理論應(yīng)用到?jīng)Q策樹中的新型推理算法,其結(jié)合了決策樹的可理解性和模糊集合的綜合表達(dá)能力[13]。一方面,FDT事先對特征空間進(jìn)行模糊劃分,然后在建樹過程中應(yīng)用某種監(jiān)督函數(shù)在劃分好的特征空間尋找最優(yōu)的決策邊界。另一方面,屬性模糊劃分的隸屬函數(shù)通常需要領(lǐng)域?qū)<乙揽拷?jīng)驗(yàn)知識給出,特別是在維數(shù)較高、數(shù)據(jù)量較大的數(shù)據(jù)集上,即使是專家也很難準(zhǔn)確地給出各屬性上的模糊集合隸屬函數(shù)[14]。 針對上述問題,本文提出一種基于FCM的動態(tài)模糊決策樹方法。在當(dāng)前節(jié)點(diǎn)到葉子節(jié)點(diǎn)的建樹過程中,在每一個屬性上對節(jié)點(diǎn)內(nèi)的樣本進(jìn)行模糊C均值聚類,實(shí)現(xiàn)特征空間的動態(tài)劃分。同時,屬性模糊劃分中的隸屬度由FCM自動給出,在確定隸屬度函數(shù)時避免用到經(jīng)驗(yàn)知識。 FCM不同于K-means聚類中非此即彼的剛性劃分方式,K-means聚類的每個樣本以隸屬度的形式隸屬于各個聚類中心,隸屬度之和為1,而FCM以不斷迭代更新聚類中心和隸屬度矩陣的方式使同類之間差距最小,異類之間差距最大[15-16]。本文以歐式距離作為樣本點(diǎn)之間的相似性指標(biāo),其具體計(jì)算過程如式(12)所示。 (12) FCM以異類間距離最大,同類間距離最小為目標(biāo),因此,將式(12)轉(zhuǎn)化為約束條件的極小值求解,并引入拉格朗日乘子λj(j=1,2,…,N),得到以下公式: (13) (14) FCM算法的具體過程如算法1所示。 算法1FCM算法 1.初始化隸屬度集合U(0)={uij}。 3.更新隸屬度集合U(k)和U(k+1)。 4.if ‖U(k+1)-U(k)‖<ε,then STOP 5.otherwise return to step 2 FCM算法在建樹過程中完成特征空間的動態(tài)劃分后,就可以計(jì)算節(jié)點(diǎn)各屬性的信息增益值。定義當(dāng)前節(jié)點(diǎn)為A,所含樣本數(shù)為N,樣本集合為Y={y1,y2,…,yn},類別標(biāo)簽為c,類別標(biāo)簽集合為C,節(jié)點(diǎn)A中類別標(biāo)簽為c的樣本總數(shù)為Nc。選擇屬性v為分裂屬性,通過FCM算法將A中的樣本聚為c類,將屬性v上聚類的簇表示為vc,所有簇的集合為Dvc,每個簇中所含樣本數(shù)為Nv,樣本yj在vc上的隸屬度為uvc(yj),則當(dāng)前節(jié)點(diǎn)A中所含樣本數(shù)可以表示為如下形式: (15) 當(dāng)前節(jié)點(diǎn)A的信息熵為: (16) 選擇屬性v進(jìn)行聚類后所產(chǎn)生的信息增益為: Ggain(A,v)=E(A)-E(A|v)= (17) 其中,Nvc為當(dāng)前簇v劃分后類別標(biāo)簽為c的樣本個數(shù)。依次計(jì)算每一個屬性劃分下的信息增益,選擇信息增益最大的屬性作為最終的分裂屬性,以此進(jìn)行決策樹構(gòu)建。動態(tài)模糊決策樹構(gòu)建過程如算法2所示。其中,建樹停止的條件為: 1)所有屬性都被選為分類屬性使用過。 2)當(dāng)前節(jié)點(diǎn)中所有樣本屬于同一類別。 3)當(dāng)前節(jié)點(diǎn)中樣本個數(shù)小于等于2。 動態(tài)模糊決策樹的建樹過程如算法2所示。 算法2動態(tài)模糊決策樹算法 輸入訓(xùn)練樣本特征數(shù)據(jù)集X、模糊屬性集V、當(dāng)前節(jié)點(diǎn)N 輸出計(jì)算節(jié)點(diǎn)N的信息量 1.用FCM對節(jié)點(diǎn)N中的樣本進(jìn)行聚類。 2.計(jì)算每個屬性劃分下的信息增益。 4.返回屬性Vmax的相關(guān)聚類數(shù)目c。 5.檢查子節(jié)點(diǎn)并更新當(dāng)前節(jié)點(diǎn):V=V-Vmax。 6.for k=1∶c 7.if停止條件不滿足 9.DFDT=BuildTree(X,V,N) 10.end 11.end 為驗(yàn)證本文方法的有效性,選取MIT-BIH標(biāo)準(zhǔn)心電數(shù)據(jù)庫[17]為樣本進(jìn)行實(shí)驗(yàn),該數(shù)據(jù)庫包含48組0.5 h心電數(shù)據(jù)記錄,采樣頻率為360 Hz,共計(jì)109 655個周期心電信號。由多個心電信號專家對每個周期進(jìn)行標(biāo)注,主要信息如表1所示。 表1 MIT-BIH數(shù)據(jù)庫信息Table 1 Information of MIT-BIH database 本文選取肢體導(dǎo)聯(lián)Ⅱ的數(shù)據(jù),對正常心電信號及左右束支阻滯、房性室性早搏、起搏等幾類異常心電信號進(jìn)行分析。每次采集的正常與異常數(shù)據(jù)各4 500組,采集15次。由于篇幅有限,本文隨機(jī)選擇一次采集的數(shù)據(jù)進(jìn)行詳細(xì)介紹,其正常心率采集自100、103、116和122號樣本,異常心率采集自207、212、231和232號樣本。針對本文所提取的特征,設(shè)計(jì)3個實(shí)驗(yàn),分別為頻域特征下的心電信號分類、時域特征下的心電信號分類、時頻融合特征下的心電信號分類。同時,為了增加實(shí)驗(yàn)結(jié)果的可信度,采用交叉驗(yàn)證的方法將數(shù)據(jù)平均分成9份,每次用其中8份做訓(xùn)練,剩下的1份做測試,循環(huán)9次后統(tǒng)計(jì)平均識別率,結(jié)果如表2所示。3組實(shí)驗(yàn)下的識別率比較如圖6所示。類似地,使用相同方法得到的其他14次采集數(shù)據(jù)的平均識別率均在99%左右,證明此方法具有可重復(fù)性。 表2 交叉驗(yàn)證的識別率比較Table 2 Comparison of recognition rates using cross-validation 圖6 交叉驗(yàn)證結(jié)果比較Fig.6 Comparison of cross-validation results 從圖6和表4可以看出,融合特征的識別率比單一的頻域特征提高15.95%,比單一的時域特征提高1.14%,總體來講,融合特征在保證數(shù)據(jù)維度增加不大的情況下,可取得更高的分類準(zhǔn)確率。為驗(yàn)證本文算法在心電信號分類識別問題上的有效性,基于Matlab和WEKA平臺,將本文方法與SVM、樸素貝葉斯方法(Na?ve-Bayes)、徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)(RBF-Network)、Bagging、C4.5決策樹、隨機(jī)森林(Random-Forest)、K最近鄰(KNN)等幾種常見分類方法進(jìn)行對比,結(jié)果如表3所示。 表3 7種不同方法的識別率比較Table 3 Comparison of recognition rates of 7 different methods 從表3可以看出,本文DFDT方法在心電信號分類問題上效果更佳,在融合特征下,本文方法的識別準(zhǔn)確率比傳統(tǒng)機(jī)器學(xué)習(xí)方法平均可提高11.91%。 為進(jìn)一步驗(yàn)證本文方法的普適性,除了采用MIT-BIH庫中的數(shù)據(jù)進(jìn)行驗(yàn)證以外,還通過自建數(shù)據(jù)庫進(jìn)行實(shí)驗(yàn)驗(yàn)證。具體做法如下:以AD8232芯片為心電信號核心采集裝置,通過Arduino單片機(jī)與計(jì)算機(jī)完成通信,計(jì)算機(jī)對實(shí)時采集的人體心電信號進(jìn)行存儲,完成實(shí)際數(shù)據(jù)庫的構(gòu)建。自建數(shù)據(jù)庫共采集24個無心臟疾病者的心電信號,每人采集8個心電信號周期,共計(jì)192個樣本。將所有樣本按本文方法提取特征,并作為分類器的輸入,DFDT識別結(jié)果為187個心拍正常,正確率達(dá)到97.40%,證明本文方法在實(shí)際應(yīng)用中能滿足心臟疾病預(yù)檢的要求。為了進(jìn)一步評估本文方法的可靠性,將本文方法與DCT+R-R+QRS[3]、MBE+HHT[18]、Multiscale Wavelet[4]、LCNN[6]、Wavelet+Gabor[19]進(jìn)行對比,結(jié)果如表4所示。 表4 6種不同特征提取方法的實(shí)驗(yàn)結(jié)果比較Table 4 Comparison of experimental results of 6 different feature extraction methods 本文所采用的特征提取方法相對其他方法而言,計(jì)算復(fù)雜度較低,在小波包分解與重構(gòu)過程中同時完成心電信號的去噪和頻域特征提取,對時域特征提取的方法簡單、快速,融合特征維度僅為13,時間復(fù)雜度相較其他研究更低。改進(jìn)的動態(tài)模糊決策樹方法在處理當(dāng)前節(jié)點(diǎn)時,采用FCM方法完成隸屬度函數(shù)的自適應(yīng)確定,實(shí)現(xiàn)建樹過程中特征空間的動態(tài)劃分,其適應(yīng)性更強(qiáng),同時正異常心電信號的分類準(zhǔn)確率達(dá)到了99.14%,能滿足心電信號正異常預(yù)檢的要求。 本文提出一種基于時頻融合特征及動態(tài)模糊決策樹的心電信號分類方法。利用小波包分解與重構(gòu)提取頻域特征,并與9個時域特征進(jìn)行融合,以此表征原始心電信號。在模糊決策樹的建樹過程中引入模糊C均值聚類方法,實(shí)現(xiàn)特征空間的動態(tài)劃分,并對正異常心電信號進(jìn)行分類識別。實(shí)驗(yàn)結(jié)果表明,該方法在MIT-BIH標(biāo)準(zhǔn)心電數(shù)據(jù)庫上的識別率達(dá)到99.14%。然而,本文研究只針對少數(shù)幾種心率異常情況進(jìn)行識別,下一步將尋找更準(zhǔn)確的特征提取方法,并融合醫(yī)院數(shù)據(jù)及人工智能算法,實(shí)現(xiàn)心血管疾病的自動診斷。2 動態(tài)模糊決策樹
2.1 模糊C均值聚類
2.2 動態(tài)模糊決策樹構(gòu)建
3 實(shí)驗(yàn)結(jié)果與分析
4 結(jié)束語