致死性心電節律的辨識和分類是自動體外除顫儀的關鍵任務。本文對已存在的心電節律辨識算法提取出的 21 個特征值進行了回顧性研究,并基于這些特征值構建了一個遺傳算法優化的反向傳播神經網絡。以數據庫提供的 1 343 例心電信號樣本用于實驗。實驗結果表明,本文構建的神經網絡在對竇性節律、心室顫動、室性心動過速、心臟停搏 4 類心電信號的辨識分類上有很好的表現,在測試集上的平衡準確性高達 99.06%;相較已存在的算法,辨識性能更好。將該算法應用在自動體外除顫儀上,將進一步提高除顫前節律分析的可靠性,最終提高心臟驟停的存活率。
引用本文: 余明, 陳鋒, 張廣, 李良喆, 王春晨, 詹寧波, 顧彪, 韋婧, 吳太虎. 應用遺傳算法優化神經網絡的致死性心電節律辨識算法研究. 生物醫學工程學雜志, 2017, 34(3): 421-430. doi: 10.7507/1001-5515.201612066 復制
引言
心臟驟停是世界范圍內人類急癥的首位致死原因,而及時可靠的早期電除顫是治療心臟驟停的基本方法[1]。為了縮短心臟驟停發作到電擊的時間,越來越多的公共場所配備了自動體外除顫儀(automated external defibrillators,AEDs),該儀器能對患者的心電圖信號進行自動分析,并且在合適的時機實施電擊除顫。
正常搏動心臟的心電節律信號稱為竇性節律(sinus rhythm,SR),其他異常的心電活動均稱為心律失常,而心臟驟停主要由4種致死性失常心律引起:心室顫動(ventricular fibrillation,VF)、室性心動過速(ventricular tachycardia,VT)、無脈性電活動(pulseless electric activity,PEA)、心臟停搏(asystole,ASYS)。VF 表現為心室肌紊亂的電活動,VT 表現為心室肌規則的電活動,這些節律都不能產生明顯的前向血流;PEA 包括一組不同類型的心電節律,這些節律沒有心室機械活動或有心室機械活動但不足以產生臨床上可觸及的脈搏;ASYS 表現為沒有可見的心室電活動,伴或不伴有心房電活動。根據 2015 美國心臟病協會心肺復蘇和心血管急救指南的指導,當檢測出 VF 時,應及時給予高能電除顫;當檢測出 VT 時,則視脈搏有無與波形狀況,決定給予高能電除顫或是同步電復律;當檢測出 PEA 或 ASYS 時,則繼續進行胸外按壓和人工通氣,直到心電節律變為 VF/VT 或自主循環再現[2]。因此,對于 AEDs 的心電節律辨識算法來說,最重要的任務就是根據處置方式的不同,將 VF(高能電除顫)、VT(低能電復律)、PEA/ASYS(不電擊,持續按壓與通氣)、SR(自主循環恢復,啟動后續管理)這 4 類心電信號區分開來,以便決定干預措施。
在以往的文獻中,許多研究者從各個不同的角度提出了許多心電節律辨識算法:有的著重于區分可電擊節律(包括 VF、VT)與不可電擊節律(包括 SR、PEA 與 ASYS)[3],有的著重于從近似于 VF 的心電信號中檢測出真正的 VF 信號[4],有的著重于將 VF 與 VT 信號區分開[5],這些文獻均表示自己的算法達到了令人滿意的效果;但是,在一些嚴謹的回顧性研究中,這些算法都沒有達到其作者所聲稱的結果[6-8]。這些回顧性研究也有其自身的不足:一是文獻所采用的實驗數據庫中可能包含了一些噪聲成分過大的信號、電擊前后的心電信號與帶有嚴重心肺復蘇偽跡干擾的信號,對這些心電信號的識別,并不適宜作為檢驗心電節律辨識算法的依據;二是實驗大都僅檢驗算法在區分可電擊節律與不可電擊節律時的表現,而沒有檢驗算法在辨識其他致死性失常心律時的表現,這無疑對于某些致力于區分 VF 與 VT 的算法來說是不全面的。
基于以上研究結果,本文主要試圖完成以下兩方面的工作:
(1)利用公開的心電數據庫,對一些引用較多、表現較好的算法所依據的特征值做一個回顧性研究,檢驗其在致死性心電節律辨識中的表現;
(2)在這些回顧性研究的基礎上,利用已有的特征值,構建一個神經網絡,實現 VF、VT、PEA/ASYS 和 SR 的 4 分類,并得到與現有算法相比更好的表現。
1 數據庫
本文的心電數據全部采集自克瑞頓大學室性快速性心律失常數據庫(Creighton university ventricular tachyarrhythmia database,CUDB)和美國麻省理工學院-貝斯以色列醫院(Massachusetts institute of technology-Beth Israel hospital,MIT-BIH)惡性室性心律失常數據庫(malignant ventri-cular arrhythmia database,VFDB)[9]。這些數據已經由專家進行了標注,分別標為 VF、心室撲動、VT、SR、ASYS、二聯律、心房顫動、噪聲等各種類型;數據庫中沒有特意標注出 PEA,而是將它與 ASYS 標為一類。本文將噪聲、電擊前后及帶有嚴重心肺復蘇偽跡的數據去掉,并將 VF、心室撲動統一標記為 VF,將 SR、二聯律、心房顫動等都標記為 SR。綜上,本文將所有心電信號標記為 4 類:VF、VT、SR 及 ASYS;其中,將 VF、VT 標記為可電擊節律,將 SR、ASYS 標記為不可電擊節律。
本文采用了 CUDB 數據庫和 VFDB 數據庫第一通道中的心電數據,將所有數據截取為長度為 10 s 的樣本段,共獲得 1 343 例樣本。其中,VF 樣本 372 例,VT 樣本 254 例,SR 樣本 644 例,ASYS 樣本 73 例。
所有樣本在進行特征值提取前,首先經過信號預處理,濾除高頻肌肉噪聲、低頻的基線漂移和工頻干擾。
2 特征值提取
本文從已經發表的心電節律辨識算法中,選擇了被引用較多、性能較好的 10 種算法,從中提取出了 21 個描述心電信號特征的特征值;這些特征值分別從時域、頻域、相空間、二進制空間、時頻聯合域等5個不同空間中,標記了心電信號的形態分布、高斯性、幅度譜、變異性、復雜度等各方面特征。這 21 個特征值提取過程簡述如下:
輔助計數法:將心電信號通過一個中心頻率為 14.6 Hz、帶寬為 13~16.5 Hz 的帶通濾波器后取其絕對值,再分別求得絕對值在三個不同范圍內分布的采樣點數,記為計數 1(Count1)、計數 2(Count2)、計數 3(Count3)[3]。
高斯性:用于計算信號的峭度(Kurtosis)——即其四階累積量,作為判斷信號非高斯性的量化指標[10]。
自相關算法:用于計算信號的短時自相關函數(autocorrelative function,ACF),并將其極值點按照幅值大小降序排列,令 x 代表某極值點在新序列中的序號,y 代表該極值點在自相關函數中的位置,通過檢驗 x、y 之間線性關系是否成立,就可以判斷原信號是否為周期性信號,計算該假設的變異率,記為自相關函數變異系數(ACF_VR),作為信號周期性的表征[5]。
VF 頻譜濾波泄露:將心電信號 S 通過一個窄帶寬帶阻濾波器,這個濾波器的中心頻率為心電信號的均值頻率,通過濾波器后的殘余信號即為濾波泄露量(Leakage)[11]。
幅度譜分析:將心電信號乘以一個漢明窗,并進行離散傅里葉變換,分別計算 4~48 Hz 頻率范圍內的幅度譜面積(amplitude spectrum area,AMSA),第一正則化譜向量(first spectral moment normalized,FSMN)和三個不同頻率范圍的幅度譜占比,分別記為幅度譜占比 1(A1)、幅度譜占比 2(A2)、幅度譜占比 3(A3)[12]。
二進制粗粒化:對心電信號進行粗粒化提取,將信號變為一個“0,1”序列;分別計算該字符串的二進制變異系數(CovarBin)、二進制頻率(FreqBin)和二進制曲線下面積(AreaBin)[13]。
信息復雜度:對信號進行二進制粗粒化提取后,計算該二進制序列的歸一化信息復雜度(Complex)[14]。
閾值穿越間隔:計算樣本中每一秒的閾值穿越間隔(threshold crossing intervals,TCI)(不包括頭、尾兩秒),求間隔均值(mean_TCI)和間隔方差(std_TCI),構造特征值間隔檢驗F值(F_TCI)表征對 TCI 序列的似然比函數假設檢驗[15]。
時延重構法:將心電信號按照一定的延時在一個相空間內重構,記該空間被信號填充的比例為時延系數(TimeDelay)[16]。
時頻域多分辨率熵:對信號進行多分辨率小波分析,計算每一層小波系數的香農熵均值。分別取第二分辨率層和第三分辨率層的香農熵均值作為識別算法的特征值,記為香農熵均值 2(H2)和香農熵均值 3(H3)[17]。
3 遺傳算法優化反向傳播神經網絡設計
3.1 神經網絡的結構與訓練
本文構建的反向傳播(back propagation,BP)神經網絡如圖 1 所示。

