李偉康,鄧 星,邵海見
(江蘇科技大學(xué)計算機學(xué)院,江蘇 鎮(zhèn)江212100)
心電信號是評價心臟是否健康的一項重要依據(jù),它記錄了心臟跳動周期所產(chǎn)生的電位變化[1,2]。根據(jù)世界衛(wèi)生組織(WTO)統(tǒng)計數(shù)據(jù)顯示[3],以2010年至2020年的十年數(shù)據(jù)為例,平均每年有1500萬人死于心血管疾病,占全部非傳染性疾病致死率的48%。心律失常是心血管疾病中最為常見的病癥之一,長期心律失常通常會導(dǎo)致嚴重的心臟病,基于心律失常分類算法的計算機輔助醫(yī)療手段也隨之出現(xiàn)。根據(jù)美國醫(yī)療儀器促進協(xié)會[4](AAMI,The Association for the Advancement of Medical Instrumentation)制定的標準[5,6],心拍可以被分為5大類:非異位(Normal beat)、室上性異位(Supraventricularectopic beats)、室性異位(Ventricularectopic beats)、融合心跳(Fusion beats)和未知心跳(Unknown beats)。準確快速地識別異常心律,對病人的診斷具有重要意義。
目前,心律識別常用方法包括傳統(tǒng)機器學(xué)習(xí)分類算法和基于深度學(xué)習(xí)的分類算法。傳統(tǒng)的機器學(xué)習(xí)通常先人工提取特征,然后將該特征作為最終分類器的輸入并進行實驗評估。Thomas[7]等利用小波包分解、小波包信息熵等特征提取方法,將RR間期三種特征作為輸入,并使用隨機森林算法對心電信號進行分類,達到了94.61% 的準確率。Li.H等[8]提出采用主成分分析法PCA以及獨立成分分析來提取特征,并使用SVM進行分類,該方法的準確率為93.8%。其分類結(jié)果易受到人工提取的特征的影響,并且特征提取的步驟較為復(fù)雜。Acharya[9]等設(shè)計9層CNN實現(xiàn)心電信號自動分類,并采用小波變換對數(shù)據(jù)降噪,同時進行了數(shù)據(jù)擴充。最終分類準確率為94.03%。由于擴充數(shù)據(jù)直接從原始數(shù)據(jù)生成,增加了產(chǎn)生偏差結(jié)果的可能性。針對少樣本的數(shù)據(jù)分類準確率偏低。D.Verma[10]將卷積神經(jīng)網(wǎng)絡(luò)與長短期記憶神經(jīng)網(wǎng)絡(luò)結(jié)合,利用復(fù)合的神經(jīng)網(wǎng)絡(luò)對ECG心電信號進行分類。該方法利用了心電波形的時序性:卷積神經(jīng)網(wǎng)絡(luò)提取空間特征,長短記憶網(wǎng)絡(luò)挖掘其時間關(guān)聯(lián)性。Sean S X[11]等利用3層DNN進行基于對齊心跳的特征提取和分類。在心拍分段階段采用零填充和裁剪保證心拍大小相同;分類精度為94.7%。缺點:進行了心跳對齊,剪裁和擴充,操作復(fù)雜。Chu J[12]等首次提出用于多導(dǎo)聯(lián)ECG信號的2D-CNN網(wǎng)絡(luò)以提取交叉導(dǎo)聯(lián)ECG特征。改進的多導(dǎo)聯(lián)LSTM網(wǎng)絡(luò)提取特征更方便。將CNN,LSTM提取的特征以及傳統(tǒng)特征融合,并使用二進制PSO對特征區(qū)分。最終分類精度達到了96.6%。基于深度學(xué)習(xí)出色的特征提取能力,本文提出了一種多模型投票的深度學(xué)習(xí)ECG波形分類方法,集成四個全連接的弱分類器組成強分類器,并且對數(shù)據(jù)集進行平衡處理,然后利用加權(quán)投票機制來提高ECG心電波形的分類準確率。
如圖1所示,本文提出的基于深度學(xué)習(xí)多模型投票機制的ECG波形分類具體步驟如下:①原始ECG心電波形預(yù)處理。首先對原始心電信號波形進行去噪處理,使用小波閾值去噪法,避免噪聲對心電信號分類準確率的影響;然后對數(shù)據(jù)集進行平衡處理,數(shù)據(jù)增強有利于提高模型的魯棒性。②多模型深度學(xué)習(xí)。將預(yù)處理完成的數(shù)據(jù)分別輸入四個具有不同網(wǎng)絡(luò)參數(shù)的深度神經(jīng)網(wǎng)絡(luò),并得到不同的預(yù)測結(jié)果。③投票機制。計算出各分類器的權(quán)值,利用加權(quán)投票確定最終的分類結(jié)果。

