基于CNN⁃LSTM⁃SE的心电图分类算法研究

王建荣 ,  邓黎明 ,  程伟 ,  李国翚

测试技术学报 ›› 2024, Vol. 38 ›› Issue (03) : 264 -273.

PDF (1848KB)
测试技术学报 ›› 2024, Vol. 38 ›› Issue (03) : 264 -273. DOI: 10.3969/j.issn.1671-7449.2024035
数据采集与图像处理

基于CNN⁃LSTM⁃SE的心电图分类算法研究

作者信息 +

Study on ECG Classification Algorithm Based on CNN⁃LSTM⁃SE

Author information +
文章历史 +
PDF (1892K)

摘要

心血管疾病是我国死亡率较高的疾病之一, 通过观察心电图来判断心电信号是否出现异常能够对心血管疾病进行预防和筛查。由于心电图数据规模大且繁杂, 临床医护人员在心电图筛查时, 工作负担大且容易出现误诊或漏诊的情况。为了提高心电图的筛查效率、 减少医护人员的压力, 提出了一种基于卷积神经网络、 长短期记忆神经网络和SE网络的心电图分类算法模型(CNN-LSTM-SE), 该模型将心电图分成5种不同的类别。主要研究内容包括: 选用MIT-BIH心律失常数据集作为心电信号的数据来源, 使用巴特沃斯带通滤波器对心电信号进行去噪处理, 通过Z-score方法对心电信号进行标准化处理, 利用独热编码方法对心电信号标签进行编码, 最后使用处理后的心电数据对所提算法模型进行训练和测试。实验结果表明: 所提模型相较于其它模型, 能够有效提高心电图分类的准确性, 在实验数据集上的分类准确率达到99.1%。

Abstract

Cardiovascular disease is one of the diseases with high mortality rate in China. Monitoring electrocardiograms to determine if there are abnormalities in the electrical signals of the heart can be used to prevent and screen for cardiovascular disease. Due to the large scale and complexity of electrocardiogram data, clinical medical staff have a heavy workload and are prone to misdiagnosis or missed diagnosis during electrocardiogram screening. In order to improve the screening efficiency of electrocardiogram and reduce the pressure on medical staff, a model based on convolutional neural network, long and short-term memory neural network and SE network (CNN-LSTM-SE) was proposed to divide electrocardiogram into five categories. The main research contents include: MIT-BIH arrhythmia data set is selected as the data source of ECG signals, Butterworth bandpass filter is used to de-noise ECG signals, Z-score method is used to standardize ECG signals, and unique thermal coding method is used to encode ECG labels. Finally, the proposed algorithm model is trained and tested using the processed ECG data. The experimental results show that compared with other models, the proposed model can effectively improve the accuracy of ECG classification, and the classification accuracy of the experimental data set reaches 99.1%.

Graphical abstract

关键词

心律失常 / 心电图 / 卷积神经网络 / SE网络 / 长短期记忆神经网络

Key words

arrhythmia / electrocardiogram / convolutional neural network (CNN) / SE net / long and short term memroy neural network(LSTM)

引用本文

引用格式 ▾
王建荣,邓黎明,程伟,李国翚. 基于CNN⁃LSTM⁃SE的心电图分类算法研究[J]. 测试技术学报, 2024, 38(03): 264-273 DOI:10.3969/j.issn.1671-7449.2024035

登录浏览全文

4963

注册一个新账户 忘记密码

0 引 言

随着我国人口老龄化的日益加剧, 社会压力的不断增加以及医疗资源分布的不均衡, 心血管疾病的发病率及病死率呈逐年上升趋势[1-2]。目前死亡率最高的疾病是心血管疾病, 心血管病死亡占农村居民总死亡的48.00%,占城市居民总死亡的45.86%[3]。

定期进行心电图检查是早期预防心血管疾病的最直接方法。心电图信号所测量的微弱电流变化能够反映心脏肌肉的功能, 并记录下由心脏肌肉收缩引起的心电记录, 这有助于心脏病的预防和筛查[4-5]。然而, 我国心电图检查和诊断的医生和病人比例严重失衡, 这在某种程度上影响了病人的及时筛查, 并给临床医生带来了额外负担。随着技术的发展, 出现了一些使用心电图数据的自动化分析方法, 特别是人工智能的方法, 不仅显示出高度的预测精确度, 而且分析心电图所需的时间比临床医生要少得多, 这可以减少医生病人之间的不平衡问题。