該神經網絡由輸入層、隱層、輸出層共三層構成:輸入層單元數由輸入特征向量的維度(即采用的特征值數目)決定;輸出層單元數為 4,對應本文 VF、VT、SR、ASYS 的 4 種心電信號類型;隱層單元數設置為與輸入層單元數相同,經仿真實驗證實,這樣的設置在絕大多數情況下可使得網絡具有較好的性能。
神經網絡的訓練集和測試集本文將按照其樣本出現序列的奇偶劃分,每個數據集的樣本數目概況如表 1 所示。

由表 1 中數據可以看出,每一個數據庫的訓練集中,不同心電信號類型的樣本數目并不平衡;為了使訓練過程中不同節律類型的數據受到同等重視,本文賦予每一類樣本一個權值:
${\rm{VF\text{樣本權值}}}\;{w_{\rm{VF}}} = \frac{N}{{{N_{\rm{VF}}}}}$ |
${\rm{VT\text{樣本權值}}}\;{w_{\rm{VT}}} = \frac{N}{{{N_{\rm{VT}}}}}$ |
${\rm{SR\text{樣本權值}}}\;{w_{\rm{SR}}} = \frac{N}{{{N_{\rm{SR}}}}}$ |
${\rm{ASYS\text{樣本權值}}}\;{w_{\rm{ASYS}}} = \frac{N}{{{N_{\rm{ASYS}}}}}$ |
式中,N、NVF、NVT、NSR、NASYS 分別代表各數據庫訓練集中的樣本總數、VF 樣本數、VT 樣本數、SR 樣本數和 ASYS 樣本數。
將每一個樣本在訓練時產生的誤差與相應的權值相乘,作為網絡參數修正的依據,使訓練得到的網絡在識別VF和非VF節律信號中同時達到高準確性。本文同樣利用該權值將辨識準確性修正為平衡準確性 AC0,并作為判斷網絡性能的主要參數:
$\begin{aligned} A{C_0} = \frac{{{w_{{\rm{VF}}}} \cdot N{T_{{\rm{VF}}}} + {w_{{\rm{VT}}}} \cdot N{T_{{\rm{VT}}}} + {w_{{\rm{SR}}}} \cdot N{T_{{\rm{SR}}}} + {w_{{\rm{ASYS}}}} \cdot N{T_{{\rm{ASYS}}}}}}{{{w_{{\rm{VF}}}} \cdot {N_{{\rm{VF}}}} + {w_{{\rm{VT}}}} \cdot {N_{{\rm{VT}}}} + {w_{{\rm{SR}}}} \cdot {N_{{\rm{SR}}}} + {w_{{\rm{ASYS}}}} \cdot {N_{{\rm{ASYS}}}}}}\end{aligned} $ |
式中,NTVF、NTVT、NTSR、NTASYS、NVF、NVT、NSR、NASYS 分別代表各數據庫訓練集中的正確識別出的 VF 樣本數、正確識別出的 VT 樣本數、正確識別出的 SR 樣本數、正確識別出的 ASYS 樣本數和 VF 樣本總數、VT 樣本總數、SR 樣本總數以及 ASYS 樣本總數。
訓練完成后,將對應數據庫中的測試集送入得到的神經網絡,計算神經網絡進行心電節律辨識時各類心電信號的辨識準確性、總體辨識準確性和平衡準確性。
3.2 神經網絡的優化
本文第 2 節中提取出的所有特征值,未必對于構建致死性心電節律辨識算法都是有用的,如果將所有的特征值都被采納為輸入特征,不僅增加了算法的復雜性,還可能造成神經網絡過擬合,從而降低分類器的適應性;另外,由于BP神經網絡采用梯度法進行訓練,屬于局域優化算法,無法實現全局優化,使得神經網絡容易陷入局部最優解。
因此,本文采用遺傳算法(genetic algorithm,GA)對 BP 神經網絡進行優化:
(1)應用 GA 對特征向量篩選降維:設計編碼長度為 21 的染色體,每個基因對應一個特征值,特征值取 1 代表該特征值被選擇,特征值取 0 代表該特征值被拋棄,隨機生成 N 條染色體,以神經網絡在某染色體代表的輸入特征向量訓練得到的平衡準確性作為該染色體的種群適應度,選擇、交叉、變異,進化生成結果最優的特征向量。
(2)應用 GA 優化神經網絡的初始權值、閾值:在 BP 神經網絡對權值、閾值進行初始化時插入 GA,隨機生成多組范圍在[–1,1]內的權值、閾值,并將每一組權值、閾值編碼成一個向量作為一條染色體,以該染色體代表的神經網絡初始值訓練得到的平衡準確性作為種群適應度,選擇、交叉、變異,進化生成結果最優的初始權值、閾值。
整個 GA 優化 BP 神經網絡算法結構如圖 2 所示,其中實線箭頭表示 GA 對 BP 神經網絡的正向優化過程,虛線箭頭表示 BP 神經網絡對 GA 的反饋信息。