圖1 多模型深度學(xué)習(xí)投票機制的ECG分類算法
本文的主要結(jié)構(gòu)如下:第一部分介紹了ECG心電信號分類的研究意義以及國內(nèi)外研究現(xiàn)狀,并提出了多模型投票的深度學(xué)習(xí)ECG波形分類方法。第二部分具體介紹了多模型投票的深度學(xué)習(xí)ECG波形分類方法的設(shè)計過程,包括數(shù)據(jù)預(yù)處理方法設(shè)計、多模型深度學(xué)習(xí)投票機制分析、多模型深度學(xué)習(xí)加權(quán)投票模型設(shè)計。第三部分為實驗評估,使用本文方法得出ECG心電波形的分類結(jié)果,將本文方法與支持向量機、卷積神經(jīng)網(wǎng)絡(luò)、深度神經(jīng)網(wǎng)絡(luò)和長短期記憶網(wǎng)絡(luò)進行對比,并分析了本文方法較上述方法的優(yōu)勢。
在原始ECG信號中,往往夾雜著各種噪聲,比如工頻干擾、基線漂移等等[13]。噪聲很大程度上影響著ECG信號分類結(jié)果的準確性,為了提高ECG信號的分類準確率,需要將原始數(shù)據(jù)進行濾波去噪處理。本文采取小波閾值去噪,包括3個部分:分解過程、閾值處理過程與重構(gòu)過程。經(jīng)小波分解后,選取一個合適的閾值,使用閾值函數(shù)對各層進行量化;最后用處理后的系數(shù)重構(gòu)信號。采用閾值方法可以保留信號系數(shù)的同時,濾除大部分噪聲系數(shù)。小波閾值去除ECG心電信號噪聲的具體處理過程為:將含噪聲的ECG心電信號在各尺度上進行小波分解,設(shè)定初始閾值,將幅值低于閾值的小波系數(shù)置為0,高于閾值的小波系數(shù)做相應(yīng)的“收縮(shrinkage)”處理。最后將處理后獲得的小波系數(shù)用逆小波變換進行重構(gòu),得到去噪后的信號。閾值函數(shù)選取軟閾值函數(shù)

(1)
其中T為閾值,Wnew為處理后的小波系數(shù)。閾值T選擇固定閾值

(2)
其中,N為信號的長度,圖2中虛線為帶噪聲原始ECG信號,實線為小波閾值去噪后的波形,小波閾值去噪法較好地消除了噪聲,并且完好地保留了ECG信號的有效成分。

圖2 原始波形與去噪后的波形
部分數(shù)據(jù)去噪后的信噪比(SNR)和均方誤差(MSE)如表1所示。

表1 小波閾值去噪結(jié)果評價

(3)

