基于深度长短时记忆神经网络模型的心律失常检测算法

2019-07-31 12:14杨朔蒲宝明李相泽王帅常战国
计算机应用 2019年3期
关键词:心电支持向量机心律失常

杨朔 蒲宝明 李相泽 王帅 常战国

摘 要:针对传统基于形态特征的心电检测算法存在特征提取不准确和高复杂性等问题,提出了一种多层的长短时记忆(LSTM)神经网络结构。结合传统LSTM模型在时序数据处理上的优势,该模型增加了反向和深度计算,避免了人工提取波形特征,提高了网络的学习能力。通过给定心拍序列和分类标签进行监督学习,然后实现对未知心拍的心律失常检测。通过对MIT-BIH数据库中的心律失常数据集进行实验验证,模型的总体准确率为98.34%。相比支持向量机(SVM),该模型的准确率和F1值均有提高。

关键词:心律失常;心电;长短时记忆(LSTM)神经网络;时序数据;支持向量机

中图分类号: TP183

文献标志码:A

文章编号:1001-9081(2019)03-0930-05

Abstract: Aiming at the problems of inaccurate feature extraction and high complexity of traditional ElectroCardioGram (ECG) detection algorithms based on morphological features, an improved Long Short-Term Memory (LSTM) neural network was proposed. Based on the advantage of traditional LSTM model in time series data processing, the proposed model added reverse and depth calculations which avoids extraction of waveform features artificially and strengthens learning ability of the network. And supervised learning was performed in the model according to the given heart beat sequences and category labels, realizing the arrhythmia detection of unknown heart beats. The experimental results on the arrhythmia datasets in MIT-BIH database show that the overall accuracy of the proposed method reaches 98.34%. Compared with support vector machine, the accuracy and F1 value of the model are both improved.

Key words: cardiac arrhythmia; ElectroCardioGram (ECG); Long Short-Term Memory (LSTM) neural network; time series data; Support Vector Machine (SVM)

0 引言

心律失常是一种常见的心血管综合症,心脏电刺激的起源异常、传导异常或频率改变均会造成心律失常[1]。许多心血管疾病的病发初期常伴有心律失常的出現,因此心律失常的检测对于心血管疾病的预防具有重要意义。目前,广泛应用的心律失常检测方法是心电(ElectroCardioGram, ECG)信号诊断[2]。

ECG信号反映了心脏周期性的功能状态。当发生心律失常时,心脏出现不规律跳动,心脏节律发生改变,心电图中监测到的电信号也会随之出现明显变化。传统的ECG信号诊断通常由资深专家对心电图波形进行人工分析,识别波形图中的异常,作出相应的病情诊断。随着计算机科学的发展,人工智能技术被应用于ECG信号的自动诊断当中。这种方法不仅能够减少专家的压力,提高检测效率,还能节约病人的时间,避免耽误病情。

ECG信号是一种周期性的时间序列信号,在一个心动周期中主要包括P波、QRS波群和T波等波形。由于受不同人群、采集设备和肌电信号的影响,波形中会包含不同程度的噪声和基线漂移。过量的噪声会影响算法对波形检测的准确性,所以在信号分析之前,需要选择合适的滤波算法对EGG数据进行去噪[3]。在这一方面,许多学者已经提出了许多成熟的去噪算法。Savitha等[4]提出了一种结合有限长单位冲激响应(Finite Impulse Response, FIR)滤波器和主成分分析(Principal Component Analysis, PCA)的方法来消除心电干扰,效果明显优于普通的数字滤波方法。Alfaouri等[5]通过分析小波变换后信号的频率特性,采用合适的小波基函数和分解层数,精确地过滤掉了特定频率的噪声。针对滤波后的ECG信号进行心律失常的自动检测,学者们也提出了许多优秀的算法,像自回归模型、支持向量机(Support Vector Machine, SVM)和卷积神经网络(Convolutional Neural Network, CNN)等。Korürek等[6]利用小波变换和PCA提取信号频域特征,结合时域波形特征对MIT-BIT数据库中的6种心律失常心拍进行了验证,取得了96%的分类准确度。但这种方法对于波形特征要求较高,特征提取的准确度容易受到噪声的影响。Rajpurkar等[7]设计了一个34层的卷积神经网络,对Holter中的12类单导联心律失常数据进行了识别,达到了专家诊断的效果。但这种模型需要长时间的训练,检测时的时间复杂度较高。所以,本文提出一种深度长短时记忆神经网络模型应用于心律失常检测。首先,在传统长短时记忆(Long Short-Term Memory, LSTM)神经网络模型中,增加了反向推算结构,挖掘信号数据前后之间的联系;其次为了降低模型复杂度,减少训练时间,只采用了两层双向LSTM网络作隐含层;最后,将分割好的心拍序列作输入,通过网络模型检测,得到检测结果。实验结果表明,本文采用的模型在心律失常检测中,准确率高、泛化性强;相比其他模型具有明显优势。

1 數据处理

本文使用的所有数据来源于MIT-BIH心律失常数据库。MIT-BIH心律失常数据库是麻省理工建立的基于国际标准,经过专家诊断和注释的心电数据库,是国内外学者进行相关研究的权威数据来源[8]。

1.1 小波阈值去噪

受采集环境的影响,ECG信号中通常存在许多干扰信号和基线漂移。为了获取精准的心脏活动信号,避免噪声干扰产生误判,本文运用小波变换对ECG信号进行分解和重构来消除干扰信号和基线漂移。