4 實驗與討論
4.1 特征值性能測試
為了對每一個特征值的辨識性能進行評價,本文采用受試者工作特征(receiver operating characte-ristic,ROC)曲線:通過連續改變某特征值的分類閾值,得到不同閾值條件下的辨識敏感性和特異性;以(1-特異性)為橫軸,敏感性為縱軸,將得到的所有點描記出來,就得到一條從(0,0)延伸向(1,1)的曲線,該曲線即為 ROC 曲線;計算該曲線的曲線下面積(area under curve,AUC),該面積越大(最大為 1),表示該特征值的分類性能越好。
本文測試了所有特征值分別在區分可電擊節律與不可電擊節律,VF 與 VT,SR 與 ASYS 三種情況下的 ROC 曲線,并計算其 AUC,所得結果如圖 3、圖 4、圖 5 以及表 2 所示。




從結果可知,應用 VF 頻譜濾波泄露得到的特征值 Leakage 在區分可電擊節律與不可電擊節律時表現最好,AUC 為 0.994,應用時頻域多分辨率熵得到的特征值 H3 在區分 VF 與 VT 時表現最好,AUC 為 0.991,應用輔助計數法得到的特征值 Count2,Count3 和應用幅度譜分析得到的特征值 AMSA 在區分 SR 與 ASYS 時表現最好,AUC 均為 1。
4.2 GA 優化 BP 神經網絡測試
將 GA 優化 BP 神經網絡算法運行 200 次,記錄下每一次運行結束后生成的特征向量中每一個特征值被選擇的次數,并按該次數對特征值進行排序,結果如表 3 所示。