目前, 心电图的分类算法主要分为基于特征提取的分类算法和基于深度学习的分类算法。基于特征提取的心电图分类算法是通过手工提取心电信号特征再通过机器学习分类器识别分类的方法。机器学习中的很多方法被用于心电图的分类研究中, 比如支持向量机(Support Vector Machine, SVM)、 k近邻(K-Nearest Neighbor, KNN)和随机森林(Random Forest, RF)等。但存在手工提取特征比较繁杂, 容易在提取过程中出现错误或者受到环境因素干扰等问题。同时, 深度学习方法在使用人工智能进行心电分析方面取得了很好的成果[6-8]。比如, 常用的卷积神经网络(Convolutional Neural Network, CNN)能够自动地提取心电数据深层次的特征, 且分类精度也很高。由于心电数据是时间序列数据, 前后数据具有一定的依赖关系, 所以循环神经网络(Recurrent Neural Networks, RNN)也常常用于心电数据的分析, 尤其是长短期记忆神经网络(Long and Short-term Memory Network, LSTM), 它在一定程度上可以克服梯度消失或爆炸的问题。深度学习在心电图分类的研究上表现较为出色, 尤其是相比于传统的机器学习算法, 自动化程度更高, 效率更好。然而, 单一的网络不能够提取到充足的心电数据有用特征。考虑到心电图具有空间和时间上的双重特征以及心律问题主要是由一个周期中的某一波段起关键作用, 本文创新性地提出了一个基于卷积神经网络、 长短期记忆神经网络和SE网络(Squeeze-and-Excitation Networks, SE)的深度学习模型进行心电图分类, 以提高心电图分类任务的效率和准确性。

1 相关工作

1.1 卷积神经网络概述

卷积神经网络(CNN)是一个由多层神经元组成的深层神经网络, 其采用卷积运算, 比较适用于处理网络结构的数据, 如图像数据等[9]。

CNN的核心是卷积层、 池化层和全连接层, 这些层一起工作组成CNN体系结构的基本模块。卷积层的功能是对数据进行自动特征提取, 与传统的人工提取特征不同, 卷积层通过卷积核在图像中滑动进行计算来自动提取特征。一般来说, CNN中越往后的卷积层能够提取的特征越抽象。卷积层滑动计算的卷积公式为

f*gx=∫-∞+∞fτgx-τdτ,

式中: f, g为两个函数。

池化层的功能简单来说就是有损压缩, 对经过卷积操作的特征降维处理。经过池化处理之后, 模型的计算量大大减少, 同时模型的过拟合风险大大降低。池化操作一般有平均池化和最大池化[10]。两者的区别在于平均池化的方法可以最大化地保留整体背景信息, 而最大池化可以突出提取重要信息, 减少对无用信息的计算量和对结果的影响。两种方法都在降低数据维度的情况下, 使得识别效果更好。图 1 所示为平均池化, 图 2 所示为最大池化。

在全连接层中, 每个神经元都与上一层的所有神经元相连。全连接层通常用于分类问题的输出层, 它的主要作用是将输入特征进行线性组合和映射, 从而构建出一个更高级别的特征表示。

1.2 长短期记忆神经网络概述

长短期记忆神经网络(LSTM)是循环神经网络(RNN)的一种, 旨在处理数据中的长期依赖关系。RNN是另外一种重要的深度学习网络模型, 经过多年的发展, 现在的RNN网络已经是一种专门处理时序性数据的神经网络[11]。显然, 心电图数据就是一种典型的时序性数据。

时序性数据的特点是数据的前后关联性比较大, 与时间序列有很大关系, 而RNN网络同样也是和时间序列相关的。如图 3 所示, 左侧为一个完整RNN结构图, 该结构只包含3个神经元, 但是这个结构会随着时间不断变化。RNN在某一时刻会有一个输入Xt, 神经元A对其进行运算, 经过运算产生的输出可以传输到Ht中, 也可以再次传输到A中。如图 3 所示, 将RNN的结构按照时刻展开后可以观察到, RNN的神经元A有2个输入信息, 即当前时刻的输入和前一时刻的输出, 这使得RNN能够在处理时序性数据时保留一些先前的信息, 并将其应用于当前的输入。

