曾啟明
一種基于深度學習的心電信號分類方法*
曾啟明
(深圳職業技術學院電子與通信工程學院,廣東 深圳 518055)
提出了一種基于深度學習人工神經網絡的心電信號分類方法.方法直接從原始數據抽象網絡各層次上的基底特征,取代了基本波形定位和特征的人為選定.隱含層節點數逐級下降和深度學習的多隱含層深架構的采用,有效避免了已有方法中的定域性問題和網絡規模.基于MIT-BIH數據庫的實驗表明,與傳統BP網絡和蟻群算法的分類方法相比,該方法總分類精度達93.3%.
心電信號;深度學習;人工神經網絡;分類
心電信號(Electrocardiography,ECG)是人類心臟進行生理活動時,通過體表電極采集所得的時變電位信號,包含了豐富的生物學信息,在醫學診斷和研究中具有重要意義.現有的ECG信號分類方法主要分為兩類:基于特征提取的分類方法[1]和基于人工神經網絡(Artificial Neural Network,ANN)的分類方法[2].基于特征提取的ECG信號分類方法,包含特征提取和分類預測2個主要部分.特征提取是指檢測定位ECG信號的P波、QRS波群、T波及U波4種基本波形,以此獲取預定義的特征信息.常用的波形檢測算法包括峰值檢測、小波分析等.而所提取特征一般包括:4種基本波形的時長與形態、ST段時長、PR間期時長、QT間期時長、以及RR間期時長等.分類預測是指使用機器學習方法對所提取的特征信息進行分類,以判定是否患有特定疾病.常用算法包括支持向量機(Support Vector Machine,SVM)[3]和神經網絡[4]等.基于ANN的ECG信號分類方法,一般使用原始心電信號或其特征數據作為輸入,并將特定疾病作為分類輸出.與機器學習算法相比,基于ANN的檢測方法對基本波形定位精度要求較低,泛化性能良好,且可同時判定多種目標疾病狀態.傳統ANN通常使用反向傳播算法(Back-Propagation,BP)[5]進行訓練.
現有基于特征提取與機器學習的ECG信號分類方法,其缺點包括兩方面:首先、特征提取依賴于4種基本波形的檢測與定位.若波形定位不準確,則所提取的特征信息也將有所偏差,導致分類性能顯著下降.而心電信號由人體實際生理過程產生,其在每個心動周期中的數據都包含一定的差異,且由于目標個體、采集方法等原因可能導致多種失真,造成預設的波形定位算法失效.從而影響檢測結果;其次,醫用ECG信號的采集頻率應達400Hz以上,且需連續獲取30 s的數據,從而產生至少12000個數據點.ECG信號的分析屬于非線性高維機器學習問題.若分類算法缺少稀疏化限制,則極易產生定域性問題,導致泛化性能嚴重下降,所需訓練樣本數顯著上升.而稀疏化是很多現有機器學習算法所不具備的.
現有基于ANN的ECG信號分類方法,其主要缺點在于:首先,傳統ANN一般僅具有一個隱含層,屬于淺架構.對于心電信號一類的非線性特征空間問題,需大量隱層節點才能進行有效建模,且其數量隨輸入節點的增加呈指數增長.當心電信號維數較高時,ANN的輸入節點數也高,其所需的架構規模往往遠超合理范圍,且用于訓練的樣本數量也將極為龐大.導致檢測方法難以實際應用.其次,傳統ANN通常使用反向傳播算法進行訓練,可在淺架構中獲得良好的參數優化效果.但對于包含多個隱含層的深度學習ANN網絡,則難以獲得令人滿意的結果.從而影響了疾病檢測準確率.
為避免上述問題,近年來學術界對ANN進行了有效擴展,提出了多隱含層深度學習(Deep Learning)的概念.本文基于深度學習算法,提出了一種用于ECG信號的高效分類方法.
為避免人為預設特征帶來的問題,應將采集獲得的原始心電信號,直接作為深度學習ANN網絡的輸入數據,并通過多隱含層結構自動提取其中的重要信息,以獲得更佳的檢測效果.可從原始數據中自動抽象各層次上的基底特征,是深度學習ANN的主要優勢之一.而這一方法也避免了因基本波形定位失準,造成預設特征提取發生偏差的狀況.
在將深度學習ANN用于實際疾病檢測前,需先使用帶標注的心電信號樣本集對其進行訓練.設若有原始心電信號集Θ= {(1,1), (2,2),(3,3), …,(,)},其中為第∈個心電信號樣本,其維度為;為對應的標簽矢量,包含了需檢測的多種疾病具體狀態(如是否患有心室肥大,是否患有高、低鈣血癥等).在本方法中,首先使用特征標準化對各原始信號進行預處理,使其具有0均值及單位方差:

其中,f為樣本在第維上的信號值;函數E(·)表示矢量均值;var(·)表示矢量方差;= {f|∈}為Θ中所有信號樣本在第維上數值所構成的矢量.處理后,信號取值范圍變為[-1, 1].
使用PCA對其進行降維與白化.因具有0均值,故計算協方差矩陣Σ為:

設定降維后信號樣本維數為,則可計算Σ的前個特征矢量為1,2, …,,其對應特征值為1,2, …,λ.通過構造酉矩陣U = [1,2, …,]×N,可對各心電信號進行PCA白化降維有:

其中為正則化常數,一般取值為= 1E-5.
最后,將預處理后的信號樣本與標簽矢量,構成輸入心電信號集Θ={(1,1), (2,2), (3,3), … , (',)},用于深度學習ANN網絡的訓練.
使用棧式自編碼器構造深度學習ANN網絡,并采用BP算法訓練各隱含層節點參數及進行網絡整體微調.如圖1所示,設若最終完整的ANN網絡具有1個輸入層,1個輸出層,以及個隱含層.則需首先使用自編碼算法,依次單獨設計各隱含層中節點的參數.
對于第∈個隱含層,設其節點數為P,構造3層自編碼訓練網絡如圖2所示.其輸入為第-1隱含層的P-1個節點輸出-1=[h-1,1,h-1,2, …,h-1,Pl-1],有P-1>P.由于預處理后的心電信號取值范圍為[-1, 1],故選取雙曲正切函數(tanh)作為自編碼訓練網絡隱含層與輸出層的激活函數.則隱含層節點輸出為:

其中,1為隱含層權值矩陣;1為隱含層偏置矢量.
類似有輸出層節點為:

其中,2為輸出層權值矩陣,2為輸出層偏置矢量.輸出矢量= [O,1,O,2, …,O,Pl-1]同樣包含P-1個節點.
在自編碼訓練算法中,需使與-1盡可能接近.設定差異代價函數有:

圖1 使用棧式自編碼器訓練深度學習ANN

圖2 自編碼訓練網絡

其中,‖·‖2表示矢量的2范數.此外,為使隱含層節點的表達盡可能稀疏,需加入1正則化約束.實驗結果表明,1正則化可在心電信號數據上,獲得比其它稀疏化約束更佳的效果.故設定稀疏代價函數為隱含層節點輸出矢量的1范數:

從而完整代價函數為:

其中,= {1,2},= {1,2}為自編碼訓練網絡模型.參數為拉格朗日乘數,用于控制隱含層輸出的稀疏程度.通過使用BP算法訓練與,可使此代價函數最小化,亦即獲得最佳的自編碼訓練結果.
通過使訓練網絡輸出與輸入-1最大近似,并設定隱含層節點數P嚴格小于輸入節點數P-1,所獲得的隱含層輸出可視作輸入-1更為抽象的表達.而1正則化的引入,則保證了這一表達具有充分的稀疏性.在當前訓練完成后,隱含層輸出矢量輸出將被用于下一隱含層 (+1層) 的訓練.而隱含層節點及其參數1、1則保存用于構造完整的深度學習ANN網絡.
如圖3所示,在訓練并構造疾病檢測深度學習ANN時,首先將預處理后的心電信號集Θ中每個樣本對 (',),作為首隱含層 (= 1) 的輸入.即有0=,∈Θ,0=.而后,構造訓練網絡,并使用自編碼算法設計隱含層節點的參數,得到權值矩陣11及偏置矢量11.其方法如上一小節所述.則對于每個輸入的心電信號樣本',都有對應隱含層節點輸出矢量為1.從而構造= 1層的自學習信號集Φ1= {(11,1), (12,1), …, (1,)},用于下一隱含層的訓練.
對于第∈ [2,]個隱含層,使用近似方法進行訓練.設若上一層所得的自學習信號集為Φ-1= {(-11,1), (-12,2), …, (1,)},則將其中每個輸出矢量-1,作為當前自編碼訓練網絡的輸入,用于設計隱含層節點參數.其方法亦如上一小節所述,并可類似獲得權值矩陣1、偏置矢量1、以及自學習信號集Φ.重復這一過程直至=.
對于輸出層,設其輸入為最后隱含層 (=) 的自學習信號集Φ,包含了維疾病標簽矢量= [t1,t2, …,t].則相應構造個輸出節點,并根據各標簽t∈選擇不同的節點類型:若t對應疾病狀態集僅含= 2個獨立狀態,如t= {1:正常,2:室上性早搏},則使用邏輯回歸輸出節點;若t對應疾病狀態集含有> 2個獨立狀態,如t= {1:逸搏,2:正常,3:其他},則應使用Softmax回歸輸出節點.

圖3 構造心電信號疾病檢測ANN網絡
由于邏輯回歸可視作Softmax回歸在僅有兩種疾病狀態時的特殊情況,故當進行任意第∈個輸出節點的參數訓練時,可使用相同的代價函數如下:

其中,J為差異代價函數有:

式中,為輸出節點的模型參數矩陣;為其在第∈行的行矢量,≥ 2為疾病狀態總個數;b為偏置值.
函數1(O)為示性函數,其中O為節點在輸入樣本時的輸出值,其值計算如下:

稀疏代價函數ρ定義為參數矩陣的1范數:

通過將Φ中的每個樣本對 (,)作為訓練輸入,可使用梯度下降法設計各輸出節點的最佳權值矩陣與偏置矢量,從而獲得良好分類檢測效果.
在對各層分別進行訓練后,將所得的個隱含層節點及其權值矩陣1與偏置矢量1,以及各輸出層節點及其參數矩陣θ與偏置值b,依次棧式疊加,構成完整的心電信號疾病檢測ANN網絡.最后,使用BP算法其整體參數進行微調,以進一步提升分類準確性.其過程與傳統ANN網絡相同.
在訓練完成后,則此深度學習ANN網絡可用于多種疾病的有效檢測.對于新輸入的心電信號樣本,首先同樣使用矩陣U對其進行白化降維預處理,而后送入ANN網絡進行分析與并行分類,獲得對應的疾病狀態矢量輸出為.則其數值有效描述了樣本所包含的多種疾病狀態,可極大方便后續科研與臨床應用.
本實驗中,深度學習ANN網絡的訓練樣本采用美國麻省理工學院的MIT-BIH心律失常數據庫[6],數據庫包含48組帶注釋的心電記錄,約65萬個采樣點.實驗平臺為Core i5-4570,8GB內存的64位Windows7操作系統,代碼基于Python語言編寫.
在分類目標的設定上,以美國醫療儀器促進協會推薦的5類ECG信號節拍為主要類別,結合MIT-BIH心律失常數據庫的信號特征,每個主要類別下細分為若干項次類別,具體設置見表1.在樣本數量上,訓練過程截取數據庫中5類ECG信號的心搏個數各100個,共500個樣本.測試集截取各類心搏個數各200個,共1000個樣本.
為了評價基于深度學習的ECG分類方法性能,實驗過程中采用了傳統的BP算法和蟻群算法[7]進行測試.實驗結果見表2,表中精度是指不同類別下正確分類的心搏數/心搏總數,總的分類精度是指所有正確分類的心搏數/總心搏數.

表1 ECG信號分類目標設置

表2 ECG分類方法的性能比較 (%)
注:各類別精度下方括號內的數字為正確分類的心搏個數.
根據實驗結果,基于深度學習ANN網絡的ECG分類方法的總分類精度達93.21%,在性能上要明顯優于現有基于BP網絡和蟻群算法的相關分類方法.在未分類心跳(類別E)的分類精度(84%)明顯低于其他類別,這是由于樣本特征設定的不確定性造成的.隨著樣本數量的增大,樣本特征的增加,本方法的識別率存在進一步提高的可能.雖然深度學習ANN網絡的訓練過程計算復雜度較高,但僅需離線進行一次即可.而后續多次用于實際疾病檢測時,其計算量遠低于現有方法,可在更短的時間內獲得更佳的分類結果.
本文提出的基于深度學習的ECG信號的分類方法具有3個特點:1)實現了輸入數據中的重要特征的自動抽象,不依賴于人為選定,提高樣本準確性;2)深度學習ANN網絡隱含層節點數的逐級下降,有效保證了網絡在剩余維度上的處理性能,避免了現有方法中的定域性問題;3)深度學習的多隱含層深架構可以有效控制網絡規模,其所需節點總數遠低于傳統單隱含層ANN網絡.
[1] Chazal P D, Reilly R B. A Patient-Adapting Heartbeat Classifier Using ECG Morphology and Heartbeat Interval Features[J].
, 2006,53(12):2535-2543.
[2] Kiranyaz S, Ince T, Gabbouj M.Real-time patient- specific ECG classification by 1-D convolutional neural networks[J].,2015,63(3):664-675.
[3] Shahbudin S, Shamsudin S N,Mohamad H. Discrimina- ting ECG signals using support vector machines [C]/IEEE Symposium on Computer Applications & Industrial Electronics (ISCAIE), IEEE, 2015.
[4] Chen TH,Zheng Y,Han LQ, et al.Research on noninvasive diagnosis for coronary heart disease based on neural network[J].,2008,21(6):513-517.
[5] Hari MR, Anurag T. ECG signal classification using wavelet transform and Back Propagation Neural Network [C]/2012 5th International Conference on Computers and Devices for Communication (CODEC), IEEE, 2013.
[6] Moody G B, Mark R G. The impact of the MIT-BIH arrhythmia database[J]., 2001,20(3):45-50.
[7] Berat D, Mehmet K. ECG beat classification using Ant Colony Optimization for Continuous Domains [C]/ National Conference on Electrical, Electronics and Computer Engineering, IEEE, 2011.
An ECG Signal Classification Method Based on Deep Learning
ZENG Qiming
()
An ECG signal classification method based on deep learning artificial neural network is proposed in this paper. Instead of manual selection of basic wave form positioning and features, this method directly abstracts the base features at each level of the network from the original data. A step-by-step reduction of the hidden layer nodes and multi-hidden layer architecture of the deep learning makes the new method effectively avoid the localization and large network scale in the existing methods. Experiments based on the MIT-BIH database show that, compared with the traditional BP network and ant colony algorithm classification methods, the proposed method can obtain better performance.
ECG; deep learning; ANN; classification
10.13899/j.cnki.szptxb.2019.05.003
2019-03-17
國家自然科學基金資助項目(61471245,U1201256),國家教學資源庫子項目(2017-B03),深職院校級科研資助項目(7017-22J190529991,9003-04180333,9003-04170301)
曾啟明(1984-),男,廣東清遠人,博士,主要研究方向:人體體征信號處理.
TN391
A
1672-0318(2019)05-0014-05