按照每一個特征值在表 3 中的排序,依次增加 BP 神經網絡輸入特征值的數目,計算不同特征值數目時,BP 神經網絡分別在訓練集和測試集中辨識 SR 時的準確性 AC_sr、辨識 VF 時的準確性 AC_vf、辨識 VT 時的準確性 AC_vt、辨識 ASYS 時的準確性 AC_asys、總體辨識準確性 AC、平衡準確性 AC0,得到的結果如表 4 所示。本文將神經網絡在測試集中得到的平衡準確性 AC0 作為衡量網絡性能的最終結果,并將平衡準確性 AC0 隨輸入特征值數目增加時的變化顯示如圖 6所示。


從實驗結果可以看出,神經網絡的性能特征值數目為 9 時最佳,且在訓練集和測試集中得到的結果幾乎完全一樣;當特征值數目繼續增加時,網絡的性能反而出現下降,雖然在特征值數目為 21 時訓練集中的平衡準確性達到最大值(99.47%),但其測試集中的平衡準確性只有 98.05%,說明神經網絡此時存在過擬合現象。
4.3 辨識性能比較分析
為了將本文設計的神經網絡的表現與現有的算法進行比較,本文選擇 Leakage、H3、Count2 三個特征值分別進行可電擊節律與不可電擊節律、VF 與 VT、SR 與 ASYS 的區分,由之前的測試結果可知,這三個特征值分別在相應的分類中表現最優。
利用以上三個特征值進行心電信號 4 分類的方法如圖 7 所示;為了確定特征值的最優分類閾值,本文利用如表 1 所示的訓練集,得到每一次二分類中閾值連續變化時兩種心電信號類型的識別準確性,得到的結果如圖 8 所示;并選擇這兩種識別準確性相同時的閾值作為最優化閾值,分別求得特征值 Leakage 區分可電擊節律與不可電擊節律時的最優化閾值 TLeakage、特征值 H3 區分 VF 與 VT 時的最優化閾值 TH3 以及特征值 Count2 區分 SR 與 ASYS 時的最優化閾值 TCount2:TLeakage=0.736 5,TH3=0.478×10–4,TCount2=717.07


確定各分類閾值后,本文同樣計算該方法在如表 1 所示的測試集中辨識 SR 時的準確性 AC_sr、辨識 VF 時的準確性 AC_vf、辨識 VT 時的準確性 AC_vt、辨識 ASYS 時的準確性 AC_asys、總體辨識準確性 AC、平衡準確性 AC0,與當特征值數目為 9 時的 BP 神經網絡的性能進行比較,所得結果如表 5 所示;從表中可見,BP 神經網絡在辨識每一類心電信號時的準確性,均優于三特征值分類法,由于這三個特征值是從對現存方法的回顧性分析中選擇出表現最好的三個單一特征值,因此可以說,本文所構建、優化得到的多參數融合 BP 神經網絡,相較現存的傳統特征值閾值分類法表現更優。