虽然RNN在处理简单的时序数据时很有效, 但在处理复杂的时间序列数据时, 它可能会出现梯度消失或爆炸的问题。为此, Sepp Hochreiter和Jurgen Schmidhuber在1997年开发了LSTM[12-13]。

如图 4 所示, 相对于传统的RNN结构, LSTM增加了3个门(“输入门” “遗忘门” “输出门”)[14-15]。由前一个时刻输出ht-1、 当前时刻输入Xt和前一时刻状态Ct-1来共同决定“遗忘门”应该丢弃哪些信息。为了实现这一点, 遗忘门首先读取Xt和ht-1, 然后对这些输入应用sigmoid激活函数, sigmoid激活函数在图中用σ表示, 输出值的范围为0~1, 表示保留前一时刻信息的程度, 数值越大保留程度越高, 结果放在状态ft中, σ计算公式见式(2)。ft再与Ct-1运算得到新的状态值。

σ(z)=11+e-z。

LSTM可以选择性地遗忘过去的信息, 并将当前的信息添加到记忆中。在“输入门”中, 由Xt、 ht-1、 Ct-1来决定当前时刻状态Ct的输入信息。“输入门”的执行过程为先将Xt和ht-1分别进行σ和tanh运算, 再进行结合运算, 然后将结果和“遗忘门”的状态值合并来更新当前时刻的状态Ct, tanh运算公式见式(3)。

tanh(z)=ez-e-zez+e-z。

经过“遗忘门”和“输入门”的过滤, LSTM保留了更加有用的信息。接下来, 由“输出门”根据Ct、 Xt和ht-1来计算得到当下的输出ht。“输出门”的执行过程为先将Xt和ht-1进行σ运算, 再将Ct进行tanh运算, 然后将两者进行结合运算来输出当前时刻的ht。

LSTM的整个学习过程可以通过式(4)来直观地表示。

ft=σWf[xt,ht-1,Ct-1]+bf*Ct-1,it=σWi*[xt,ht-1,Ct-1]+bi,Ct=ft+it*tanhWc*[xt,ht-1,Ct-1]+bc,Ot=σWo*[xt,ht-1,Ct-1]+bo,ht=tanhCt*Ot,

式中: Wf为权值向量; bf为偏置向量。

1.3 SE网络概述

不同于以往大部分基于空间上特征的研究, SE网络[16]是从通道的角度进行考虑的。在本文中, 一个通道就相当于数据的一种特征, 不同的卷积核提取数据的不同特征, 这些特征中包括重要的和不重要的。SE网络的优势在于可以对特征进行重新校准, 对一些判别性的特征进行强调, 对不相关的特征进行抑制, 具体实现为对通道之间的关系进行建模以纠正通道特征, 从而增强神经网络的表示能力。SE网络的核心是计算每个通道的权重来对通道进行加权处理。

图 5 所示为SE网络的结构图, Ftr为一个转换结构, 比如卷积操作、 Resnet等, 本文中Ftr代表卷积操作。XC'×H'×W'和XC×H×W分别为Ftr的输入和输出, 其中C'和C为通道的个数, 这与普通的卷积神经网络没有差别。SE网络改进的地方是卷积操作结束后的部分, 这部分进行的操作为计算一个通道维度上的权重来对通道进行加权处理。具体的过程为: 首先对U进行Fsq(·)操作, 即对U做一个全局平均池化, 这个过程称为“压缩”, 输出的1×1×C数据经过一个Fex(·)操作, 具体就是经过2个全连接层处理, 这个过程称为“激励”, 最后用激活函数Sigmoid将数据限制到0,1的范围, 即通道维度上的权重, 将这个权重scale乘以U的C个通道, 结果作为下一层的输入。接下来对“压缩”和“激励”两个过程进行详细介绍。