(4)
反向傳播的過程本質(zhì)上就是神經(jīng)網(wǎng)絡(luò)的最優(yōu)化過程[15]。在激活函數(shù)中,使用最普遍的有 Sigmoid函數(shù)、Tanh函數(shù)、和ReLu函數(shù),ReLu函數(shù)是一個非線性激活函數(shù),相比Sigmoid函數(shù)與Tanh函數(shù),它能夠克服梯度消失的問題,加快訓(xùn)練速度。因此本文采用ReLu激活函數(shù)。
目前,集成學(xué)習(xí)中既可使用各種不同分類器進行集成,也可以使用同一種分類器進行集成,只是同種分類器之間的參數(shù)有所不同[16]。集成學(xué)習(xí)通過利用多個分類器之間的互補信息來減少單個分類器的誤差,提高預(yù)測性能和分類精度。常用的集成學(xué)習(xí)方法有Boosting、決策樹、隨機森林、投票法和Bagging等等,其中,投票法最簡單、最可靠,但由于簡單投票法的集成過程只是結(jié)果的集成,輸出單純的分類決策,沒有體現(xiàn)基分類器之前的性能差異。在投票法的基礎(chǔ)上,有學(xué)者提出了加權(quán)投票;給分類性能高的基分類器賦予一個較高的權(quán)值,給分類性能低的賦予一個較低的權(quán)值。加權(quán)投票能使高性能基分類器的優(yōu)勢充分體現(xiàn)出來。本文采用不同網(wǎng)絡(luò)參數(shù)的深度神經(jīng)網(wǎng)絡(luò)作為基分類器。
面對數(shù)據(jù)量大且特征不易分的ECG心電數(shù)據(jù),使用深度學(xué)習(xí)算法無疑是最好的處理辦法;深度學(xué)習(xí)算法不需要人工提取特征,直接輸入完整的心電波形,這避免了人工提取的特征存在表征能力不足的問題。在基于深度學(xué)習(xí)的基礎(chǔ)上,將加權(quán)投票法與之結(jié)合,能夠最大程度地糾正單個深度神經(jīng)網(wǎng)絡(luò)的分類錯誤。首先,對各個基分類器進行初始化,輸入心電信號并訓(xùn)練模型,然后得出各分類器的預(yù)測標簽。再計算出所有基分類器的權(quán)重,把各分類器的預(yù)測準確率相加得到準確率之和,將分類器的準確率與準確率之和相比,得到單個基分類器的權(quán)重λi,其數(shù)學(xué)公式為式(5)(i表示分類器的個數(shù),本文提出的方法利用了4個基分類器,所以i=1,2,3,4)

(5)

(6)
其中hi表示第i個基分類器在樣本x上的輸出。最后利用投票機制對這4個基分類器的預(yù)測結(jié)果進行投票表決,將得分最高的標簽作為最終的分類結(jié)果。
具體的算法如下所示。
算法1:加權(quán)投票法
輸入:D為心電數(shù)據(jù)集;n為弱分類器個數(shù)
輸出:P(x)為預(yù)測結(jié)果
1)加載ECG心電數(shù)據(jù)集D,劃分70%的訓(xùn)練集DT;30%的測試集Dt
2)fori=1ton
3)利用訓(xùn)練集DT訓(xùn)練得到基分類器hi(x)
4)由弱分類器hi(x)對測試集Dt中每個樣本xm(m=1,2,3,…,t)的類別進行預(yù)測,得到預(yù)測值Pm(i)
5)計算每個基分類器的權(quán)值:
6)將基分類器hi(xm)的預(yù)測值Pm(i)乘以權(quán)值λi
為了驗證和比較模型的分類效果,本文采用MIT-BIH數(shù)據(jù)庫[17]來驗證。MIT-BIH心律失常數(shù)據(jù)庫包含了48條ECG記錄,每條記錄長30min左右,采樣頻率為360Hz。每條ECG記錄由兩個導(dǎo)聯(lián)組成,考慮到每條記錄的導(dǎo)聯(lián)并不相同,為了保持數(shù)據(jù)分布的一致性,本文僅利用Ⅱ?qū)?lián)和Ⅵ導(dǎo)聯(lián)的40條記錄。根據(jù)R峰的位置對ECG信號進行分割,取R點前后各80個采樣點和R點本身的共161個采樣點作為一個訓(xùn)練樣本,最終從40條記錄中提取共87550個樣本,將26265個樣本作為測試集,其余樣本作為訓(xùn)練集。將心拍按AAMI標準劃分為5類,5種類型的心拍的數(shù)量見表2。