5 結論
隨著 AEDs 越來越廣泛的應用推廣,致死性失常心律自動辨識分類算法的準確性和可靠性也得到了越來越多的重視。從二十世紀七十年代開始,就有很多專家進行相關算法的研究;早期的算法大多試圖構造一個或一組特征值,通過統計學方法選擇閾值,進行不同心電信號的分類;隨著機器學習算法的發展,一些研究者開始利用數據庫訓練神經網絡或支持向量機,完成心電節律辨識,這些機器學習研究雖然迅速取得了相較傳統特征值分類方法更高的準確性,但往往功能比較單一,僅僅進行可電擊節律與不可電擊節律的區分[18-20],不能滿足心臟驟停心肺復蘇的實際需求;本文對公開發表的 10 種引用較多、表現較好的算法中設計的 21 個特征值進行了回顧性研究,基于一個由 1 343 例樣本所構成的心電數據庫,分別檢驗了這些特征值在進行心電信號分類時的 ROC 曲線表現;基于這些特征值,本文構建了一個單隱層 BP 神經網絡,并利用 GA 對其進行優化和特征值篩選;最終得到一個 SR、VF、VT、ASYS 的 4 分類辨識算法。實驗證明,本文構建的神經網絡在的心電節律辨識上有很好的表現,相較傳統的的特征值閾值分類算法,取得了更高的識別準確性。本算法的提出,不僅進一步提高了除顫前心電分析的可靠性,而且有利于提高心肺復蘇的自動化程度,最終提高心臟驟停的存活率。
引言
心臟驟停是世界范圍內人類急癥的首位致死原因,而及時可靠的早期電除顫是治療心臟驟停的基本方法[1]。為了縮短心臟驟停發作到電擊的時間,越來越多的公共場所配備了自動體外除顫儀(automated external defibrillators,AEDs),該儀器能對患者的心電圖信號進行自動分析,并且在合適的時機實施電擊除顫。
正常搏動心臟的心電節律信號稱為竇性節律(sinus rhythm,SR),其他異常的心電活動均稱為心律失常,而心臟驟停主要由4種致死性失常心律引起:心室顫動(ventricular fibrillation,VF)、室性心動過速(ventricular tachycardia,VT)、無脈性電活動(pulseless electric activity,PEA)、心臟停搏(asystole,ASYS)。VF 表現為心室肌紊亂的電活動,VT 表現為心室肌規則的電活動,這些節律都不能產生明顯的前向血流;PEA 包括一組不同類型的心電節律,這些節律沒有心室機械活動或有心室機械活動但不足以產生臨床上可觸及的脈搏;ASYS 表現為沒有可見的心室電活動,伴或不伴有心房電活動。根據 2015 美國心臟病協會心肺復蘇和心血管急救指南的指導,當檢測出 VF 時,應及時給予高能電除顫;當檢測出 VT 時,則視脈搏有無與波形狀況,決定給予高能電除顫或是同步電復律;當檢測出 PEA 或 ASYS 時,則繼續進行胸外按壓和人工通氣,直到心電節律變為 VF/VT 或自主循環再現[2]。因此,對于 AEDs 的心電節律辨識算法來說,最重要的任務就是根據處置方式的不同,將 VF(高能電除顫)、VT(低能電復律)、PEA/ASYS(不電擊,持續按壓與通氣)、SR(自主循環恢復,啟動后續管理)這 4 類心電信號區分開來,以便決定干預措施。
在以往的文獻中,許多研究者從各個不同的角度提出了許多心電節律辨識算法:有的著重于區分可電擊節律(包括 VF、VT)與不可電擊節律(包括 SR、PEA 與 ASYS)[3],有的著重于從近似于 VF 的心電信號中檢測出真正的 VF 信號[4],有的著重于將 VF 與 VT 信號區分開[5],這些文獻均表示自己的算法達到了令人滿意的效果;但是,在一些嚴謹的回顧性研究中,這些算法都沒有達到其作者所聲稱的結果[6-8]。這些回顧性研究也有其自身的不足:一是文獻所采用的實驗數據庫中可能包含了一些噪聲成分過大的信號、電擊前后的心電信號與帶有嚴重心肺復蘇偽跡干擾的信號,對這些心電信號的識別,并不適宜作為檢驗心電節律辨識算法的依據;二是實驗大都僅檢驗算法在區分可電擊節律與不可電擊節律時的表現,而沒有檢驗算法在辨識其他致死性失常心律時的表現,這無疑對于某些致力于區分 VF 與 VT 的算法來說是不全面的。
基于以上研究結果,本文主要試圖完成以下兩方面的工作:
(1)利用公開的心電數據庫,對一些引用較多、表現較好的算法所依據的特征值做一個回顧性研究,檢驗其在致死性心電節律辨識中的表現;
(2)在這些回顧性研究的基礎上,利用已有的特征值,構建一個神經網絡,實現 VF、VT、PEA/ASYS 和 SR 的 4 分類,并得到與現有算法相比更好的表現。
1 數據庫
本文的心電數據全部采集自克瑞頓大學室性快速性心律失常數據庫(Creighton university ventricular tachyarrhythmia database,CUDB)和美國麻省理工學院-貝斯以色列醫院(Massachusetts institute of technology-Beth Israel hospital,MIT-BIH)惡性室性心律失常數據庫(malignant ventri-cular arrhythmia database,VFDB)[9]。這些數據已經由專家進行了標注,分別標為 VF、心室撲動、VT、SR、ASYS、二聯律、心房顫動、噪聲等各種類型;數據庫中沒有特意標注出 PEA,而是將它與 ASYS 標為一類。本文將噪聲、電擊前后及帶有嚴重心肺復蘇偽跡的數據去掉,并將 VF、心室撲動統一標記為 VF,將 SR、二聯律、心房顫動等都標記為 SR。綜上,本文將所有心電信號標記為 4 類:VF、VT、SR 及 ASYS;其中,將 VF、VT 標記為可電擊節律,將 SR、ASYS 標記為不可電擊節律。
本文采用了 CUDB 數據庫和 VFDB 數據庫第一通道中的心電數據,將所有數據截取為長度為 10 s 的樣本段,共獲得 1 343 例樣本。其中,VF 樣本 372 例,VT 樣本 254 例,SR 樣本 644 例,ASYS 樣本 73 例。
所有樣本在進行特征值提取前,首先經過信號預處理,濾除高頻肌肉噪聲、低頻的基線漂移和工頻干擾。
2 特征值提取
本文從已經發表的心電節律辨識算法中,選擇了被引用較多、性能較好的 10 種算法,從中提取出了 21 個描述心電信號特征的特征值;這些特征值分別從時域、頻域、相空間、二進制空間、時頻聯合域等5個不同空間中,標記了心電信號的形態分布、高斯性、幅度譜、變異性、復雜度等各方面特征。這 21 個特征值提取過程簡述如下:
輔助計數法:將心電信號通過一個中心頻率為 14.6 Hz、帶寬為 13~16.5 Hz 的帶通濾波器后取其絕對值,再分別求得絕對值在三個不同范圍內分布的采樣點數,記為計數 1(Count1)、計數 2(Count2)、計數 3(Count3)[3]。
高斯性:用于計算信號的峭度(Kurtosis)——即其四階累積量,作為判斷信號非高斯性的量化指標[10]。
自相關算法:用于計算信號的短時自相關函數(autocorrelative function,ACF),并將其極值點按照幅值大小降序排列,令 x 代表某極值點在新序列中的序號,y 代表該極值點在自相關函數中的位置,通過檢驗 x、y 之間線性關系是否成立,就可以判斷原信號是否為周期性信號,計算該假設的變異率,記為自相關函數變異系數(ACF_VR),作為信號周期性的表征[5]。
VF 頻譜濾波泄露:將心電信號 S 通過一個窄帶寬帶阻濾波器,這個濾波器的中心頻率為心電信號的均值頻率,通過濾波器后的殘余信號即為濾波泄露量(Leakage)[11]。
幅度譜分析:將心電信號乘以一個漢明窗,并進行離散傅里葉變換,分別計算 4~48 Hz 頻率范圍內的幅度譜面積(amplitude spectrum area,AMSA),第一正則化譜向量(first spectral moment normalized,FSMN)和三個不同頻率范圍的幅度譜占比,分別記為幅度譜占比 1(A1)、幅度譜占比 2(A2)、幅度譜占比 3(A3)[12]。
二進制粗粒化:對心電信號進行粗粒化提取,將信號變為一個“0,1”序列;分別計算該字符串的二進制變異系數(CovarBin)、二進制頻率(FreqBin)和二進制曲線下面積(AreaBin)[13]。
信息復雜度:對信號進行二進制粗粒化提取后,計算該二進制序列的歸一化信息復雜度(Complex)[14]。
閾值穿越間隔:計算樣本中每一秒的閾值穿越間隔(threshold crossing intervals,TCI)(不包括頭、尾兩秒),求間隔均值(mean_TCI)和間隔方差(std_TCI),構造特征值間隔檢驗F值(F_TCI)表征對 TCI 序列的似然比函數假設檢驗[15]。
時延重構法:將心電信號按照一定的延時在一個相空間內重構,記該空間被信號填充的比例為時延系數(TimeDelay)[16]。
時頻域多分辨率熵:對信號進行多分辨率小波分析,計算每一層小波系數的香農熵均值。分別取第二分辨率層和第三分辨率層的香農熵均值作為識別算法的特征值,記為香農熵均值 2(H2)和香農熵均值 3(H3)[17]。
3 遺傳算法優化反向傳播神經網絡設計
3.1 神經網絡的結構與訓練
本文構建的反向傳播(back propagation,BP)神經網絡如圖 1 所示。