有一种说法是, 由于卷积运算的局域性, U很难捕捉到足够多的信息来对通道之间的联系进行提取。因此, SE网络引入了“压缩”操作, 将通道内空间区域的特征编码转换, 变为全局特征, 实现的方法是进行全局平均池化。其实也能够采用更加复杂的实现方法, 但是最终的目的都是为了获取一个全局的特征。SE网络的提出者考虑到网络可能的多种用途, 可以用来进行分类, 也可以用来进行目标检测, 所以整体的信息更加重要, 基于此, Fsq(·)采用了求取平均值的策略。

zc=Fsquc=1H×W∑i=1H∑j=1Wuci,j, z∈RC,

式中: uc(i,j)为卷积之后矩阵U的第i行, 第j列元素。将整个U矩阵的某个通道的所有元素进行相加取平均的操作就得到了该通道的zc值。

在“激励”过程中, 经过“压缩”操作后得到了能够代表全局的特征。接下来就是对通道之间的关系进行提取, 然后把上面的特征融合起来。“激励”操作要求能够学习到通道间的非线性关系, 还要求能够保证学习到的关系之间不是互斥的。因此, SE网络的提出者使用全连接层学习各个通道之间的关系, 来得到每个通道的权重。

s=Fexz,W=σgz,W=σW2δW1z,

式中: σ为Sigmoid激活函数, δ为ReLU激活函数, W1∈RCr×C, W2∈RC×Cr。为了控制模型的复杂度使得模型更好地泛化, SE网络采用2个全连接层, 分别带有ReLU和Sigmoid激活函数, 来对门机制进行参数化。首先, 使用参数为W1, 降维系数为r的全连接层对数据进行降维, 该全连接层的激活函数为ReLU。然后, 使用参数为W2的全连接层对数据进行升维, 该全连接层的激活函数为Sigmoid。本研究中r为4。通过学习可以得到每个通道上的权重结果s(s∈[0,1]), 将其乘以U上的原始特征得到SE网络的输出结果。

x˜c=Fscaleuc,sc=sc⋅uc,

式中: Fscaleuc,sc表示某个通道的权重与它对应的通道特征相乘。

SE网络的输入可以是任意维度的特征图, 包括一维、 二维和三维, 网络的原理是相同的。在一维情况下, 比如文本分类任务中, 可以使用SE网络进行特征选择和增强。SE网络在学习的过程中可以自动放大对分类效果影响比较大的关键特征, 同时忽略影响较小的特征, 这有助于降低模型的计算复杂度, 提高模型的效率。

2 基于CNN⁃LSTM⁃SE的心电图分类算法

2.1 数据预处理

本文使用的数据集为MIT-BIH心律失常数据库。该数据库中有48条记录, 来自贝斯以色列医院心律失常实验室。心电图信号的采样率为360 Hz, 模数转换精度为11位。每条记录都包含权威专家的注释。在进行实验之前需要对实验数据进行预处理, 包括去噪处理、 数据切分、 心拍标准化、 标签数据化等。整个预处理过程如图 6 所示。

2.1.1 去噪处理

心电信号的采集是由心电监护设备经过导线通过电极贴在体表来监听完成的, 而且心电信号的大小通常都是毫伏级别的, 所以容易受到噪声的干扰。采集心电信号的过程中往往会受到采集设备、 个体差别、 运动的影响。主要的心电信号噪声有工频干扰、 肌电干扰、 基线漂移等。心电信号在噪声的干扰下, 采集到的信号与原始信号差别很大, 所以需要对噪声进行去除。

本文采用心电去噪常用的带通滤波方法对原始心电信号进行去噪, 通过巴特沃斯带通滤波器过滤掉低频和高频的信号, 目的是将噪声的频率滤除, 保留原始的心电信号。本文设计的巴特沃斯带通滤波器的阈值最小值为10 Hz, 最大值为40 Hz, 阶数为3。MIT-BIH数据库中第105条数据的包含两个心拍的某个片段经过该巴特沃斯带通滤波器过滤前后的心电图对比如图 7 所示。

2.1.2 数据切分

