現有的心律失常分類方法通常采用人為選取心電圖(ECG)信號特征的方式,其特征選取具有主觀性,且特征提取復雜,導致分類準確性容易受到影響等。基于以上問題,本文提出了一種基于判別式深度置信網絡(DDBNs)的心律失常自動分類新方法。該方法所構建的生成受限玻爾茲曼機(GRBM)自動提取心拍信號形態特征,然后引入具有特征學習和分類能力的判別式受限玻爾茲曼機(DRBM),依據提取的形態特征和 RR 間期特征進行心律失常分類。為了進一步提高 DDBNs 的分類性能,本文將 DDBNs 轉換為使用柔性最大值(Softmax)回歸層進行監督分類的深度神經網絡(DNN),通過反向傳播對網絡進行微調。最后,采用麻省理工學院與貝斯以色列醫院心律失常數據庫(MIT-BIH AR)進行實驗驗證,對于數據來源一致的訓練集和測試集,該方法整體分類精度可達 99.84% ± 0.04%;對于數據來源非一致的訓練集和測試集,通過主動學習(AL)方法擴充少量訓練集,該方法整體分類精度可達 99.31% ± 0.23%。實驗結果表明了該方法在心律失常自動特征提取和分類上的有效性,為深度學習自動提取 ECG 信號特征及分類提供了一種新的解決方法。
引用本文: 宋立新, 孫東梓, 王乾, 王玉靜. 基于判別式深度置信網絡的心律失常自動分類方法. 生物醫學工程學雜志, 2019, 36(3): 444-452. doi: 10.7507/1001-5515.201810053 復制
引言
心電圖(electrocardiogram, ECG)已廣泛作為心臟疾病預防和診斷的重要非侵入性臨床工具。通常,醫生可對短期 ECG 信號進行視覺檢測來診斷心律失常,而對動態心電圖儀長期記錄的 ECG 信號,無法僅依靠視覺檢測。隨著計算機科學的發展,ECG 信號的自動分類分析技術應運而生,現已在心律失常的診斷和分析中起著重要作用,成為輔助臨床診斷心臟疾病的重要手段。
近十幾年,針對心律失常的檢測和分類發展出了幾種模式識別方法[1-3],主要涉及三個步驟:預處理、波形檢測和分段、特征提取和分類。首先,對信號進行預處理,包括:基線漂移、工頻干擾、肌電干擾等噪聲去除[4];然后,波形的檢測和分段,包括:P 波,QRS 波群和 T 波等特征點檢測,并根據以上特征點將 ECG 信號按心拍進行分段[5];最后,特征提取和分類,包括:使用形態、時域和變換域等信息表示心拍特征[6-8],使用主成分分析,獨立成分分析和線性判別分析等進行特征降維[9],以及使用神經網絡和支持向量機(support vector machine, SVM)等實現 ECG 信號分類[10-11]。
上述特征提取的方法很大程度上依賴于對 ECG 信號特征的人為設計和選擇,其有效性受諸多因素影響。最近,深度學習提供了一種特征提取和分類同時進行的方法可避免對人為設計特征的依賴。Acharya 等[12]開發了一個 11 層的卷積神經網絡(convolutional neural network, CNN),實現了自動檢測正常和心肌梗塞心律失常的算法,該模型含噪準確率為 93.53%,無噪準確率為 95.22%。Rahhal 等[13]對于自動分類 ECG 信號,采用深度學習與主動學習(active learning, AL)結合的方法,在特征學習階段,通過由堆疊的去噪自動編碼器(stacked denoising autoencoders, SDAEs)和其輸出層添加柔性最大值(Softmax)回歸層構建的深度神經網絡(deep neural network, DNN)進行分類。Luo 等[14]使用改進的頻率切片小波變換提取 ECG 信號時頻特征,送入由 SDAEs 的編碼器層和 Softmax 回歸層構成的 DNN,同時通過對心拍樣本進行微調來實現 ECG 信號分類,其所提模型實現了 97.5%的總體準確度。Tan 等[15]將 CNN 與長短期記憶網絡結合,提取 ECG 信號特征,實現對冠狀動脈疾病的自動診斷。Yang 等[16]通過堆疊稀疏自動編碼器(stacked sparse autoencoders, SSAEs)深度學習網絡提取 ECG 信號特征,送入 Softmax 分類器實現 ECG 信號的分類。Meng 等[17]采用原始 ECG 信號與 RR 間期作為輸入,通過 4 層深度置信網絡(deep belief networks, DBNs)進行無監督特征學習,提取的特征被送到 SVM 用于訓練,自動識別 6 類心拍類型,總體精度 98.49%。Wu 等[18]將 DBNs 與 Softmax 分類器結合,完成特征提取,并實現 5 類 ECG 信號分類。熊博等[19]通過 SDAEs 與 Softmax 分類器,設計了 DNN 算法,實現了心律失常患者類型的自動分類。Yildirim[20]開發了 7 層基于深度雙向小波的長短期記憶網絡(deep bidirectional long-short term memory network-based wavelet sequences, DBLSTM-WS),實現了 5 類心拍分類,總體精度為 99.39%。
為了自動學習心拍信號的形態特征,并同時融入反映其心律變異的 RR 間期特征,提高心律失常的自動分類性能,本文采用由生成受限玻爾茲曼機(generative restricted Boltzmann machine, GRBM)與判別式受限玻爾茲曼機(discriminative restricted Boltzmann machine, DRBM)堆疊而成的判別式深度置信網絡(discriminative deep belief networks, DDBNs)作為特征提取與分類的初始深度學習模型。由于輸入網絡的 ECG 信號為連續值,因此采用高斯—伯努利受限玻爾茲曼機(gaussian-bernoulli restricted Boltzmann machine, GB-RBM)作為 DDBNs 模型的首層,采用伯努利—伯努利受限玻爾茲曼機(bernoulli-bernoulli restricted Boltzmann machine, BB-RBM)作為 DDBNs 模型隱含層。為了進一步增強 DDBNs 的性能,完成初始化后,本文將 DDBNs 轉換為使用 Softmax 回歸層進行監督分類的 DNN,采用反向傳播對網絡進行微調,進而實現正常節律、左束支傳導阻滯、右束支傳導阻滯、室性早搏、房性早搏、起搏心拍共 6 類心律失常類型的自動分類。為深度學習自動提取 ECG 信號特征及分類提供了一種新的解決方法。
1 實驗數據
本文使用由美國麻省理工學院與貝斯以色列醫院心律失常數據庫(massachusetts institute of technology and beth israel hospital arrhythmia database, MIT-BIH AR)(網址為:https://physionet.org/cgi-bin/atm/ATM)提供的可公開使用的數據進行訓練與測試。該數據庫由 48 個雙導聯記錄組成,涉及改良肢體導聯 II(modified limb lead II, MLII)和胸部導聯 V1、V2、V4、V5,每條記錄約 30 min,以 360 Hz 采樣,包含 R 波位置和心拍數據類型注釋。
本文選取 MLII 數據中 6 類心拍數據用于實驗,它們包括正常節律、左束支傳導阻滯、右束支傳導阻滯、室性早搏、房性早搏和起搏心拍,心拍數據波形如圖 1 所示。參照文獻[4, 19] 心電評估數據構成模式,選擇 23 條具有代表性 ECG 信號記錄按心拍構成數據集。在保證訓練集和測試集數據來源一致的條件下,利用留出法將數據集按 2∶1 比例分為訓練集和測試集。數據集各類心拍樣本分布如表 1 所示。


2 特征提取與分類
2.1 DDBNs 模型構建
本文構建了一個含 3 個隱含層的 DDBNs 模型,用于心拍信號的特征提取與分類。首先,將零均值單位方差歸一化的單心拍 ECG 信號波形送入 DDBNs 的前兩層 GRBM,其首層采用 GB-RBM,第二層采用 BB-RBM,并通過無監督學習獲得該網絡參數,由此獲得第個心拍樣本的形態特征Fi,
。此后,融入包括當前心拍 RR 間期、下一心拍 RR 間期、相鄰 RR 間期差異度(即當前 RR 間期減去下一個 RR 間期除以這兩個 RR 間期的均值)構成的三維間期特征:Ri = {r1, r2, r3},并將其送入 DDBNs 的頂層 DRBM[17],即一層 BB-RBM。然后通過有監督學習,獲得該網絡參數,完成心律失常的分類。本文構建的 DDBNs 模型結構如圖 2 所示。

2.1.1 GRBM
DBNs 是學習提取訓練數據深層次表示的圖形模型,由堆疊的受限玻爾茲曼機(restricted Boltzmann machine, RBM)組成。RBM 是具有可見層和隱含層互連的典型神經網絡,在同一層中的任何兩個神經元之間沒有連接[21]。在可見層上具有二元輸入的 RBM 為 BB-RBM;而在可見層上具有實值輸入的 RBM 為 GB-RBM。BB-RBM 與 GB-RBM 的能量函數定義分別如式(1)、式(2)所示:
![]() |
![]() |
其中,θ1 = {wij, bi, cj},θ2 = {wij, bi, cj, σi} 表示 RBM 待訓練參數,nv 和 nh 分別為可見層與隱含層單元個數,vi 是可見層神經元,hj 是隱含層神經元,wij 是連接可見層和隱含層單元的權值,bi 和 cj 分別為可見層和隱含層神經元偏置,σi 是可見層神經元 vi 的高斯分布的標準差。對于 BB-RBM,可見層和隱含層的條件概率如式(3)、式(4)所示;對于 GB-RBM,可見層和隱含層的條件概率如式(5)、(6)所示:
![]() |
![]() |
![]() |
![]() |
其中,δ = 1/1 + e?x為邏輯斯諦(logistic)函數,η(·|μ, σ2)表示高斯分布的均值μ和方差σ2的概率密度函數。由于輸入數據是實值,因此上述 GB-RBM 用于 DDBNs 的首層,隨后的隱含層由 BB-RBM 組成。
2.1.2 DRBM
與以往在 DBNs 頂層添加分類器的研究方法不同,本文將具有分類能力的 DRBM 置于網絡頂層,利于連貫地完成 ECG 信號特征的學習和分類。相比于文獻[4, 13-14, 16-19]等的方法,該模型具有對參數和信號預處理不敏感等優勢,降低了網絡模型的學習和分類耗時,并提高了網絡分類精度。GRBM 只能對輸入數據進行特征學習,而除此之外 DRBM 可以對輸入和關聯目標類的聯合分布進行建模[22],如圖 3 所示。

DRBM 是采用具有兩組可見層的單個 RBM 來訓練聯合密度模型。除了表示輸入數據的單元 A 外,還有一個相當于“Softmax”的分類標簽單元 B。通過計算樣本在每個類別標簽下的概率,從而預測最可能的類別y[23],其中,k為樣本類別數。
2.2 DDBNs 模型訓練
堆疊構建 DDBNs 的 RBM 訓練能通過最大化訓練樣本的似然度進行,如式(7)所示:
![]() |
對θ1,2 對數概率求導,需求的條件概率分布和
的聯合概率分布,其中容易計算出
,但是
則需采用對比散度(contrastive divergence, CD)等算法計算。本文采用持續自由能對比散度(free energy in persistent contrastive divergence, FEPCD)與 CD 的綜合算法,即首層采用 FEPCD 算法,其余層采用 CD 算法,對 RBM 模型進行訓練[24]。
整體 DDBNs 模型采用貪婪的分層方式進行訓練,無標簽數據送入 GRBM 網絡中,經過逐層無監督訓練,每層 RBM 的輸入為前一層的輸出,以從樣本中學習到高層次的特征結構。頂層 DRBM 通過有監督學習,得到測試樣本在各類別下的后驗概率,由此輸出對樣本分類的判別結果。
2.3 DDBNs 模型有監督微調
DDBNs 的逐層預訓練完成后,將其轉換為使用 Softmax 回歸層作為輸出的 DNN,通過最小化式(8)損失函數,反向傳播來調整網絡參數,執行監督分類,結構如圖 4 所示。

![]() |
其中, 是 Softmax 的模型參數,m為訓練樣本數,k 為樣本類別數,1(·) 為指示函數,代表如果該項為真,取 1,否則取 0,y 為樣本類別標簽,xi 為頂層的輸入心拍特征,n 為頂層輸入神經元個數。第一項是指 Softmax 層的交叉熵損失函數,k 維向量元素采用
函數項實現概率分布的歸一化,使得所有類別的概率總和為 1;第二項是衰減懲罰項,實現過大參數的懲罰。
3 實驗與結果分析
3.1 ECG 信號預處理
ECG 信號送入 DDBNs 網絡前,需經過濾波、R 峰定位和歸一化。首先,對信號進行 9 尺度小波分解,將第 1 層細節系數(90~180 Hz)和第 9 層近似系數(0~0.35 Hz)置零,其他小波系數進行自適應小波閾值濾波處理后重構,去除基線漂移及高頻干擾等。MIT-BIH AR 中 103 組記錄的某 10 s ECG 信號濾波前后對比如圖 5 所示。然后通過 R 峰定位來確定心拍位置;最后,參考 Wu 等[25]的心拍分割方法,即選取 340 個采樣點心拍數據長度,包含 R 峰前 139、后 200 個采樣點。經對 MIT-BIH AR 心律失常數據統計分析,發現文獻[25]選取的心拍數據長度包含了 P 波前及 T 波后的數據,因此確定本實驗包括 P 波和 T 波的心拍長度為 256 個采樣點,即取 R 峰前 90、后 165 個采樣點。

對送入 DDBNs 的 256 維采樣點 x 與三維 RR 間期特征 r 進行歸一化處理。對 x 歸一化,得到一個心拍歸一化樣本 ,送入網絡首層,如式(9)所示:
![]() |
其中,μt 為訓練集心拍樣本的第 t 個均值,σt 為訓練集心拍樣本的第 t 個標準差。而對當前心拍 RR 間期、下一心拍 RR 間期、相鄰 RR 間期差異度三維間期特征 R 中的特征 r 歸一化,得到一個心拍的間期特征 ,結合 GRBM 提取的形態特征,送入 DRBM 實現分類,如式(10)所示:
![]() |
其中,rtmax 為訓練集 RR 間期特征的第t個最大值,rtmin 為訓練集 RR 間期特征的第 t 個最小值。
3.2 DDBNs 模型訓練與性能評估
首先,構建 DDBNs 初始化模型,用 MIT-BIH AR 的訓練集對 DDBNs 預訓練,并使用其權值初始化,然后使用反向傳播微調整個模型。預訓練階段,使用 FEPCD 與 CD 結合的訓練方法。參數設置:首層 GB-RBM 學習率:0.01;其余層 BB-RBM 學習率:0.1;動量:[0.5, 0.4, 0.3, 0.2, 0.1, 0];批次尺寸:100;訓練次數:50。微調階段,使用小批量梯度優化方法,參數設置:學習率:1;動量:0.5;批次尺寸:100;訓練次數:200;λ:1 × 10?7。本實驗的計算機環境為:中央處理器(central processing unit, CPU)(Core i7-6700 @ 3.4 GHz, Intel, 美國);隨機存取存儲器(random access memory, RAM)(DDR4 16 GB, Samsung, 韓國);圖形處理器(graphics processing unit, GPU)(GeForce GTX 1070, NVIDIA, 美國)。
為便于對心拍信號分類結果的性能評估,本文使用以下 6 個標準測量指標[1]:靈敏度(sensitivity, Se),正檢測率(positive predictivity, Pp),特異性(specificity, Sp),假陽性率(false positive rate, FPR),假陰性率(false negative rate, FNR)和整體精度(overall accuracy, OA)。
3.3 實驗結果分析
深度學習網絡的初始化和訓練等具有一定隨機性,導致不同次的分類結果有偏差。因此本文通過對數據集進行 10 次實驗,利用平均值 ± 標準差的統計方法計算 OA,對基于 DDBNs 的心拍信號分類的準確度和穩定性進行評估。
為了獲得較優的模型結構,本文設計比較了 4 種不同結構的 DDBNs 對 ECG 信號進行特征提取與分類的結果,其測試后 OA 如表 2 所示。其中 DDBNs-1 結構不含 GRBM 層,DDBNs-2 至 DDBNs-4 分別含有 1、2、3 層 GRBM。

通過對比,利用 DDBNs-3 結構的 OA 效果最好,其具有最高的平均值和最低的標準差,因此本文后續繼續采用 DDBNs-3 結構:256-500-250(253)-100-6 作為進一步性能測試的模型。該模型中的 253,代表該層輸入為上一層輸出的 250 維心拍信號形態特征結合 3 維 RR 間期特征。訓練 DDBNs-3,至分類前學習到的各類 ECG 信號的 100 維心拍特征如圖 6 所示,可以觀察到它們是稀疏而有區別的。如表 3 所示,給出了 DDBNs-3 在測試集上進行 ECG 信號心律失常分類的混淆矩陣。如表 4 所示,給出了心拍分類前 5 個測量指標的測試結果。



DDBNs-3 與文獻[18]所提 DBNs 與 Softmax 結合方法(簡寫為:DBNs + Softmax)的性能對比如表 5 所示,其中ttrain 為訓練集上的訓練時間,ttest 為測試集上單個樣本的測試時間。

與文獻[18]的 DBNs + Softmax 分類器的方法對比可知,采用 DDBNs 特征提取與分類的方法具有更好的性能。本文方法分別與雙樹復小波變換(dual tree complex wavelet transform, DTCWT)結合人工神經網絡(artificial neural networks, ANN)(簡寫為:DTCWT+ANN)[8]、近鄰保持嵌入(neighborhood preserving embedding, NPE)算法結合 SVM(簡寫為:NPE+SVM)[11]、DBNs 結合 SVM(簡寫為:DBNs + SVM)[17]、DBNs + Softmax[18]、SDAEs 與 Softmax(簡寫為:SDAEs + Softmax)[19]、DBLSTM-WS[20] 6 種方法也進行性能對比,如表 6 所示。最終,與上述方法比較的結果顯示了本文方法的有效性。

3.4 實用性深入測試
為了評估 DDBNs 模型在心律失常自動分類實際應用場景中的性能,本文采用 MIT-BIH AR 中不同的患者記錄分別構成訓練集和測試集,其分布如表 7 所示。

由于訓練集和測試集來源不同,其數據分布差異使得心律失常的自動分類具有挑戰性。若單純采用 DDBNs 與其微調算法模型,對表 7 數據集進行 ECG 信號心律失常分類結果一般,分類 OA 為 61.32% ± 3.17%,尤其在訓練集和測試集分布明顯差異的 L 和 A 兩類別分類準確度更低。為了克服這一不足,有效擴大標記訓練集是一解決途徑。參照文獻[13]運用的 AL 方法,本文在完成所提 DDBNs 微調算法基礎上,通過 AL 方法從測試數據中挑選少量數據進行標記,并參與 DDBNs 模型的有監督微調,在保證算法實時性的同時,提高分類算法的適應性和準確性。
在加入主動學習的實驗中,本文保持 DDBNs 初始化模型與微調參數設置不變,在 AL 階段的參數設置如下:迭代數 iter(·) = 5,每次選取標記樣本數NAL = 10。即,每條測試記錄通過 5 次 AL 算法迭代過程,共選擇 50 個樣本送入 DDBNs 微調模型中,更新模型參數。采用 DDBNs-3 結構作為本次性能測試模型,在測試集上進行 ECG 信號心律失常分類的混淆矩陣如表 8 所示,其 6 類心拍分類測試結果如表 9 所示。


4 結論
本文提出了一種基于 DDBNs 的 ECG 信號自動分類方法,將 GRBM 提取的心拍信號形態特征與其 RR 間期特征有機融合送入 DRBM 進行心律失常分類,使 DRBM 的特征學習和分類能力有效發揮,同時克服了人為特征設計及選取的影響。經 MIT-BIH AR 測試實驗,在訓練和測試集數據來源一致時,本文方法識別正常節律、左束支傳導阻滯、右束支傳導阻滯、室性早搏、房性早搏和起搏心拍 6 類形態,分類準確率達到 99.84% ± 0.04%,取得了優于基于傳統特征選擇與其他深度學習方法的結果;在訓練和測試集數據來源非一致時,對通過 AL 方法擴充少量訓練集的措施進行了初步嘗試,6 類心拍信號的分類準確率可達 99.31% ± 0.23%,也取得了滿意的效果。實驗結果表明,本文所構建的提取 ECG 信號波形形態特征與 RR 間期特征融合后,結合 DRBM 特征進行心律失常自動特征提取和分類的有效性,為深度學習自動提取 ECG 信號特征及分類提供了一種新方法。
DDBNs 在 ECG 信號分類上擁有一定前景。由于訓練數據類別數量的不均衡,導致小樣本數據識別誤差高于大樣本;而引入 AL 方法后,DDBNs 模型的優化和擴大訓練集標記數據該如何有效選擇,未來這些問題都是值得深入探究的研究課題。
引言
心電圖(electrocardiogram, ECG)已廣泛作為心臟疾病預防和診斷的重要非侵入性臨床工具。通常,醫生可對短期 ECG 信號進行視覺檢測來診斷心律失常,而對動態心電圖儀長期記錄的 ECG 信號,無法僅依靠視覺檢測。隨著計算機科學的發展,ECG 信號的自動分類分析技術應運而生,現已在心律失常的診斷和分析中起著重要作用,成為輔助臨床診斷心臟疾病的重要手段。
近十幾年,針對心律失常的檢測和分類發展出了幾種模式識別方法[1-3],主要涉及三個步驟:預處理、波形檢測和分段、特征提取和分類。首先,對信號進行預處理,包括:基線漂移、工頻干擾、肌電干擾等噪聲去除[4];然后,波形的檢測和分段,包括:P 波,QRS 波群和 T 波等特征點檢測,并根據以上特征點將 ECG 信號按心拍進行分段[5];最后,特征提取和分類,包括:使用形態、時域和變換域等信息表示心拍特征[6-8],使用主成分分析,獨立成分分析和線性判別分析等進行特征降維[9],以及使用神經網絡和支持向量機(support vector machine, SVM)等實現 ECG 信號分類[10-11]。
上述特征提取的方法很大程度上依賴于對 ECG 信號特征的人為設計和選擇,其有效性受諸多因素影響。最近,深度學習提供了一種特征提取和分類同時進行的方法可避免對人為設計特征的依賴。Acharya 等[12]開發了一個 11 層的卷積神經網絡(convolutional neural network, CNN),實現了自動檢測正常和心肌梗塞心律失常的算法,該模型含噪準確率為 93.53%,無噪準確率為 95.22%。Rahhal 等[13]對于自動分類 ECG 信號,采用深度學習與主動學習(active learning, AL)結合的方法,在特征學習階段,通過由堆疊的去噪自動編碼器(stacked denoising autoencoders, SDAEs)和其輸出層添加柔性最大值(Softmax)回歸層構建的深度神經網絡(deep neural network, DNN)進行分類。Luo 等[14]使用改進的頻率切片小波變換提取 ECG 信號時頻特征,送入由 SDAEs 的編碼器層和 Softmax 回歸層構成的 DNN,同時通過對心拍樣本進行微調來實現 ECG 信號分類,其所提模型實現了 97.5%的總體準確度。Tan 等[15]將 CNN 與長短期記憶網絡結合,提取 ECG 信號特征,實現對冠狀動脈疾病的自動診斷。Yang 等[16]通過堆疊稀疏自動編碼器(stacked sparse autoencoders, SSAEs)深度學習網絡提取 ECG 信號特征,送入 Softmax 分類器實現 ECG 信號的分類。Meng 等[17]采用原始 ECG 信號與 RR 間期作為輸入,通過 4 層深度置信網絡(deep belief networks, DBNs)進行無監督特征學習,提取的特征被送到 SVM 用于訓練,自動識別 6 類心拍類型,總體精度 98.49%。Wu 等[18]將 DBNs 與 Softmax 分類器結合,完成特征提取,并實現 5 類 ECG 信號分類。熊博等[19]通過 SDAEs 與 Softmax 分類器,設計了 DNN 算法,實現了心律失常患者類型的自動分類。Yildirim[20]開發了 7 層基于深度雙向小波的長短期記憶網絡(deep bidirectional long-short term memory network-based wavelet sequences, DBLSTM-WS),實現了 5 類心拍分類,總體精度為 99.39%。
為了自動學習心拍信號的形態特征,并同時融入反映其心律變異的 RR 間期特征,提高心律失常的自動分類性能,本文采用由生成受限玻爾茲曼機(generative restricted Boltzmann machine, GRBM)與判別式受限玻爾茲曼機(discriminative restricted Boltzmann machine, DRBM)堆疊而成的判別式深度置信網絡(discriminative deep belief networks, DDBNs)作為特征提取與分類的初始深度學習模型。由于輸入網絡的 ECG 信號為連續值,因此采用高斯—伯努利受限玻爾茲曼機(gaussian-bernoulli restricted Boltzmann machine, GB-RBM)作為 DDBNs 模型的首層,采用伯努利—伯努利受限玻爾茲曼機(bernoulli-bernoulli restricted Boltzmann machine, BB-RBM)作為 DDBNs 模型隱含層。為了進一步增強 DDBNs 的性能,完成初始化后,本文將 DDBNs 轉換為使用 Softmax 回歸層進行監督分類的 DNN,采用反向傳播對網絡進行微調,進而實現正常節律、左束支傳導阻滯、右束支傳導阻滯、室性早搏、房性早搏、起搏心拍共 6 類心律失常類型的自動分類。為深度學習自動提取 ECG 信號特征及分類提供了一種新的解決方法。
1 實驗數據
本文使用由美國麻省理工學院與貝斯以色列醫院心律失常數據庫(massachusetts institute of technology and beth israel hospital arrhythmia database, MIT-BIH AR)(網址為:https://physionet.org/cgi-bin/atm/ATM)提供的可公開使用的數據進行訓練與測試。該數據庫由 48 個雙導聯記錄組成,涉及改良肢體導聯 II(modified limb lead II, MLII)和胸部導聯 V1、V2、V4、V5,每條記錄約 30 min,以 360 Hz 采樣,包含 R 波位置和心拍數據類型注釋。
本文選取 MLII 數據中 6 類心拍數據用于實驗,它們包括正常節律、左束支傳導阻滯、右束支傳導阻滯、室性早搏、房性早搏和起搏心拍,心拍數據波形如圖 1 所示。參照文獻[4, 19] 心電評估數據構成模式,選擇 23 條具有代表性 ECG 信號記錄按心拍構成數據集。在保證訓練集和測試集數據來源一致的條件下,利用留出法將數據集按 2∶1 比例分為訓練集和測試集。數據集各類心拍樣本分布如表 1 所示。


2 特征提取與分類
2.1 DDBNs 模型構建
本文構建了一個含 3 個隱含層的 DDBNs 模型,用于心拍信號的特征提取與分類。首先,將零均值單位方差歸一化的單心拍 ECG 信號波形送入 DDBNs 的前兩層 GRBM,其首層采用 GB-RBM,第二層采用 BB-RBM,并通過無監督學習獲得該網絡參數,由此獲得第個心拍樣本的形態特征Fi,
。此后,融入包括當前心拍 RR 間期、下一心拍 RR 間期、相鄰 RR 間期差異度(即當前 RR 間期減去下一個 RR 間期除以這兩個 RR 間期的均值)構成的三維間期特征:Ri = {r1, r2, r3},并將其送入 DDBNs 的頂層 DRBM[17],即一層 BB-RBM。然后通過有監督學習,獲得該網絡參數,完成心律失常的分類。本文構建的 DDBNs 模型結構如圖 2 所示。

2.1.1 GRBM
DBNs 是學習提取訓練數據深層次表示的圖形模型,由堆疊的受限玻爾茲曼機(restricted Boltzmann machine, RBM)組成。RBM 是具有可見層和隱含層互連的典型神經網絡,在同一層中的任何兩個神經元之間沒有連接[21]。在可見層上具有二元輸入的 RBM 為 BB-RBM;而在可見層上具有實值輸入的 RBM 為 GB-RBM。BB-RBM 與 GB-RBM 的能量函數定義分別如式(1)、式(2)所示:
![]() |
![]() |
其中,θ1 = {wij, bi, cj},θ2 = {wij, bi, cj, σi} 表示 RBM 待訓練參數,nv 和 nh 分別為可見層與隱含層單元個數,vi 是可見層神經元,hj 是隱含層神經元,wij 是連接可見層和隱含層單元的權值,bi 和 cj 分別為可見層和隱含層神經元偏置,σi 是可見層神經元 vi 的高斯分布的標準差。對于 BB-RBM,可見層和隱含層的條件概率如式(3)、式(4)所示;對于 GB-RBM,可見層和隱含層的條件概率如式(5)、(6)所示:
![]() |
![]() |
![]() |
![]() |
其中,δ = 1/1 + e?x為邏輯斯諦(logistic)函數,η(·|μ, σ2)表示高斯分布的均值μ和方差σ2的概率密度函數。由于輸入數據是實值,因此上述 GB-RBM 用于 DDBNs 的首層,隨后的隱含層由 BB-RBM 組成。
2.1.2 DRBM
與以往在 DBNs 頂層添加分類器的研究方法不同,本文將具有分類能力的 DRBM 置于網絡頂層,利于連貫地完成 ECG 信號特征的學習和分類。相比于文獻[4, 13-14, 16-19]等的方法,該模型具有對參數和信號預處理不敏感等優勢,降低了網絡模型的學習和分類耗時,并提高了網絡分類精度。GRBM 只能對輸入數據進行特征學習,而除此之外 DRBM 可以對輸入和關聯目標類的聯合分布進行建模[22],如圖 3 所示。

DRBM 是采用具有兩組可見層的單個 RBM 來訓練聯合密度模型。除了表示輸入數據的單元 A 外,還有一個相當于“Softmax”的分類標簽單元 B。通過計算樣本在每個類別標簽下的概率,從而預測最可能的類別y[23],其中,k為樣本類別數。
2.2 DDBNs 模型訓練
堆疊構建 DDBNs 的 RBM 訓練能通過最大化訓練樣本的似然度進行,如式(7)所示:
![]() |
對θ1,2 對數概率求導,需求的條件概率分布和
的聯合概率分布,其中容易計算出
,但是
則需采用對比散度(contrastive divergence, CD)等算法計算。本文采用持續自由能對比散度(free energy in persistent contrastive divergence, FEPCD)與 CD 的綜合算法,即首層采用 FEPCD 算法,其余層采用 CD 算法,對 RBM 模型進行訓練[24]。
整體 DDBNs 模型采用貪婪的分層方式進行訓練,無標簽數據送入 GRBM 網絡中,經過逐層無監督訓練,每層 RBM 的輸入為前一層的輸出,以從樣本中學習到高層次的特征結構。頂層 DRBM 通過有監督學習,得到測試樣本在各類別下的后驗概率,由此輸出對樣本分類的判別結果。
2.3 DDBNs 模型有監督微調
DDBNs 的逐層預訓練完成后,將其轉換為使用 Softmax 回歸層作為輸出的 DNN,通過最小化式(8)損失函數,反向傳播來調整網絡參數,執行監督分類,結構如圖 4 所示。

![]() |
其中, 是 Softmax 的模型參數,m為訓練樣本數,k 為樣本類別數,1(·) 為指示函數,代表如果該項為真,取 1,否則取 0,y 為樣本類別標簽,xi 為頂層的輸入心拍特征,n 為頂層輸入神經元個數。第一項是指 Softmax 層的交叉熵損失函數,k 維向量元素采用
函數項實現概率分布的歸一化,使得所有類別的概率總和為 1;第二項是衰減懲罰項,實現過大參數的懲罰。
3 實驗與結果分析
3.1 ECG 信號預處理
ECG 信號送入 DDBNs 網絡前,需經過濾波、R 峰定位和歸一化。首先,對信號進行 9 尺度小波分解,將第 1 層細節系數(90~180 Hz)和第 9 層近似系數(0~0.35 Hz)置零,其他小波系數進行自適應小波閾值濾波處理后重構,去除基線漂移及高頻干擾等。MIT-BIH AR 中 103 組記錄的某 10 s ECG 信號濾波前后對比如圖 5 所示。然后通過 R 峰定位來確定心拍位置;最后,參考 Wu 等[25]的心拍分割方法,即選取 340 個采樣點心拍數據長度,包含 R 峰前 139、后 200 個采樣點。經對 MIT-BIH AR 心律失常數據統計分析,發現文獻[25]選取的心拍數據長度包含了 P 波前及 T 波后的數據,因此確定本實驗包括 P 波和 T 波的心拍長度為 256 個采樣點,即取 R 峰前 90、后 165 個采樣點。

對送入 DDBNs 的 256 維采樣點 x 與三維 RR 間期特征 r 進行歸一化處理。對 x 歸一化,得到一個心拍歸一化樣本 ,送入網絡首層,如式(9)所示:
![]() |
其中,μt 為訓練集心拍樣本的第 t 個均值,σt 為訓練集心拍樣本的第 t 個標準差。而對當前心拍 RR 間期、下一心拍 RR 間期、相鄰 RR 間期差異度三維間期特征 R 中的特征 r 歸一化,得到一個心拍的間期特征 ,結合 GRBM 提取的形態特征,送入 DRBM 實現分類,如式(10)所示:
![]() |
其中,rtmax 為訓練集 RR 間期特征的第t個最大值,rtmin 為訓練集 RR 間期特征的第 t 個最小值。
3.2 DDBNs 模型訓練與性能評估
首先,構建 DDBNs 初始化模型,用 MIT-BIH AR 的訓練集對 DDBNs 預訓練,并使用其權值初始化,然后使用反向傳播微調整個模型。預訓練階段,使用 FEPCD 與 CD 結合的訓練方法。參數設置:首層 GB-RBM 學習率:0.01;其余層 BB-RBM 學習率:0.1;動量:[0.5, 0.4, 0.3, 0.2, 0.1, 0];批次尺寸:100;訓練次數:50。微調階段,使用小批量梯度優化方法,參數設置:學習率:1;動量:0.5;批次尺寸:100;訓練次數:200;λ:1 × 10?7。本實驗的計算機環境為:中央處理器(central processing unit, CPU)(Core i7-6700 @ 3.4 GHz, Intel, 美國);隨機存取存儲器(random access memory, RAM)(DDR4 16 GB, Samsung, 韓國);圖形處理器(graphics processing unit, GPU)(GeForce GTX 1070, NVIDIA, 美國)。
為便于對心拍信號分類結果的性能評估,本文使用以下 6 個標準測量指標[1]:靈敏度(sensitivity, Se),正檢測率(positive predictivity, Pp),特異性(specificity, Sp),假陽性率(false positive rate, FPR),假陰性率(false negative rate, FNR)和整體精度(overall accuracy, OA)。
3.3 實驗結果分析
深度學習網絡的初始化和訓練等具有一定隨機性,導致不同次的分類結果有偏差。因此本文通過對數據集進行 10 次實驗,利用平均值 ± 標準差的統計方法計算 OA,對基于 DDBNs 的心拍信號分類的準確度和穩定性進行評估。
為了獲得較優的模型結構,本文設計比較了 4 種不同結構的 DDBNs 對 ECG 信號進行特征提取與分類的結果,其測試后 OA 如表 2 所示。其中 DDBNs-1 結構不含 GRBM 層,DDBNs-2 至 DDBNs-4 分別含有 1、2、3 層 GRBM。

通過對比,利用 DDBNs-3 結構的 OA 效果最好,其具有最高的平均值和最低的標準差,因此本文后續繼續采用 DDBNs-3 結構:256-500-250(253)-100-6 作為進一步性能測試的模型。該模型中的 253,代表該層輸入為上一層輸出的 250 維心拍信號形態特征結合 3 維 RR 間期特征。訓練 DDBNs-3,至分類前學習到的各類 ECG 信號的 100 維心拍特征如圖 6 所示,可以觀察到它們是稀疏而有區別的。如表 3 所示,給出了 DDBNs-3 在測試集上進行 ECG 信號心律失常分類的混淆矩陣。如表 4 所示,給出了心拍分類前 5 個測量指標的測試結果。



DDBNs-3 與文獻[18]所提 DBNs 與 Softmax 結合方法(簡寫為:DBNs + Softmax)的性能對比如表 5 所示,其中ttrain 為訓練集上的訓練時間,ttest 為測試集上單個樣本的測試時間。

與文獻[18]的 DBNs + Softmax 分類器的方法對比可知,采用 DDBNs 特征提取與分類的方法具有更好的性能。本文方法分別與雙樹復小波變換(dual tree complex wavelet transform, DTCWT)結合人工神經網絡(artificial neural networks, ANN)(簡寫為:DTCWT+ANN)[8]、近鄰保持嵌入(neighborhood preserving embedding, NPE)算法結合 SVM(簡寫為:NPE+SVM)[11]、DBNs 結合 SVM(簡寫為:DBNs + SVM)[17]、DBNs + Softmax[18]、SDAEs 與 Softmax(簡寫為:SDAEs + Softmax)[19]、DBLSTM-WS[20] 6 種方法也進行性能對比,如表 6 所示。最終,與上述方法比較的結果顯示了本文方法的有效性。

3.4 實用性深入測試
為了評估 DDBNs 模型在心律失常自動分類實際應用場景中的性能,本文采用 MIT-BIH AR 中不同的患者記錄分別構成訓練集和測試集,其分布如表 7 所示。

由于訓練集和測試集來源不同,其數據分布差異使得心律失常的自動分類具有挑戰性。若單純采用 DDBNs 與其微調算法模型,對表 7 數據集進行 ECG 信號心律失常分類結果一般,分類 OA 為 61.32% ± 3.17%,尤其在訓練集和測試集分布明顯差異的 L 和 A 兩類別分類準確度更低。為了克服這一不足,有效擴大標記訓練集是一解決途徑。參照文獻[13]運用的 AL 方法,本文在完成所提 DDBNs 微調算法基礎上,通過 AL 方法從測試數據中挑選少量數據進行標記,并參與 DDBNs 模型的有監督微調,在保證算法實時性的同時,提高分類算法的適應性和準確性。
在加入主動學習的實驗中,本文保持 DDBNs 初始化模型與微調參數設置不變,在 AL 階段的參數設置如下:迭代數 iter(·) = 5,每次選取標記樣本數NAL = 10。即,每條測試記錄通過 5 次 AL 算法迭代過程,共選擇 50 個樣本送入 DDBNs 微調模型中,更新模型參數。采用 DDBNs-3 結構作為本次性能測試模型,在測試集上進行 ECG 信號心律失常分類的混淆矩陣如表 8 所示,其 6 類心拍分類測試結果如表 9 所示。


4 結論
本文提出了一種基于 DDBNs 的 ECG 信號自動分類方法,將 GRBM 提取的心拍信號形態特征與其 RR 間期特征有機融合送入 DRBM 進行心律失常分類,使 DRBM 的特征學習和分類能力有效發揮,同時克服了人為特征設計及選取的影響。經 MIT-BIH AR 測試實驗,在訓練和測試集數據來源一致時,本文方法識別正常節律、左束支傳導阻滯、右束支傳導阻滯、室性早搏、房性早搏和起搏心拍 6 類形態,分類準確率達到 99.84% ± 0.04%,取得了優于基于傳統特征選擇與其他深度學習方法的結果;在訓練和測試集數據來源非一致時,對通過 AL 方法擴充少量訓練集的措施進行了初步嘗試,6 類心拍信號的分類準確率可達 99.31% ± 0.23%,也取得了滿意的效果。實驗結果表明,本文所構建的提取 ECG 信號波形形態特征與 RR 間期特征融合后,結合 DRBM 特征進行心律失常自動特征提取和分類的有效性,為深度學習自動提取 ECG 信號特征及分類提供了一種新方法。
DDBNs 在 ECG 信號分類上擁有一定前景。由于訓練數據類別數量的不均衡,導致小樣本數據識別誤差高于大樣本;而引入 AL 方法后,DDBNs 模型的優化和擴大訓練集標記數據該如何有效選擇,未來這些問題都是值得深入探究的研究課題。