該神經網絡由輸入層、隱層、輸出層共三層構成:輸入層單元數由輸入特征向量的維度(即采用的特征值數目)決定;輸出層單元數為 4,對應本文 VF、VT、SR、ASYS 的 4 種心電信號類型;隱層單元數設置為與輸入層單元數相同,經仿真實驗證實,這樣的設置在絕大多數情況下可使得網絡具有較好的性能。
神經網絡的訓練集和測試集本文將按照其樣本出現序列的奇偶劃分,每個數據集的樣本數目概況如表 1 所示。

由表 1 中數據可以看出,每一個數據庫的訓練集中,不同心電信號類型的樣本數目并不平衡;為了使訓練過程中不同節律類型的數據受到同等重視,本文賦予每一類樣本一個權值:
${\rm{VF\text{樣本權值}}}\;{w_{\rm{VF}}} = \frac{N}{{{N_{\rm{VF}}}}}$ |
${\rm{VT\text{樣本權值}}}\;{w_{\rm{VT}}} = \frac{N}{{{N_{\rm{VT}}}}}$ |
${\rm{SR\text{樣本權值}}}\;{w_{\rm{SR}}} = \frac{N}{{{N_{\rm{SR}}}}}$ |
${\rm{ASYS\text{樣本權值}}}\;{w_{\rm{ASYS}}} = \frac{N}{{{N_{\rm{ASYS}}}}}$ |
式中,N、NVF、NVT、NSR、NASYS 分別代表各數據庫訓練集中的樣本總數、VF 樣本數、VT 樣本數、SR 樣本數和 ASYS 樣本數。
將每一個樣本在訓練時產生的誤差與相應的權值相乘,作為網絡參數修正的依據,使訓練得到的網絡在識別VF和非VF節律信號中同時達到高準確性。本文同樣利用該權值將辨識準確性修正為平衡準確性 AC0,并作為判斷網絡性能的主要參數:
$\begin{aligned} A{C_0} = \frac{{{w_{{\rm{VF}}}} \cdot N{T_{{\rm{VF}}}} + {w_{{\rm{VT}}}} \cdot N{T_{{\rm{VT}}}} + {w_{{\rm{SR}}}} \cdot N{T_{{\rm{SR}}}} + {w_{{\rm{ASYS}}}} \cdot N{T_{{\rm{ASYS}}}}}}{{{w_{{\rm{VF}}}} \cdot {N_{{\rm{VF}}}} + {w_{{\rm{VT}}}} \cdot {N_{{\rm{VT}}}} + {w_{{\rm{SR}}}} \cdot {N_{{\rm{SR}}}} + {w_{{\rm{ASYS}}}} \cdot {N_{{\rm{ASYS}}}}}}\end{aligned} $ |
式中,NTVF、NTVT、NTSR、NTASYS、NVF、NVT、NSR、NASYS 分別代表各數據庫訓練集中的正確識別出的 VF 樣本數、正確識別出的 VT 樣本數、正確識別出的 SR 樣本數、正確識別出的 ASYS 樣本數和 VF 樣本總數、VT 樣本總數、SR 樣本總數以及 ASYS 樣本總數。
訓練完成后,將對應數據庫中的測試集送入得到的神經網絡,計算神經網絡進行心電節律辨識時各類心電信號的辨識準確性、總體辨識準確性和平衡準確性。
3.2 神經網絡的優化
本文第 2 節中提取出的所有特征值,未必對于構建致死性心電節律辨識算法都是有用的,如果將所有的特征值都被采納為輸入特征,不僅增加了算法的復雜性,還可能造成神經網絡過擬合,從而降低分類器的適應性;另外,由于BP神經網絡采用梯度法進行訓練,屬于局域優化算法,無法實現全局優化,使得神經網絡容易陷入局部最優解。
因此,本文采用遺傳算法(genetic algorithm,GA)對 BP 神經網絡進行優化:
(1)應用 GA 對特征向量篩選降維:設計編碼長度為 21 的染色體,每個基因對應一個特征值,特征值取 1 代表該特征值被選擇,特征值取 0 代表該特征值被拋棄,隨機生成 N 條染色體,以神經網絡在某染色體代表的輸入特征向量訓練得到的平衡準確性作為該染色體的種群適應度,選擇、交叉、變異,進化生成結果最優的特征向量。
(2)應用 GA 優化神經網絡的初始權值、閾值:在 BP 神經網絡對權值、閾值進行初始化時插入 GA,隨機生成多組范圍在[–1,1]內的權值、閾值,并將每一組權值、閾值編碼成一個向量作為一條染色體,以該染色體代表的神經網絡初始值訓練得到的平衡準確性作為種群適應度,選擇、交叉、變異,進化生成結果最優的初始權值、閾值。
整個 GA 優化 BP 神經網絡算法結構如圖 2 所示,其中實線箭頭表示 GA 對 BP 神經網絡的正向優化過程,虛線箭頭表示 BP 神經網絡對 GA 的反饋信息。