由于心电记录一般比较冗长, 要着重研究心律失常的心电图片段就需要对心电记录进行切割, 使用分割后的心电图片段能够减少计算的复杂度, 加速特征提取和分类的过程。由于MIT-BIH心律失常数据库的采样频率为360 Hz, 结合正常的心跳周期大约为0.7 s, 可以得出一次正常心跳的采样点大约为250个。本文采用了常用的心拍截取方法, 即确定了R 波位置后, 向前和向后分别截取估计的采样点数。利用该数据库已知R波位置的特性和心电信号的时限特征, 在R波之前和之后分别截取了100个和150个采样点, 构造了一个单一的心拍, 包含了主要的特征波形, 如图 7 所示, 满足了实验要求。在本文实验中, 使用的心拍样本数据量共12 500条, 其中使用80%的样本来训练模型, 使用20%的样本对模型的性能进行验证。本文设置了均衡的实验数据, 以减少对实验结果的影响, 每种心拍的实验数据均设置为2 500条, 其中2 000条为训练数据, 500条为测试数据。

2.1.3 数据标准化

为了更好地提取心电图的特征, 本文将切割后的心电图片段做标准化处理, 采用Z-score方法[17], 计算过程为

X^=X-μσ,

式中: X^为标准化后的数据, μ为心电数据的均值, σ为心电数据中的标准差。对心电数据进行标准化处理之后, 所有的心电数据的幅值大小都介于0~1之间, 这样处理过后的数据更加稳定, 有利于算法的特征提取和分类。

2.1.4 标签数据化

MIT-BIH心律失常数据库中的注释标签是英文字母或者其他符号, 需要对标签数据化处理以便于计算机的工作。独热编码(One-Hot Encoding)是将类别型数据转换为数值型数据的一种常用方法, 本文中的心律类型标签就是一种类别型数据。这种方法将每个类别映射到一个二进制向量, 其中只有一个元素为1, 其余元素均为0, 代表每个类别的编码。这样的编码方式可以避免深度学习算法将编码值的大小关系作为特征, 只关注它们是否相等。将本文的5种心律类型进行独热编码, 编码后的结果如表 1 所示。

2.2 CNN⁃LSTM⁃SE心电图分类模型

CNN、 LSTM和SE都是深度学习中常用的模型, 它们各自具有不同的优势和特点, 通过将其结合可以提高心律失常心电图分类的准确性和鲁棒性。具体来说, CNN可以提取心电信号中的局部特征, LSTM可以处理心电信号中的长期依赖关系, 而SE可以提高对重要信息的关注度。

在CNN-LSTM-SE心电图分类模型中, 首先使用卷积神经网络对数据进行特征提取, 卷积神经网络的卷积操作可以提取数据中的局部特征, 通过不同大小的卷积核, 卷积神经网络可以提取不同大小的特征, 这些特征可以捕捉到心电信号中的不同信息。接下来, 提取出的特征会被输入到LSTM中进行序列建模。LSTM是一种递归神经网络, 可以学习序列数据中的长期依赖关系。LSTM网络可以从不同位置的特征中学习到重要的信息, 并且可以处理长序列的数据。在CNN-LSTM-SE心律失常心电图分类模型中, LSTM网络的作用是对心电图中的信息进行建模。在引入了LSTM网络后, CNN-LSTM-SE心电图分类模型引入了SE网络, 它是一种基于注意力机制的神经网络模型。注意力机制是一种能够对不同特征进行加权的方法, 可提高对重要信息的关注度。在CNN-LSTM-SE心律失常心电图分类模型中, 注意力机制的作用是对卷积输出的特征进行加权。通过计算每个特征的重要性, 注意力机制可以提高对重要信息的关注度, 从而进一步提高模型的准确性和鲁棒性。