表2 MIT-BIH數(shù)據(jù)集中5類心拍數(shù)量
從表2可以看出,正常心跳的樣本數(shù)量占據(jù)了82.8%,而室上性早搏和心室融合心跳的樣本數(shù)量分別占了2.5%、0.7%;正常心跳樣本數(shù)量是室上性早搏樣本數(shù)量的33倍,是心室融合心跳樣本數(shù)量的117倍。所以該數(shù)據(jù)集是非平衡數(shù)據(jù)集。非平衡數(shù)據(jù)集在模型訓(xùn)練的時候會產(chǎn)生過擬合現(xiàn)象,影響模型的精確度。所以本文對該數(shù)據(jù)集進行平衡處理,多數(shù)類進行下采樣,少數(shù)類進行上采樣,達到數(shù)據(jù)集平衡的效果,如表3所示。

表3 數(shù)據(jù)集平衡處理后的各類數(shù)量
對處理完成后的MIT-BIH數(shù)據(jù)集進行標準化處理,分為兩個步驟:去均值的中心化和方差的規(guī)模化,即將所有數(shù)據(jù)的均值變?yōu)?,方差變?yōu)?。原始的MIT-BIH數(shù)據(jù)不服從正態(tài)分布,存在離散的點,模型在擬合的時候會被離散點影響,使模型性能下降。為了保證結(jié)果的可靠性,對原始MIT-BIH數(shù)據(jù)集進行標準化處理,有利于模型初始化、調(diào)整學(xué)習(xí)率、加速權(quán)重參數(shù)收斂,提高模型的性能。本文實驗將MIT-BIH心電信號數(shù)據(jù)集的70%作為訓(xùn)練集,30%作為測試集。
將預(yù)處理好的數(shù)據(jù)分別輸入四個結(jié)構(gòu)精簡的全連接神經(jīng)網(wǎng)絡(luò)中進行訓(xùn)練,通過集成融合的思想以及投票的策略對所有模型輸出進行重構(gòu),輸出最終的識別率。下面將具體介紹多模型的組成類型和訓(xùn)練參數(shù)。由兩個全連接層構(gòu)成的全連接網(wǎng)絡(luò),每個網(wǎng)絡(luò)的權(quán)重各不相同。第一層有10個神經(jīng)元,使用ReLu激活函數(shù);第二層有5神經(jīng)元,激活函數(shù)則采用Softmax函數(shù)。優(yōu)化算法采用Adam優(yōu)化器,學(xué)習(xí)率設(shè)置為0.01。將不同權(quán)值的model.h5文件分別載入4個模型中,按各個模型訓(xùn)練出的結(jié)果進行加權(quán)投票,最后加權(quán)投票分類結(jié)果的混淆矩陣如表4所示。

表4 ECG分類混淆矩陣
從表4可以看出來,在不平衡數(shù)據(jù)集中,即使對少數(shù)類進行了數(shù)據(jù)擴充,在訓(xùn)練的時候依然會影響該類的識別準確率,表中室上性早搏和心室融合心跳便反映出了這一問題,這兩類的分類準確率低于多數(shù)類的分類準確率,正常心跳,室性早搏和未分類心跳的識別率則是非常高。如果僅僅根據(jù)模型準確率(ACC)來衡量一共分類器的性能是不科學(xué)的;本次實驗中,ECG波形分類準確率(ACC)達到了98%。為了能科學(xué)地評估分類器的性能,本文使用了ROC曲線,如圖3所示。