4 實驗與討論
4.1 特征值性能測試
為了對每一個特征值的辨識性能進行評價,本文采用受試者工作特征(receiver operating characte-ristic,ROC)曲線:通過連續改變某特征值的分類閾值,得到不同閾值條件下的辨識敏感性和特異性;以(1-特異性)為橫軸,敏感性為縱軸,將得到的所有點描記出來,就得到一條從(0,0)延伸向(1,1)的曲線,該曲線即為 ROC 曲線;計算該曲線的曲線下面積(area under curve,AUC),該面積越大(最大為 1),表示該特征值的分類性能越好。
本文測試了所有特征值分別在區分可電擊節律與不可電擊節律,VF 與 VT,SR 與 ASYS 三種情況下的 ROC 曲線,并計算其 AUC,所得結果如圖 3、圖 4、圖 5 以及表 2 所示。




從結果可知,應用 VF 頻譜濾波泄露得到的特征值 Leakage 在區分可電擊節律與不可電擊節律時表現最好,AUC 為 0.994,應用時頻域多分辨率熵得到的特征值 H3 在區分 VF 與 VT 時表現最好,AUC 為 0.991,應用輔助計數法得到的特征值 Count2,Count3 和應用幅度譜分析得到的特征值 AMSA 在區分 SR 與 ASYS 時表現最好,AUC 均為 1。
4.2 GA 優化 BP 神經網絡測試
將 GA 優化 BP 神經網絡算法運行 200 次,記錄下每一次運行結束后生成的特征向量中每一個特征值被選擇的次數,并按該次數對特征值進行排序,結果如表 3 所示。