如图 8 所示为CNN-LSTM-SE模型的网络结构, 网络中的主要参数如表 2 所示。模型的输入为80%的总样本量, 用于训练模型。在卷积过程中, 通过卷积核在样本图像上滑动计算来实现特征的提取。卷积核的权值在模型的训练过程中是不断变化调整的, 目的是使得误差尽可能地小, 提取到更多有用的特征信息。在每个卷积层上应用ReLU激活函数, 使得层与层之间的非线性关系得以增强。每个卷积层下一层是一个批归一化层, 目的是防止随着网络层的加深导致参数的更新困难和收敛的速度变慢, 同时也能够缓解梯度问题和过拟合问题。随后添加了SE模块, 用于自适应地校准卷积特征不同通道的权重关系, 在本文中就是放大关键波的作用。本文中的一维心电数据适用于SE网络的原理, 只需将对应的操作更改维度, 即在“压缩”过程中, 采用一维全局平均池化操作, 在“激励”过程中, 依然是使用两个全连接层降维、 升维, 同样也是通道的校准机制。

SE模块将这些校准后的特征再进行融合, SE模块的压缩比r为4, 输出通道数压缩到了输入通道数的四分之一。池化层的作用是减小输入数据的尺寸, 保留数据中特征较强的信息, 丢弃不突出的特征信息, 这使得模型的参数大大精简, 计算效率大大提高。在经过卷积池化操作后, 输入数据的不同维度特征会被不同深度的卷积层提取并在最后整合。数据先经过CNN对空间特征进行提取, 再经过两层LSTM进行时间特征的提取, 两层LSTM的神经元个数分别为128和64。随后, 数据会经过Flatten层压缩处理, Flatten层旨在将多维数据转换为一维数组。模型中Dropout层的位置如图 8 所示, Dropout层的作用是随机地去除一些神经元来提高模型的泛化能力, 其中的参数设置为0.5。在网络最后, 使用了3个Dense层对特征进行整合, 在前2层使用ReLu激活函数进行非线性变化, 第3层使用Softmax激活函数进行输出。

CNN-LSTM-SE心律失常心电图分类模型可以提高心电图分类的准确性和鲁棒性。在CNN-LSTM-SE心律失常心电图分类模型中, 这些组件相互协作, 共同为心律失常心电图的分类提供支持。

3 评估标准

混淆矩阵是一种可视化的工具, 将模型的分类结果与实际的结果可视化, 以观察正确输出和错误输出的个数, 从而判断模型的分类性能[18]。可视化的形式是矩阵的形式, 矩阵的行代表实际的结果, 矩阵的列代表模型的分类结果。如图 9 所示, 混淆矩阵中, 有4个基本的指标: TP(表示实际结果为真, 模型的分类结果也为真, 判断正确), FP(表示实际结果为假, 模型的分类结果为真, 即判断错误), FN(表示实际结果为真, 模型的分类结果为假, 也即判断错误), TN(表示实际结果为假, 模型的分类结果也为假, 判断正确)。

混淆矩阵一般用于二分类的问题, 如果是多分类的问题, 同样也可以通过混淆矩阵来评估分类效果。针对本文的心电图分类模型, 分类的结果包括N, L, R, A, V 5种类别。虽然有5种类别, 但是对于每种类别来说本质也是二分类问题, 结果为本类和结果不是本类。当样本有N种类别时, 就是N×N维的混淆矩阵, 本文研究的5分类问题的混淆矩阵表示如表 3 所示。

表 3 中每一列的数据之和为该列对应类别的真实数量。假设a为60, 则代表该模型的分类结果中正确预测类别N为类别N的数量为60。数量f表示模型将类别为N的数据预测为类别L的样本数量, 同理k, p, u分别表示模型将类别为N的数据预测为类别R, A, V的样本数量。通过混淆矩阵可以直观地了解到每个类别的分类情况, 进而对模型的性能进行分析和改进。

准确率、 精准率、 灵敏度和特异度是检验深度学习模型分类性能常用的4个标准, 通过这些指标可以判定模型的性能优劣。

准确率表示正确分类的样本在所有的样本中的占比, 是模型在包含所有类别的总体样本上的分类指标, 准确率越高表示该模型在总体上的检测性能越好, 计算公式见式(9)。

ACC(accuracy)=TP+TNTP+TN+FP+FN。

精准率表示正确分类的样本在分类结果为真的样本中的占比, 精确率越高表示识别准确率越高, 计算公式见式(10)。

P(Precision)=TPTP+FP。

灵敏度表示正确分类的样本在实际标签为真的样本中的占比, 灵敏度越高表示目标样本的分类筛查越容易, 计算公式见式(11)。