圖3 ECG波形5分類ROC曲線
圖3所示的ROC曲線,5分類中每個類別AUC的值(即圖中的area)趨近于1或等于1;AUC的值越接近1,表示分類器的性能越好。本文采用混淆矩陣來全面評估本研究方法對心拍分類的性能,主要包括三個評價指標:準確率(ACC)、敏感度(Se)、特異性(Sp)。

(7)

(8)
式中:真陽性Tp表示正樣本被預(yù)測為正樣本的數(shù)目;真陰性Tn表示負樣本被預(yù)測為負樣本的數(shù)目;假陰性Fn表示正樣本被預(yù)測為負樣本的數(shù)目;假陽性Fp表示負樣本被預(yù)測為正樣本的數(shù)目。
將本文方法與支持向量機(SVM)算法、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、深度神經(jīng)網(wǎng)絡(luò)(DNN)、長短期記憶網(wǎng)絡(luò)(LSTM)以及CNN-LSTM的組合網(wǎng)絡(luò)進行對比,結(jié)果如表5所示。

表5 各分類方法的結(jié)果對比
由表5可以看出,本文基于深度學(xué)習(xí)多模型投票法的分類準確率、敏感度和特異性是所有方法中最高的。與傳統(tǒng)的機器學(xué)習(xí)方法相比,本文方法的準確率(ACC)比PCA+SVM算法提高了4.2%;這主要是由于本文基于深度學(xué)習(xí)多模型投票法能夠從ECG信號中主動學(xué)習(xí)有高區(qū)分性的特征,并從數(shù)據(jù)中挖掘出相關(guān)的信息,這是人工提取特征無法做到的。與其它深度學(xué)習(xí)的方法相比,本文方法的準確率(ACC)比卷積神經(jīng)網(wǎng)絡(luò)提高了1.3%,比長短期記憶網(wǎng)絡(luò)提高了3.6%,比卷積加長短期記憶組合網(wǎng)絡(luò)提高了1.4%;敏感度(Se)和特異性(Sp)均有不同程度的提高;使用卷積神經(jīng)網(wǎng)絡(luò)與長短期記憶網(wǎng)絡(luò)對ECG心電數(shù)據(jù)進行分類時,均使用了深層神經(jīng)網(wǎng)絡(luò),而深層的網(wǎng)絡(luò)會增加網(wǎng)絡(luò)參數(shù),容易出現(xiàn)過擬合的問題,而本文的方法使用了精簡的網(wǎng)絡(luò)結(jié)構(gòu),減少了參數(shù)量,能夠有效避免過擬合問題,該方法能利用單分類器間的互補信息來減少單個分類器的誤差,提高整體預(yù)測性能和分類精度。上述實驗說明本文提出的基于深度學(xué)習(xí)多模型投票法在ECG心電信號分類上是可行的、有效的。
本文提出了一種基于多模型投票的深度學(xué)習(xí)ECG波形分類方法,通過集成多個不同的深度神經(jīng)網(wǎng)絡(luò)對5類心電信號進行分類;本文使用小波閾值去噪法對原始的ECG波形進行去噪處理并針對數(shù)據(jù)集的不平衡問題進行數(shù)據(jù)增強;利用加權(quán)投票的方法提高ECG心電波形的分類準確率。實驗表明,本文的方法在MIT-BIH心電數(shù)據(jù)集上取得了98%的分類準確率,與傳統(tǒng)方法以及其它深度學(xué)習(xí)方法比如PCA+SVM,1D-CNN、LSTM、DNN以及CNN+LSTM的結(jié)果比較,均有不小的提升。在未來的工作中,網(wǎng)絡(luò)結(jié)構(gòu)及參數(shù)的選定、集成學(xué)習(xí)、從醫(yī)療知識方方面構(gòu)造特征等方面都值得進一步研究。比如基分類器數(shù)量的選定;嘗試損失函數(shù)聯(lián)合訓(xùn)練,得到一個泛化性強的模型,來解決數(shù)據(jù)集采樣范圍小的問題。