按照每一個特征值在表 3 中的排序,依次增加 BP 神經網絡輸入特征值的數目,計算不同特征值數目時,BP 神經網絡分別在訓練集和測試集中辨識 SR 時的準確性 AC_sr、辨識 VF 時的準確性 AC_vf、辨識 VT 時的準確性 AC_vt、辨識 ASYS 時的準確性 AC_asys、總體辨識準確性 AC、平衡準確性 AC0,得到的結果如表 4 所示。本文將神經網絡在測試集中得到的平衡準確性 AC0 作為衡量網絡性能的最終結果,并將平衡準確性 AC0 隨輸入特征值數目增加時的變化顯示如圖 6所示。


從實驗結果可以看出,神經網絡的性能特征值數目為 9 時最佳,且在訓練集和測試集中得到的結果幾乎完全一樣;當特征值數目繼續增加時,網絡的性能反而出現下降,雖然在特征值數目為 21 時訓練集中的平衡準確性達到最大值(99.47%),但其測試集中的平衡準確性只有 98.05%,說明神經網絡此時存在過擬合現象。
4.3 辨識性能比較分析
為了將本文設計的神經網絡的表現與現有的算法進行比較,本文選擇 Leakage、H3、Count2 三個特征值分別進行可電擊節律與不可電擊節律、VF 與 VT、SR 與 ASYS 的區分,由之前的測試結果可知,這三個特征值分別在相應的分類中表現最優。
利用以上三個特征值進行心電信號 4 分類的方法如圖 7 所示;為了確定特征值的最優分類閾值,本文利用如表 1 所示的訓練集,得到每一次二分類中閾值連續變化時兩種心電信號類型的識別準確性,得到的結果如圖 8 所示;并選擇這兩種識別準確性相同時的閾值作為最優化閾值,分別求得特征值 Leakage 區分可電擊節律與不可電擊節律時的最優化閾值 TLeakage、特征值 H3 區分 VF 與 VT 時的最優化閾值 TH3 以及特征值 Count2 區分 SR 與 ASYS 時的最優化閾值 TCount2:TLeakage=0.736 5,TH3=0.478×10–4,TCount2=717.07


確定各分類閾值后,本文同樣計算該方法在如表 1 所示的測試集中辨識 SR 時的準確性 AC_sr、辨識 VF 時的準確性 AC_vf、辨識 VT 時的準確性 AC_vt、辨識 ASYS 時的準確性 AC_asys、總體辨識準確性 AC、平衡準確性 AC0,與當特征值數目為 9 時的 BP 神經網絡的性能進行比較,所得結果如表 5 所示;從表中可見,BP 神經網絡在辨識每一類心電信號時的準確性,均優于三特征值分類法,由于這三個特征值是從對現存方法的回顧性分析中選擇出表現最好的三個單一特征值,因此可以說,本文所構建、優化得到的多參數融合 BP 神經網絡,相較現存的傳統特征值閾值分類法表現更優。

5 結論
隨著 AEDs 越來越廣泛的應用推廣,致死性失常心律自動辨識分類算法的準確性和可靠性也得到了越來越多的重視。從二十世紀七十年代開始,就有很多專家進行相關算法的研究;早期的算法大多試圖構造一個或一組特征值,通過統計學方法選擇閾值,進行不同心電信號的分類;隨著機器學習算法的發展,一些研究者開始利用數據庫訓練神經網絡或支持向量機,完成心電節律辨識,這些機器學習研究雖然迅速取得了相較傳統特征值分類方法更高的準確性,但往往功能比較單一,僅僅進行可電擊節律與不可電擊節律的區分[18-20],不能滿足心臟驟停心肺復蘇的實際需求;本文對公開發表的 10 種引用較多、表現較好的算法中設計的 21 個特征值進行了回顧性研究,基于一個由 1 343 例樣本所構成的心電數據庫,分別檢驗了這些特征值在進行心電信號分類時的 ROC 曲線表現;基于這些特征值,本文構建了一個單隱層 BP 神經網絡,并利用 GA 對其進行優化和特征值篩選;最終得到一個 SR、VF、VT、ASYS 的 4 分類辨識算法。實驗證明,本文構建的神經網絡在的心電節律辨識上有很好的表現,相較傳統的的特征值閾值分類算法,取得了更高的識別準確性。本算法的提出,不僅進一步提高了除顫前心電分析的可靠性,而且有利于提高心肺復蘇的自動化程度,最終提高心臟驟停的存活率。