Se(sensitivity)=R(Recall)=TPTP+FN。

特异度表示正确分类的样本在实际标签为假的样本中的占比, 特异度越高表示误判的几率越低, 越有利于分类, 计算公式见式(12)。

Sp(specificity)=TNTN+FP。

考虑到P, R指标存在互相矛盾的情况, F1值可以综合两个指标的判定结果, 其取值范围为0~1, F1值越高代表模型的性能越好, 计算公式见式(13)。

F1=2PRP+R。

4 实验结果

针对CNN-LSTM-SE心电图分类模型, 训练集为80%的整体样本数据, 测试集为20%的整体样本数据, 用于对其性能进行检测。本次基于CNN-LSTM-SE模型的心律失常心电图分类实验训练过程中的准确率和损失函数的曲线变化如图 10 和图 11 所示, 训练过程在训练集上进行。图中可以观察到训练过程中的准确率在不断地上升, 上升的速度越来越缓慢, 最后趋于稳定。训练过程中的损失函数变化则相反, 最后也趋于一个稳定值。

模型的训练过程结束之后, 再用测试集对模型的性能进行验证。将CNN-LSTM-SE心电图分类模型的实验结果和MIT-BIH心律失常数据库数据的自带标签进行比对, 使用混淆矩阵的形式表示, 如表 4 所示。第1行N, L, R, A, V分别表示每类心拍的真实值, 第1列N, L, R, A, V分别表示CNN-LSTM-SE心律失常心电图分类模型对每类心拍的预测值。表 4 中主对角线上的值表示真实的类别被正确分类为真实类别的样本数量, 其余值都是被错误分类的样本数量。根据表 4 中的数据可以计算得到该模型对N, L, R, A, V 5种类别心拍数据分类的精确率、 特异性、 灵敏度和F1值, 如表 5 所示。

本文同时还训练了常见的用于心电图分类的模型: CNN、 LSTM、 CNN-SE和CNN-LSTM模型, 用来与本文模型进行对比参照。模型采用的训练集和测试集均为本文的训练集和测试集。如表 6 所示, 通过对比分析可知, 在同样数据集的情况下, 本文采用的CNN-LSTM-SE心律失常心电图分类模型的分类性能出色, 表明了该模型在心电图分类工作中的效果较好。

5 结 语

本文提出了一种CNN-LSTM-SE心电图分类模型, 该模型融合了CNN和LSTM的优点, 适合处理像心电数据这样的序列数据, 同时加入了SE模块, 引入了注意力机制, 能够提高对重要信息的关注度。而在心律失常心电图的分类工作中基本可以通过R波的变化判断患者是否存在心律失常, 进而判断心律失常的类别, 所以将该模型应用于实验数据集上进行5种类型心拍的分类工作。实验结果表明: 本文提出的模型相较于其它模型能够有效提高心电图分类的准确性, 准确率达到99.1%。在之后的工作中将尝试着优化模型的结构, 同时也试着加入其他的网络, 使得实验的结果更加完美。

参考文献

[1]

THOMAS H, DIAMOND J, VIECO A, et al. Global atlas of cardiovascular disease 2000-2016: the path to prevention and control[J]. Global Heart, 2018, 13(3): 143-163.

[2]

ROTH G A, MENSAH G A, JOHNSON C O, et al. Global burden of cardiovascular diseases and risk factors, 1990-2019: update from the GBD2019 study[J]. Journal of the American College of Cardiology, 2020, 76(25): 2982-3021.

[3]

王增武, 胡盛寿. 《中国心血管健康与疾病报告2021》要点解读[J]. 中国心血管杂志, 2022, 27(4): 305-318.

[4]

WANG Zengwu, HU Shengshou. Interpretation of key points of China’s Cardiovascular Health and Disease Report 2021[J]. Chinese Journal of Cardiology, 2022, 27(4): 305-318. (in Chinese)

[5]

王立群. 心电图的形成原理[J]. 心电图杂志(电子版), 2013, 2(3): 130.

[6]

WANG Liqun. Formation principle of electrocardiogram[J]. Journal of Electrocardiogram (Electronic Edition), 2013, 2(3): 130. (in Chinese)

