李鴻儒, 任子洋, 黃友鶴, 于 霞
(東北大學 信息科學與工程學院, 遼寧 沈陽 110819)
年齡的增長以及飲食作息的不正常導致心臟逐漸衰弱,并伴隨著慢性疾病的發(fā)作,這會對人體造成巨大損傷.臨床醫(yī)護人員對于心電圖(electrocardiogram, ECG)的分析往往需要結(jié)合自身的經(jīng)驗,這使得診治具有主觀性且需要一定的時間成本.心臟病早期的體現(xiàn)通常為心律不齊,因此對于心律失常的智能分析識別在心臟病預測的研究中具有重要意義.
早期對于ECG的分析一般包括預處理、特征提取和分類三個環(huán)節(jié)[1].最早的研究[2-3]從形態(tài)學出發(fā),有效提取了ECG的主要組分,也有學者采用頻域算法,包括小波變換[4-7]和經(jīng)驗?zāi)B(tài)分解[8-9]等算法,以較小的失真獲得具有不同頻率特性的子序列.但小波變換在提高時間精度的同時會損失頻率精度,經(jīng)驗?zāi)B(tài)分解存在模態(tài)混疊的現(xiàn)象,二者的分解序列均存在部分畸變.Yucelbas等[10]對比了奇異值分解、變分模態(tài)分解和小波變換在ECG分類中的性能,奇異值分解的識別性能明顯高于其余二者,因此在考慮保留形態(tài)完整性的前提下如何提高頻率信息的分離效率是后續(xù)識別的關(guān)鍵.Barrios等[11]最早提出一種基于奇異譜分析(singular spectrum analysis, SSA)的心電信號與肌電信號分離算法,在時域和頻域上,與傳統(tǒng)的信號分離算法進行對比,均具有更好的性能;還有圍繞著SSA與心電去噪的研究[12-13],也驗證了該算法相較于傳統(tǒng)算法的高效性.現(xiàn)有的研究對ECG進行拆分后沒有考慮到子序列所包含信息量對于最終決策的貢獻,直接將定值權(quán)重或者去除高頻的分量子序列作為輸入樣本.文獻[14-15]結(jié)合多個分類器并配置不同權(quán)重進行投票分類,明顯提高了小樣本類別的識別精度.變權(quán)重可以增強包含信息量高的子序列對于識別系統(tǒng)的影響,因此根據(jù)子序列的信息量進行加權(quán)處理可能會更好地表達有效信息.
深度學習應(yīng)用于心電領(lǐng)域的研究主要圍繞著卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)[16-20]、循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)[21]以及長短期記憶網(wǎng)絡(luò)(long short-term memory, LSTM)[22-23]開展.相較于獨立的CNN與LSTM,基于1D-CNN和LSTM結(jié)合[24-26]的模型在最新的研究中被證明具有更強的分類性能.Huang等[27]提取頻譜圖并利用2D-CNN 網(wǎng)絡(luò)層進行分類;Yildirim[28]提出了一種基于小波分解序列的雙向LSTM網(wǎng)絡(luò)模型,利用小波變換提取的序列分量進行訓練,結(jié)合心電信號不同頻率特性組分的學習大幅度提高了識別精度.因此,使用更好的分解方法挖掘有效信息并與深度學習結(jié)合是提升識別效果的一個方向.
綜上所述,為了權(quán)衡心電信息中不同模態(tài)的信息量,本文提出了一種變權(quán)重SSA與CNN,LSTM連接的組合網(wǎng)絡(luò),采用由決策目標主導的可變權(quán)重代替?zhèn)鹘y(tǒng)的固定不變權(quán)重,對奇異譜分解后包含不同信息量的模態(tài)進行變權(quán)重處理,然后將變權(quán)重后的分量模態(tài)重組為新的序列輸入至CNN-LSTM網(wǎng)絡(luò)中進行分類.同時對比了多種權(quán)重計算算法,選擇識別精度最高的隨機森林分類器各個特征的基尼系數(shù)作為權(quán)重,利用變權(quán)重的序列訓練深度學習模型,更高效地挖掘潛在的信息,從而提升心律不齊的識別精度.
美國麻省理工學院開發(fā)的心律失常數(shù)據(jù)庫MIT-BIH記錄了48名病人30 min 2個導聯(lián)的心電信號和類別標簽.部分研究按照正常(N)、左束支阻滯(LBBB)、右束支阻滯(RBBB)、房性早搏(APC)和室性早搏(PVC)五類進行分類.研究者的分析主要圍繞著患者內(nèi)(intra-patient)[29-30]和患者間(inter-patient)[31-32]兩種分類方式展開.Chazal等[33]將這些病人的記錄分為2個數(shù)據(jù)集DS1和DS2,前者用于訓練模型并評估分類器性能,后者用于測試分類結(jié)果的有效性.這兩個樣本集合所包含的病人序號如表1所示.
表1 MIT-BIH庫中劃分的數(shù)據(jù)集DS1,DS2
Kiranyaz等[34]提出patient-specific的分類方式,從測試集數(shù)據(jù)中提取5 min的數(shù)據(jù)(占整體測試集的15%~18%)加入訓練集,可以一定程度克服患者間的特異性.因此本文選擇從DS2中取出每個病人前15%的數(shù)據(jù)加入訓練集,表2為本文數(shù)據(jù)集的構(gòu)成.
對于較長時序的心電信號需要進行逐拍的劃分,每個心拍應(yīng)該包括P,Q,R,S和T波段,一般以R波峰為中心,本文采用Pan-Tompkins算法[35]檢測出R波峰,并取前127個節(jié)點和后128個節(jié)點,作為單個心拍的樣本序列.將提取到的多個序列進行z-score標準化,這種處理有助于多種ECG序列的形態(tài)統(tǒng)一,在后續(xù)奇異值計算時,也會減少主成分幅值過大導致的權(quán)重失衡.
本文提出一種變權(quán)重子序列與深度學習分類器結(jié)合的心律不齊識別算法,結(jié)合SSA與隨機森林下的基尼系數(shù)提取變權(quán)重子序列,將其作為1D-CNN與LSTM組合網(wǎng)絡(luò)的輸入,進行心律不齊的識別,圖1為本文的算法流程框架.
圖1 算法流程框架
SSA是一種基于相空間重構(gòu)的信號分解法,通過奇異值分解得到原始信號的不同成分序列,奇異值較大的序列為ECG的主要平穩(wěn)信號,奇異值較小的序列則代表ECG的高頻組分.信號分解主要包括嵌入、分解、分組和對角平均化四個過程,首先對于時間序列[x1,x2,…,xN],N=256為序列長度,利用合適長度為8的序列窗口建立軌跡矩陣X,通過奇異值分解(singular value decomposition, SVD)實現(xiàn)軌跡矩陣的拆分變換,計算協(xié)方差矩陣XXT的特征值λ1>λ2>…>λL≥0和對應(yīng)的特征向量[U1,U2,…,UL]:
(1)
將初步得到的子序列進行分組,按照分段計算的方式,依次將分組后的第I組矩陣XI=(yij)L×k取對角平均化,得到維度復原后的新序列[yrc1,yrc2, …,yrcN].
(2)
利用提取到的奇異值訓練隨機森林模型,對于各個決策樹下節(jié)點的基尼系數(shù),按照式(3)計算:
(3)
其中:K為類別總數(shù);pk為樣本權(quán)重.對于特征在節(jié)點m上的重要性可根據(jù)該節(jié)點基于該特征進行進一步分枝前后的基尼系數(shù)負增長值來衡量,GIi和GIr分別代表分枝前后的基尼系數(shù),再將全部決策樹各個節(jié)點的特征重要值累加并進行歸一化,得到分類器的特征urcj的重要度:
(4)
(5)
1D-CNN具有局部連接、權(quán)值共享的特點,對分析ECG這種具有周期性且長度固定的時間序列問題有很好的效果,可以幫助減少參數(shù),節(jié)約模型訓練的時間成本.LSTM主要應(yīng)用于時序樣本數(shù)據(jù)分析,有效改善了RNN中存在的長依賴問題.其內(nèi)部組成包含三個門控單元,遺忘門能夠控制該節(jié)點記憶變量對于前一時間步長記憶變量的繼承程度;輸入門計算新的記憶變量的補充量及其權(quán)重,用于更新隨著時間步長傳遞的記憶變量;輸出門決定該節(jié)點的記憶變量對于輸出變量的影響權(quán)重.通過三個門控的配合可以保留序列早期階段的梯度影響,得到最終節(jié)點的輸出.
本文采用多層CNN與LSTM連接的組合網(wǎng)絡(luò),將CNN的輸出作為LSTM的輸入,在減少計算復雜度的基礎(chǔ)上進行時序數(shù)據(jù)的分析,圖2為神經(jīng)網(wǎng)絡(luò)整體結(jié)構(gòu).
圖2 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
對于網(wǎng)絡(luò)結(jié)構(gòu)中的參數(shù)更新,則需要一個非凸優(yōu)化的損失函數(shù),本文采用交叉熵損失函數(shù)并以Adam的方式進行參數(shù)優(yōu)化更新.
(6)
關(guān)于網(wǎng)絡(luò)訓練結(jié)果性能的比較,本文采用靈敏度(sensitivity, Sen)、特異性(specificity, Spe)、準確率(accuracy, Acc)以及綜合性能描述指標F1-score,Macro-F1進行評判.各項指標的計算如式(7)所示,其中Macro-F1為各類別的F1-score均值.
(7)
將提取到的多個心拍樣本通過SSA獲得多個分解序列,采用大小為8的窗口進行軌跡矩陣構(gòu)建,最后劃分整合到8個序列.圖3為分解后子序列與初始信號對比圖,圖3a為初始信號,圖3b為分解后的多個子序列,橫軸為256個采樣點,縱軸為幅值.
圖3 子序列可視化
將奇異值分解得到的多個子序列特征值作為每個樣本的特征,訓練各個分類器,按照式(3)計算得到各個子序列所對應(yīng)的權(quán)重,表3為各個分類器得到的權(quán)重.
表3 特征權(quán)重
將提取到的序列輸入到圖2中的網(wǎng)絡(luò)模型中,進行神經(jīng)網(wǎng)絡(luò)的訓練,迭代訓練200次后,模型準確率及損失函數(shù)不再產(chǎn)生較大變化,最終對于DS2的分類準確率最高可達到98.35%,模型訓練過程的準確率上升曲線及最終得到的DS2分類混淆矩陣如圖4所示.
圖4 模型訓練過程及分類混淆矩陣
模型對于訓練樣本的學習逐漸收斂,最終訓練集的分類準確率接近100%.從表4中可以看出,測試集識別結(jié)果的靈敏度和準確率較高,N類的特異性接近99%,模型對于LBBB和RBBB兩類具有較好的綜合能力.
表4 識別性能指標
本文采用五折交叉驗證對非變權(quán)重子序列、非變權(quán)重去噪子序列(僅保留奇異值總占比平均達到95.81%的前三個子序列)、變權(quán)重去噪子序列及變權(quán)重子序列作為輸入的識別方法性能進行了對比,同時采用多種計算權(quán)重的算法以說明隨機森林計算權(quán)重的有效性,對比實驗結(jié)果如表5所示.
表5 變權(quán)重SSA的識別性能對比
從表5中可看出,變權(quán)重子序列的識別性能相較于非變權(quán)重子序列在各項指標均有明顯提升,這證明變權(quán)重的方式高效地保留了與決策相關(guān)的信息.為了說明變權(quán)重算法的優(yōu)越性,本文也進行了去噪后子序列的變權(quán)重對比實驗,如表5中的第4,5行所示,在預處理去噪后,變權(quán)重的學習方式依然能夠明顯增強識別性能,因此本文的算法對于ECG分解子序列的選擇具有一定適應(yīng)性.
為了說明隨機森林權(quán)重的高效性,本文采取了其他權(quán)重計算(分類)方法,包括主成分分析、線性判別分析與AdaBoost算法,對比結(jié)果如表6所示.
表6 不同權(quán)重算法的識別性能對比
本文結(jié)合變權(quán)重的小波分解序列及變分模態(tài)分解的模態(tài)分量作為輸入樣本進行對比說明,其中小波分解選擇db6小波基獲得8個子序列,變分模態(tài)分解設(shè)置保真度系數(shù)及中心頻率更新參數(shù)為0、中心頻率初始化參數(shù)為1及懲罰因子為2 000,獲得8個模態(tài)分量,二者的分類準確率均低于基于SSA分解子序列輸入的模型算法.本文的算法在各類的指標上均取得了更好的效果,說明SSA對于決策目標的表征能力較強.表7為上述三種分解算法五折交叉驗證下平均識別性能的對比.
表7 小波分解與變分模態(tài)分解的識別性能
隨機森林內(nèi)部的參數(shù)設(shè)置會改變最終的識別準確率,包括其弱分類器數(shù)量的影響,表8為不同個體分類器數(shù)量下的準確率.
表8 不同數(shù)量個體分類器的識別準確率
從表8中看出,隨機森林的結(jié)構(gòu)差異產(chǎn)生的權(quán)重變化會影響到最終的識別效果,復雜的結(jié)構(gòu)會帶來模型的過擬合,因此權(quán)重的最優(yōu)決策有助于提高識別準確率.
表9為現(xiàn)有的心律不齊識別研究成果對比.文獻[31,36-38]未采用深度學習進行分類,利用傳統(tǒng)的特征和分類器,識別精度相對較低.文獻[37]的研究得到較高的識別準確率,但由于患者內(nèi)的識別任務(wù)無法解決樣本間差異的問題,存在較大的泛化誤差,而文獻[24]的研究未進行數(shù)據(jù)平衡,大類的樣本數(shù)量遠超小樣本數(shù)量.本文利用變權(quán)重的子序列,對于數(shù)據(jù)平衡后的樣本,提高了患者間分類的準確率.由于缺少臨床的數(shù)據(jù),因此無法對線下病例進行實際驗證.
表9 心律失常識別的研究
本文以均衡不同頻率特性子序列間的信息量為目的,提出了一種基于變權(quán)重奇異譜分析和深度學習結(jié)合的心律不齊識別算法.選擇奇異譜分析算法對心電信號不同頻率特性組分進行分離,結(jié)合奇異值訓練隨機森林模型并得到各個特征的基尼系數(shù)作為權(quán)重,低頻序列的權(quán)重值占比較大,而高頻組分則權(quán)重較小.將變權(quán)重子序列用于訓練神經(jīng)網(wǎng)絡(luò)模型,最終測試集分類準確率為98.35%.通過仿真對比,奇異譜分析相較于小波分解、變分模態(tài)分解,分解得到的多個模態(tài)子序列作為輸入樣本的識別精度最高,子序列所包含的信息更加有效.而變權(quán)重的學習方式可以增強高信息量子序列對于識別系統(tǒng)的影響,相較于以往研究的權(quán)重統(tǒng)一,在各個指標上均有明顯提升.為進一步驗證算法的有效性,在現(xiàn)有研究去噪處理后加入變權(quán)重環(huán)節(jié),仍然能夠得到識別性能提升的結(jié)果.因此本文的算法有效增加了高信息量子序列的權(quán)重,使?jié)撛诘挠行畔⒌玫礁玫谋磉_,進一步提高了識別精度.對于權(quán)重的計算算法,仍未尋找到嚴格意義上的最優(yōu)決策,因此尋求一個計算最佳權(quán)重的自適應(yīng)算法對于后續(xù)變權(quán)重的心律不齊識別研究有重要意義.