小波变换是一种对信号进行时频转换的信号分析方法,通过伸缩平移运算对信号进行多尺度细化,放大局部特征,以便进行下一步的信号分析[9]。小波变换方法在消除ECG这类非平稳信号中的噪声时,具有明显的优势。小波变换为连续信号f(t)在小波基函数下的展开,如式(1):

ECG信号经过小波分解后,信号的有效信息主要集中在较大幅值的小波系数上,而噪声信号则分布在各尺度小波域内,主要集中在较小幅值的小波系数上。通过设定合理的阈值,将小于阈值的小波系数进行置零,从而达到心电信号去噪的目的。主要流程如图1所示。

1.2 心拍分割

当心律失常出现时,在心电图中通常可观察到一个或多个心拍波形发生改变,这些异常波形伴随着正常波形重叠或交替出现。所以,当计算机检测心律失常时通常针对心拍波形进行检测,识别波形是否发生了明显变化。一个完整的心拍波形如图2所示,从当前P波起始至下一个P波的起始。由于P波幅值较小,容易受噪声影响等原因,在计算机处理时,通常以R波为基准对波形进行定位,再间接地寻找P波位置。目前针对ECG信号的R波检测算法已经相当成熟,准确率在99.5%以上[10],因此,在本文中依据此方法对较长记录的ECG信号进行分割,处理成单个心拍进行识别。

1.3 MIT-BIH心拍

在MIT-BIH心律失常数据库中,包含了十几种类型的心律失常数据,共有4000多个Holter记录,每条记录根据采集的时长,可分割成几十到几百个心拍。每个心拍均有对应的诊断标签。本文依据数据库的分类方法,采用单字符对心拍类型进行替代。具体心拍类型与字符标定的关系[11]如表1所示。

2 网络模型

近年来,深度神经网络模型在自然语言处理、计算机视觉、生物医学信号处理等多个领域取得了巨大的成功。循环神经网络(Recurrent Neural Network, RNN),特别是LSTM,已成为当前广泛使用的网络模型之一[12]。这种模型应用在语音识别、自然语言处理和机器翻译等基于时序数据的场景中具有明显的优势。

2.1 LSTM

LSTM是一种特殊的RNN。这种结构弥补了传统RNN的缺陷:无法解决长期依赖问题。传统的LSTM模型有三层:输入层、隐含层和输出层,核心单元是由存储块和存储单元组成的特殊结构,其中包含三种乘法门:遗忘门、输入门和输出门。遗忘门选择性保留历史状态,输入门用于更新学习的新信息,输出门输出学习到的信息。图3显示了LSTM核心结构[13]。

2.2 双向LSTM

双向RNN是对传统RNN结构的一种拓展,该模型神经单元的传递方向分为前向和后向。这种结构应用于LSTM网络上即为双向长短时记忆神经网络(Bi-directional Long Short-Term Memory, BiLSTM)[14]。与传统的LSTM神经网络不同,该网络的输入作用于前后两个方向的隐含层,再将两种隐含层的输出进行结合得到最终输出。网络结构如图4。

2.3 DBiLSTM

在本文中,利用多层神经网络的特点,结合BiLSTM结构,采用了一种深度双向长短时记忆神经网络(Deep Bidirectional Long Short-Term Memory,DBiLSTM)。该网络含有多个隐含层,前层的输出作为后层网络的输入。在DBiLSTM结构中,BiLSTM结构有助于挖掘前后特征之间的联系,多层神经网络结构有助于丰富网络学习的特征集,提高模型的准确率。在模型结构中,DBiLSTM实际上是对BiLSTM的一种深度拓展,如图5所示。

在DBiLSTM模型中,输入层的网络参数传递与BiLSTM相同,但在输出层,DBiLSTM将状态作为输入传给了隐含层,更新公式即为:

3 实验与分析

3.1 小波变换去噪

本文根据MIT-BIH数据库波形数据的特征,对比了四种小波基函数bior、db、coif和sym的去噪效果。通过原始信号和去噪信号计算信噪比和均方根误差,确定了选取coif2进行变换。由于小波阈值去噪时的分解层数过高造成波形形态和幅值变化较大,过低造成噪声抑制不明显的原因,本文将分解层数设置为3层。对于合理阈值的选择,本文采用了自适应的Stein无偏风险估计阈值。通过软阈值去噪后的对比波形,如图6所示。

从图中可以看出,原始信号中存在的大量噪声已经被消除,信号中关键的P波、T波和QRS波群等波群特征被完美地保留下来,保证了后续波形定位和心拍分割的准确性。由此可以得出,软阈值小波变换对波形的噪声起到了良好的抑制作用。

3.2 实验数据集

为了避免训练数据的不平衡影响模型学习的准确性,本文选取数据量大、数量差较小的4种心拍类型进行实验。同时为了避免多个心拍来自同一条记录,将心拍进行随机组合,划分出不同于训练集数据的测试集数据进行交叉验证,防止过拟合的发生。数据集的划分如表2。

3.3 模型实现

心律失常的主要检测过程为给定输入时间序列X={x1,x2,…,xt},即单个心拍,将其输入到训练好的网络模型中,输出此心拍对应的心律失常标签。本文采用的总体网络结构如图7所示。

猜你喜欢
心电支持向量机心律失常
卡片式智能心电采集仪
我院心电图网络系统的应用
“声名大噪”的跑步神器?
2016浙江省心电生理与起搏学术年会隆重举办
动态场景中的视觉目标识别方法分析
论提高装备故障预测准确度的方法途径
基于熵技术的公共事业费最优组合预测
β受体阻滞剂治疗心律失常的效果分析
基于支持向量机的金融数据分析研究