[7]

魏彤. 12导联动态心电图在老年冠心病患者心肌缺血和心律失常诊断中的价值[J]. 中国老年学杂志, 2015, 35(18): 5310-5311.

[8]

WEI Tong. The value of 12-lead dynamic electrocardiogram in the diagnosis of myocardial ischemia and arrhythmia in elderly patients with coronary heart disease[J]. Chinese Journal of Gerontology, 2015, 35(18): 5310-5311. (in Chinese)

[9]

YANG X Z, ZHANG X Y, YANG M Y, et al. 12-lead ECG arrhythmia classification using cascaded convolutional neural network and expert feature[J]. Journal of Electrocardiology, 2021, 67: 56-62.

[10]

周飞燕, 金林鹏, 董军. 卷积神经网络研究综述[J]. 计算机学报, 2017, 40(6): 1229-1251.

[11]

ZHOU Feiyan, JIN Linpeng, DONG Jun. A review of convolutional neural network[J]. Chinese Journal of Computers, 2017, 40(6): 1229-1251. (in Chinese)

[12]

张异凡, 黄亦翔, 汪开正, 等. 用于心律失常识别的LSTM和CNN并行组合模型[J]. 哈尔滨工业大学学报, 2019, 51(10): 76-82.

[13]

ZHANG Yifan, HUANG Yixiang, WANG Kaizheng, et al. Arrhythmia classification using parallel combination of LSTM and CNN[J]. Journal of Harbin Institute of Technology, 2019, 51(10): 76-82. (in Chinese)

[14]

TAJBAKHSH N, SHIN J Y, GURUDU S R, et al. Convolutional neural networks for medical image analysis: full training or fine tuning[J]. IEEE Transactions on Medical Imaging, 2016, 35(5): 1299-1312.

[15]

卢宏涛, 张秦川. 深度卷积神经网络在计算机视觉中的应用研究综述[J]. 数据采集与处理, 2016, 31(1): 1-17.

[16]

LU Hongtao, ZHANG Qinchuan. A review of the application of deep convolutional neural networks in computer vision[J]. Data Collection and Processing, 2016, 31(1): 1-17. (in Chinese)

[17]

夏瑜潞. 循环神经网络的发展综述[J]. 电脑知识与技术, 2019, 15(21): 182-184.

[18]

XIA Yulu. A review of the development of recurrent neural network[J]. Computer Knowledge and Technology, 2019, 15 (21): 182-184. (in Chinese)

[19]

GERS F A, SCHMIDHUBER J, CUMMINS F. Learning to forget: continual prediction with LSTM[J]. Neural Computation, 2000, 12(10): 2451-2471.

[20]

QIAO G Z, SU R, ZHANG H F. Multivariate time series prediction based on AR_CLSTM[J]. Journal of Measurement Science & Instrumentation, 2021, 12(3): 322-330.

[21]

HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780.

[22]

刘鹏, 乔晓艳. 基于深度自编码和LSTM循环网络的脑电情感识别[J]. 测试技术学报, 2022, 36(2): 129-134.

[23]

LIU Peng, QIAO Xiaoyan. EEG emotion recognition based on deep auto-encoder and LSTM[J]. Journal of Test and Measurement Technology, 2022, 36(2): 129-134. (in Chinese)

[24]

HU J, SHEN L, SUN G, et al. Squeeze-and-excitation networks[C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2018: 7132-7141.

[25]

CHEADLE C, VAWTER M P, FREED W J, et al. Analysis of microarray data using Z score transformation [J]. The Journal of Molecular Diagnostics, 2003, 5(2): 73-81.

[26]

DENG X, LIU Q, DENG Y, et al. An improved method to construct basic probability assignment based on the confusion matrix for classification problem[J]. Information Sciences, 2016, 340: 250-261.

基金资助

国家重点研发计划资助项目(2018YFC2000701)

中国博士后科学基金资助项目(2021M692400)

山西省基础研究计划资助项目(202203021221017)

AI Summary AI Mindmap
PDF (1848KB)

1019

访问

0

被引

详细

导航
相关文章

AI思维导图

/

〈 〉