本研究构建的模型旨在将来自多个数据库的心电图(ECG)数据集中的早期心律失常分类为五种主要的心跳类型。与其他模型相比,该模型在准确率、敏感性、精确度和召回率方面表现更优。
研究文章
本研究构建的模型旨在将来自多个数据库的心电图(ECG)数据集中的早期心律失常分类为五种主要的心跳类型。与其他模型相比,该模型在准确率、敏感性、精确度和召回率方面表现更优。
心血管疾病,尤其是心律失常,是全球主要的死亡原因之一。这凸显了开发能够早期检测和诊断这些疾病的自动化系统的迫切需求。本研究提出了一种利用心电图(ECG)信号识别心律失常的深度学习模型。该模型重点关注五种主要类型的心搏:正常(N)、左束支传导阻滞(L)、右束支传导阻滞(R)、房性早搏(A)和室性早搏(V)。该系统采用来自多个数据库的I导联信号,包括MIT-BIH心律失常数据库、室上性心律失常数据库、INCART 12导联数据库和心脏性猝死Holter数据库,共提供超过390万个训练片段和112,575个测试片段。
数据经过预处理,包括将其划分为每段180个样本的固定时间窗口,使用最小-最大归一化方法进行缩放,并通过合成少数类过采样技术(SMOTE)平衡类别。该模型结合了一维卷积神经网络以提取空间特征,以及Transformer层以捕捉基于时间的模式。模型采用Adam优化器,并引入了Dropout和批归一化以提升性能。系统在所有类别上均达到了99.99%的准确率、精确率和F1分数,优于TN4模型及其他高性能模型。卷积神经网络与深度混合架构的使用增强了特征的鲁棒性。该模型在可扩展且实时的心律失常检测方面展现出巨大潜力,有助于推动人工智能驱动的个性化数字医疗的发展。
心血管疾病是人类健康问题的最主要原因,每年导致超过1700万人死亡。根据世界心脏联盟的报告,全球近四分之三的心血管疾病(CVD)病例发生在低收入国家。心电图(ECG)可记录心脏去极化过程中产生的电活动,这些电信号传导至皮肤表面。ECG信号至少包含两类重要信息:一类是与健康相关的生物医学信息,另一类是与个体相关的身份凭证或生物特征信息。由于其简便性,已有多种方法被用于ECG信号的分类,包括手工方法和机器学习方法。手工方法耗时且效率低下,需要实时采集ECG信号以及强大的计算机基础设施支持。机器学习方法的准确率可能低于手工方法,但仍需选择合适的算法以降低心律失常漏检的风险1。
最常见的心血管疾病是心律失常,即心跳节律异常的一种病症。这些异常节律必须被分类,因为此类信息可能影响治疗方案的选择。心电图(ECG)被广泛用于检测异常心脏活动模式并预测心脏疾病,从而实现早期发现。心律失常的诊断在很大程度上依赖于心电图,这是一种用于记录心肌兴奋性、传递信号并监测恢复过程的重要医疗设备。心电图在现代医学中是必要且可靠的工具。心电图信号解读的自动化显著提升了临床实践效率,并提高了患者安全性。心律失常表现为异常的心跳节律和模式。人工智能,特别是机器学习,是疾病预测和分析判断的有力工具,尤其适用于心血管疾病的分析2。
不同的医疗数据(如患者病历)通常在医院中用于临床目的。医疗数据也可以及时生成,以支持机器学习算法的优化。机器通过一个数据集进行训练,并最终从中学习。训练完成后,机器能够根据病历的不同特征,识别并分类病例是否健康3,4。机器还能够检测给定数据中的模式,而这些模式可能由于时间不足或资源有限,难以被人类察觉。目前已有多种方法用于分类心电图(ECG)信号,包括K近邻算法(KNN)、支持向量机(SVM)、神经网络(NN)、决策树、线性判别分析(LDA)以及贝叶斯分类器。其中,SVM被认为是最有效的有监督学习算法之一,可用于分类ECG信号以检测心律失常5,6。
一种采用神经网络(NN)和多层感知机(MLP)的高性能支架模型优于其他传统方法。深度学习算法,如人工神经网络(ANNs),已成功应用于信息检索、图像识别、目标检测和语言处理等任务。卷积神经网络(CNNs)在研究中被广泛用于从心电图(ECG)波形中提取风格特征,并对这些特征进行解析,以实现多种目的,例如识别QRS波群、ST段或P波7,8。一维卷积神经网络(1D CNN)能够学习检测心电信号中最相关的特征,并将其分类为五种心律失常类型。为提高信号质量,应用了基线漂移和高频噪声去除滤波器。该方法将心律失常分为五类9,10。
如图1所示,P波、QRS波群和T波是心电图的重要组成部分。P波代表心房去极化,即引起心房收缩的电活动。QRS波群反映心室去极化,是触发心室收缩的电冲动。T波表示心室复极化,即心室在收缩后的恢复阶段。这些波形共同构成一个完整的心动周期。它们对于理解心脏功能以及诊断心脏疾病至关重要11。
所有这些波形代表一个心动周期。它们对于理解心脏的工作机制以及诊断心脏疾病具有重要意义。近年来,深度学习模型在计算机辅助医学信号解读(包括心电图信号)方面取得了显著进展。传统的基于手工设计特征的机器学习模型在不同患者群体之间存在可扩展性和适应性问题。为应对这些挑战,诸如卷积神经网络(CNN)以及将CNN与长短期记忆网络(LSTM)等循环模型结合的混合模型相继出现,能够直接从原始心电图信号中自动学习相关特征。这极大地提高了分类准确性12。
本研究提出一种深度学习框架,用于将心电图(ECG)信号分类为五类心跳:正常(N)、左束支传导阻滞(L)、右束支传导阻滞(R)、房性早搏(A)和室性早搏(V)。为训练模型,我们采用公开可用的心电图数据集,如MIT-BIH心律失常数据库和室上性心律失常数据库。这些数据集经过预处理,并被划分为固定长度的片段以供分析。由于类别不平衡是心律失常数据中的常见问题,我们应用合成少数类过采样技术(SMOTE)来平衡训练数据。这确保模型能够从所有类别中有效学习,并提高其对不同类型心跳的分类准确性。
借鉴近期在心电图分类方面的研究进展,包括使用连续小波变换(CWT)和卷积神经网络(CNN)架构的模型,本文提出的方法采用了标准CNN以及结合了Transformer层的混合模型。通过结合CNN进行空间特征提取和Transformer捕捉时间依赖性,该系统在所有类别上均实现了高准确率,F1分数和精确率接近100%13,14。
"空间特征"指与物体位置或地点相关的特性,例如距离、方向和形状。另一方面,"时间特征"描述与时间相关的要素,例如事件发生的时间、持续时长或事件的先后顺序。本质上,"空间"意为"空间",而"时间"意为"时间"。
本研究的主要目标是开发一种准确且可扩展的实时心律失常检测模型,以支持人工智能驱动的医疗诊断领域的不断发展。该系统在实时监测方面展现出良好前景,能够对有心脏事件风险的患者实现早期检测与干预。
本研究工作的目标是多方面的。首先,本研究所提出的技术旨在将心律失常心跳分为五类:正常(N)、左束支传导阻滞(L)、右束支传导阻滞(R)、房性早搏(A)和室性早搏(V)。其次,本研究旨在构建一种混合卷积神经网络(CNN)与Transformer模型,能够直接从心电图(ECG)信号中学习形态学和时间序列信息,而无需预处理15。第三,本研究所提出的技术旨在提供一种面向性能的解决方案,可实现实时部署。第四,本研究旨在证明所提出模型在准确率和灵敏度方面相较于当前先进模型的提升效果16,17。
此外,图卷积网络(GCNs)通过在结构化图中建模生理因素之间的相互作用,已被引入用于生物医学预测任务,未来可能在考虑导联间依赖性的 心律失常分类模型中发挥重要作用。
访问受限。请登录或开始试用以查看此内容。
伦理声明
本研究完全依赖于从 PhysioNet 下载的公开匿名心电图数据。本研究使用的所有数据集最初均由相应数据所有者在获得受试者同意并经伦理审查批准后收集。本研究无需进行任何数据采集,无需对人类或动物受试者开展实验工作,也无需获取患者个人身份信息。因此,未另行申请额外的伦理审查。
方法
图2展示了所提出架构的工作流程。
数据收集
心电图数据来自 PhysioNet 数据库,这是一个常用的生理信号存储库。从该数据库中获取了多个数据集。这些数据集被合并为一个包含多种心电图信号类别的主要数据集。
所使用的数据集
本研究采用多个公开可用的心电图(ECG)数据集,用于开发和评估一种用于心律失常分类的深度学习模型。在选择这些数据集时进行了审慎考虑,兼顾了患者人口统计学特征的多样性以及心律失常类型的广泛性,以确保所提出的模型在不同场景下均能表现出良好的性能9。在本研究中,仅整合了来自MIT-BIH心律失常数据库、MIT-BIH室上性心律失常数据库、圣彼得堡INCART 12导联心律失常数据库以及心脏性猝死Holter数据库的I导联数据。这些数据集以其高质量、带有标注的心电图记录而著称,涵盖了广泛的心律失常类别。
上述合并的数据集包括患者人口统计学信息、记录设备、采样频率和设置。模型中上述可变性通过接触多种心电图形态、噪声和节律,提高了其泛化能力。
数据集描述
MIT-BIH 心律失常数据库
MIT-BIH 心律失常数据集包含 48 条半小时长度的 ECG 记录,编号为 100-234。每条记录包含以每秒 360 个采样点数字化的双通道 ECG 信号。数据以 .dat、.hea 和 .atr 格式存储。
MIT-BIH 室上性心律失常数据库
这是 MIT-BIH 数据库的一个特定子集。MIT-BIH 室上性心律失常数据库包含 78 条完整的心电图记录,每条记录时长从 30 分钟到数小时不等,编号为 801-811。每条记录均包含双通道心电图信号,以每秒 128 个采样点的速率转换为数字形式。
圣彼得堡 INCART 12 导联心律失常数据库
该数据库包含来自 32 台动态心电图监测仪的 75 段带注释的记录。每段记录持续 30 分钟,包含 12 个标准导联,每个导联的采样频率为 257 Hz。信号强度在每毫伏 250 至 1100 个模拟-数字转换器单位之间变化。
意外心脏死亡 Holter 数据库
该数据集是众多公开的 Holter 记录之一,记录了真实发生的室性心动过速(VT)和心室颤动(VF)事件。这两种心律失常均可导致意外心脏死亡。每条记录时长为 24 小时,采样频率为 250 Hz。
数据预处理
本研究使用了四个采样率不同的公开心电图数据库:MIT-BIH 心律失常数据库(360 Hz)、MIT-BIH 室上性心律失常数据库(128 Hz)、圣彼得堡 INCART 12 导联数据库(257 Hz)和心脏性猝死霍尔特数据库(250 Hz)。为确保所有数据具有一致性,并能在模型训练过程中合并使用,所有心电图信号均被重采样至统一的 360 Hz 采样率,该采样率与 MIT-BIH 心律失常数据库一致,且在心电图研究中常被用作标准。重采样通过带限插值法实现:首先对心电图信号进行低通滤波以防止混叠,随后采用基于 sinc 函数的重建核进行插值,最终重采样至 360 Hz。重采样后,每个信号被划分为包含 180 个采样点的窗口,大约相当于 0.5 秒的数据,从而确保所有数据集具有相同的时间分辨率。该标准化处理使得来自不同数据库的信号能够合并用于训练和测试,有助于模型学习到随时间变化的一致性模式。
预处理包含多个关键步骤,以确保输入数据的质量:
数据分割:
重采样后,每段心电图(ECG)信号被划分为长度固定的180个采样点的窗口。在360 Hz的采样率下,这相当于约0.5秒的信号持续时间。本研究采用固定且无重叠的滑动窗口进行分割,每个窗口采集一段连续的心电信号样本。研究选择180个采样点的窗口,是因为对于典型成人的心率而言,0.5秒的时间间隔足以捕获一个完整的心动周期或其主要组成部分:P波、QRS波群和T波。每个片段的标签根据该片段中心位置的标注确定,从而确保片段标签与该窗口内主要心跳形态一致。滑动窗口方法应用了以下分割函数:

其中 si 是时间 i 时的 ECG 信号采样值。
归一化:
使用最小-最大缩放(Min-Max scaling)对分割后的 ECG 数据进行归一化处理,以确保所有特征的取值范围在 0 到 1 之间10。

此步骤有助于加快模型在训练过程中的收敛速度。
使用SMOTE进行类别平衡
在心电图数据集中,正常(N)心跳的样本数量远超异常心跳类别,表现出显著的类别不平衡。在完成分割、归一化和训练集-测试集划分后,对训练数据集应用了合成少数类过采样技术(SMOTE)以解决这一问题。
采用一个180维的特征空间来表示每个心电图(ECG)片段,该空间由180个归一化采样点构成。SMOTE方法利用欧氏距离确定每个少数类样本在其所属类别内的k个最近邻(k = 5)。SMOTE仅应用于训练数据,这些数据通过分层抽样被划分为70%的训练集和30%的测试集。这样可确保不向测试集中添加任何人造样本,从而避免测试结果受到过采样过程的影响。测试数据保持不变,保留其原始类别分布,仅用于对模型进行公正评估。因此,本研究中获得的高性能结果体现了模型真实的泛化能力,而非由于过拟合或因添加额外样本而导致的评分虚高。
训练集与测试集划分:
预处理和类别筛选后,使用分层随机抽样方法将数据集按70%–30%的比例划分为训练集和测试集。该分层基于类别标签,以确保每种心跳类别的相对比例在训练集和测试集中得以保持。
使用随机种子进行数据划分,以确保可重复性。每段心电图(ECG)信号仅出现在训练集或测试集中,不会同时存在于两者。为避免偏差和数据分布偏移,所有可能影响数据分布的预处理步骤(即通过SMOTE进行类别平衡)均在数据划分后仅针对训练数据执行。
在这方面,通过保持类别比例、采用随机分层方法,并将样本严格划分为训练集和测试集,该划分过程降低了样本中出现偏差的可能性,从而使性能指标能够反映模型的泛化能力,而非特定数据的残差。
数据集划分与类别分布
最终的数据集被划分为训练集和测试集,其中70%用于训练,30%用于测试。在应用SMOTE方法后,类别不平衡问题得到缓解,确保每种心律失常类型在训练集和测试集中均有充分代表。训练共使用了3,966,620个心电图片段,测试则使用了112,575个心电图片段。大量数据结合多种心律失常类型,使得构建能够有效识别真实心电信号中不同类型心律失常的模型成为可能。本研究采用深度学习模型对心电图心律失常进行分类。所选的五种心跳类型分别为:正常(N)、左束支传导阻滞(L)、右束支传导阻滞(R)、房性早搏(A)和室性早搏(V),这些类型遵循MIT-BIH心律失常数据库提供的标准化心跳标注以及AAMI心电图心跳标注指南。此处提及的五种心跳标注涵盖了属于心律失常大类中的重要心脏状况,且在P波、QRS波群和T波附近的心电信号中表现出独特的波形特征。
此外,这些类别在公开的ECG数据库中出现频率最高且标注最为一致,因此相较于其他基于ECG的心律分类方法,更易于验证其有效性。数据集采用跨患者方法进行划分,该设置确保了来自同一患者的ECG片段不会同时出现在训练集和测试集中。完成数据划分后,仅对训练集应用SMOTE方法,而测试集则不包含任何合成样本或重复的时间窗口。上述措施有助于避免片段级别的重叠,并在面对此前未见患者时支持真正的泛化能力。
SMOTE 处理前后的类别分布:
原始数据集在各类别之间存在显著的不平衡,其中正常(N)心搏样本数量较多,而异常类别的样本较少。在使用 SMOTE 之前,训练数据中包含约 133,320 个正常(N)心搏、8,075 个左束支传导阻滞(L)、10,431 个右束支传导阻滞(R)、4,489 个房性早搏(A)以及 60,682 个室性早搏(V)片段。为解决类别不平衡问题,仅对训练集应用 SMOTE 方法,将少数类别的样本数量增加至与多数类别相等。经过数据增强后,每个类别均包含 793,324 个片段,训练集总计达到 3,966,620 个心电图片段。测试集包含 112,575 个片段,保留了原始的类别分布,未进行过采样。该方法确保了对模型性能的公平且无偏的评估。
训练与推理
通过在配备 6 GB 显存的 NVIDIA RTX 3050 GPU 上测试训练和推理性能,评估了计算效率。训练过程在 60 个训练周期中耗时约 3.2 小时。每次对包含 180 个样本的数据段进行推理的延迟平均为 0.45 ms,具备实现实时应用的潜力。GPU 显存使用峰值达到 4.2 GB,模型仅有 180 万参数,相较于大多数基于 Transformer 的心电图(ECG)系统,显得更为轻量。
训练与推理过程包含以下步骤:
训练设置:定义学习率、批量大小和训练轮数等训练参数。
模型训练:在训练数据上训练CNN-Transformer模型。
验证:训练完成后,检查模型的验证准确率和损失。若性能良好,则保存模型;若性能不佳,则返回参数设置步骤,使用不同的训练参数重复该流程。
模型架构
整个CNN-Transformer结构包含四个主要部分:卷积特征提取、投影层、Transformer编码器以及最终的分类头。卷积模块首先是一个一维卷积层,包含32个滤波器,卷积核大小为3,步长为1,填充为1,后接一个ReLU激活函数。随后通过最大池化(池化核大小为2)降低信号的时间分辨率。在第一个卷积层之后,是另一个卷积层,包含64个滤波器,卷积核大小仍为3,步长为1,填充为1,再次使用ReLU激活函数,并进行另一次池化核大小为2的最大池化。上述操作的输出被展平后,通过一个线性投影层,将特征映射到128维的嵌入空间,然后输入至Transformer18,19。
该变换器模块包含两个编码器层,每个层均采用具有4个头的多头自注意力机制,以捕获心电图信号中的长距离依赖关系。每一层中均设有一个按位置的前馈网络,其隐藏层大小为256,并采用0.5的dropout率以缓解过拟合。每个子层之后均进行层归一化,以稳定训练过程。
对于分类头,它是一个全连接层,将维度从128降至64,随后再次经过ReLU激活函数和0.5的dropout。然后输出层包含五个神经元,对应心律失常的五个类别,并通过Softmax函数获得概率值。
一维卷积神经网络(CNN)模块:
该CNN模块包含两个一维卷积层,每个卷积层后均接一个ReLU激活函数和一个最大池化层。这些层有助于识别输入心电图信号中的空间关系。为了增强特征提取能力,在CNN层的每一步变换之后均额外应用ReLU激活函数。
第一卷积层:该层在输入信号上使用 32 个大小为 3 的滤波器。该过程可表示为:

其中 yi 为输出,wj 表示滤波器的权重,xi+j 为输入片段,b 为偏置项,σ 表示激活函数(ReLU)。所得特征图通过 ReLU 激活层以引入非线性:

池化层:每次卷积操作之后,应用最大池化步骤以将空间维度减半。此过程定义如下:

这有助于在保留最重要特征的同时降低计算负载。
第二卷积层:该层使用64个大小为3 × 3的滤波器来处理上一层的特征图,使模型能够检测更复杂的模式。卷积操作之后应用ReLU激活函数,以引入模型的非线性特性。

此步骤可确保模型从心电图信号中捕捉到详细的特征模式。
附加激活层:在卷积过程之后的每一步中应用 ReLU 激活函数,以帮助网络更好地捕捉复杂模式,确保模型关注正向激活。
展平过程:在第二次最大池化操作之后,特征图被展平为单个向量,以输入到变换器模块中。
Transformer 模块:
Transformer 模块包含两层多头自注意力机制,有助于模型理解随时间变化的心电图信号不同部分之间的关系。多头自注意力机制通过查看序列中每一对元素来实现。对于包含查询 Q、键 K 和值 V 的序列,注意力计算方式如下:

此处,dk 是键向量的维度,用于确保尺度不变性。
前馈层:每个自注意力输出都会通过一个具有 ReLU 激活函数的全连接前馈网络,随后进行层归一化。此步骤用于优化提取到的时间特征:

其中 W1 和 b1 是前馈层的权重和偏置。
批优先表示:该变换器采用批优先布局处理序列,确保与卷积神经网络模块的输入格式兼容。
全连接(稠密)层:
经过变换器模块处理后,输出序列被展平,然后通过两个全连接层进行分类。第一个全连接层将输入向量转换为128维的特征空间,并在此过程中对其进行重塑。

其中,W 为权重矩阵,x 为输入向量,b 为偏置向量。随后应用 ReLU 激活层:

随后采用丢弃率为 0.5 的 dropout 层以防止过拟合。
第二个全连接层:该层将128维特征映射到心跳类别数量(例如,心律失常检测的5个类别)。输出通过log-SoftMax函数计算对数概率:exp(xi)
混合CNN-Transformer模型
本文提出的模型是一种混合深度学习模型,结合了卷积神经网络(CNN)和Transformer的优势,能够同时利用空间和时间特征表示。该架构特别适用于处理复杂的长序列数据,例如生理信号。

该方程表示输入表示,其中 N 为样本数量,T 为时间步数,d 为每个时间步的特征维度。

该方程表示位置编码,其中 pos 表示序列中的位置;i 表示嵌入维度索引。
CNN 模块——局部特征提取
卷积神经网络(CNN)能够高效地学习序列数据中的局部依赖关系和形态模式,例如峰、坡或尖峰。卷积层在输入张量
上使用空间范围为
的
卷积核。每个输出通道 m 由以下公式确定:

= 输入通道数;K = 卷积核大小;W = 滤波器权重;b = 偏置
ReLU 函数
在这种情况下,
表示可学习的权重,而
是通道 mA 的偏置,随后应用非线性激活函数,例如修正线性单元(ReLU):

池化与特征压缩
池化层可降低特征图的空间或时间维度,保留重要特征并减少计算量。在窗口大小为
、步长为 s 的最大池化中,位置
处的池化特征为:

合并后的输出长度
![figure-protocol-25 卷积层输出尺寸公式 \(L_{\text{out}}=[\frac{L_{\text{in}}-s}{\text{stride}}+1]\)。](/files/ftp_upload/69541/69541eq25.jpg)
其中
为输入长度;步长(stride)定义了池化窗口滑动的步幅大小。该公式用于计算池化操作(例如最大池化)后特征图的输出长度,反映特征图在给定输入长度、池化尺寸和步长条件下的下采样程度。该过程将多维特征图转换为全连接层可用的向量形式。
Transformer 编码器——捕捉长距离依赖关系
Transformer 利用自注意力机制来学习序列中的长距离时序依赖关系17。
缩放点积注意力

Q、K、V 是通过学习得到的投影计算出的查询矩阵、键矩阵和值矩阵;
是用于缩放点积的键的维度。
多头注意力

每个注意力头独立计算注意力;输出结果被拼接后进行线性变换。
是每个注意力头对应的可学习投影矩阵。
是拼接完成后最终的投影权重18,19。
最终预测与损失
全连接层将特征映射为 logits,然后通过激活函数将 logits 转换为预测结果。在若干卷积层和池化层之后,
被展平为向量
。随后,一个全连接层计算类别 logits:

Sigmoid/Softmax 激活:

激活函数将模型的原始输出 `z` 映射为概率。Sigmoid 函数用于二分类问题,Softmax 函数用于多分类问题,以实现概率在各类别间的分布。其中,z 是线性输出(例如,最后一层:z = Wx + b)。输出值 ŷ 位于 (0, 1) 之间,表示概率20。
训练过程
训练在具备以下硬件配置的系统上进行:
处理器:AMD Ryzen 7 7840HS
CPU 内存:16 GB
GPU 内存:6 GB NVIDIA GeForce RTX 3050
模型使用 Adam 优化器进行训练,该优化器根据梯度的一阶矩和二阶矩在训练过程中自适应地调整学习率。Adam 的更新规则如下:

在此装置中,mt 和 vt 表示一阶和二阶矩估计,α 为学习率,ε 是一个用于防止除零的小常数。模型共训练了 60 个轮次,并采用早停法以防止过拟合。批量大小设为 1024,训练数据通过 PyTorch 的 DataLoader 加载到模型中。模型中引入了 Dropout 和批归一化,以实现正则化并加速收敛。Dropout 是一种正则化方法,在训练过程中随机关闭一定比例 p 的神经元,有助于减少过拟合。数学上,设 zi 表示第 i 个神经元的激活值th 神经元。在训练阶段,修正后的激活值 z' 计算如下:

其中 p 为丢弃率(例如,当丢弃率为 50% 时,p = 0.5)。在推理过程中,不应用丢弃操作,而是使用完整的网络。
神经网络的收敛性问题是显著影响医疗领域现有分类系统的一个关键因素,尤其当诊断结果因收敛不足而不一致时更为突出。近期关于预设时间优化方法和固定时间收敛的研究表明,仍有可能训练出在固定迭代次数内对所有初始状态均能收敛的模型。未来基于该模型的系统可引入预设时间优化.
批归一化:
批归一化通过归一化每一层的输入来稳定并加速训练过程。给定一个激活值的小批量 x = {x1,x2,。 。 。, xN,批归一化输出 xi .计算公式为:


其中 µB 和 σB2 分别为批次的均值和方差,ϵ 是用于数值稳定的极小常数,γ 和 β 为可学习参数,用于对归一化后的值进行缩放和偏移。批归一化有助于减少内部协变量偏移,并支持使用更大的学习率。这些技术与 Adam 优化器结合,可通过缓解过拟合并提高收敛速度,确保模型训练的鲁棒性21,22。
图3展示了机器学习模型训练过程中随训练轮数(Epochs)变化的验证损失(Validation Loss)和验证准确率(Validation Accuracy)。验证准确率(蓝色线条,右侧Y轴)起始值相对较低(约97.5%),在前10个训练轮次内迅速上升。随后持续提升,大约经过20个训练轮次后达到约99.7%至99.8%的水平。这表明模型在验证集上的学习和知识应用能力良好。验证损失(红色线条,左侧Y轴)起始值较高,随后在最初的几个训练轮次内(约2至3轮)急剧下降至接近零。此后在整个训练剩余过程中保持在接近零的平稳状态23,24。
访问受限。请登录或开始试用以查看此内容。
本节介绍了一种用于从心电图(ECG)数据中分类心律失常的混合深度学习模型。该模型在识别五种具有临床意义的心搏分类方面进行了评估:房性早搏、正常、左束支传导阻滞、右束支传导阻滞以及室性早搏。鉴于这些心律失常类别在临床上的重要性,以及数据集不平衡和信号变异性带来的挑战,进行全面评估至关重要。
在数据采集阶段的第一个预处理步骤中,收集了来自MIT-BIH心律失常数据库、MIT-BIH室上性心律失常数据库、圣彼得堡INCART 12导联心律失常数据库以及猝死心脏病Holter数据库的所有I导联数据集,如 图4所示。这些数据集包含高质量、已标注的ECG记录,涵盖了广泛的心律失常类型。每位患者的完整信号被划分为连续的180 ms片段,每个片段根据其类别标注进行标记。对于每位患者,通过将总信号持续时间(以毫秒为单位)除以180并向下取整至最接近的整数,计算出总片段数。所有I导联数据被合并成一个主数据集,即AllData.csv。该主数据集包含所有类别。图5
访问受限。请登录或开始试用以查看此内容。
在识别和分类来自心电图生物信号的心律失常方面,所提出的深度学习混合模型结合了Transformer结构和一维卷积神经网络(CNN),表现出优异的性能。该组合利用了Transformer通过自注意力机制学习全局时间依赖性的能力,以及CNN从原始心电图波形中识别局部空间特征的能力。该模型使用五种重要的心跳类别进行了测试:正常心跳、左束支传导阻滞、右束支传导阻滞、房性早搏和室性早搏。
CNN-Transformer 模型在各项性能指标(如 F1 分数、召回率、准确率、精确率、灵敏度和特异性)的综合评估中, consistently 优于基线模型,包括单独的 CNN、CNN-VAE(变分自编码器)和 TN4 架构。混淆矩阵显示,该模型在类别 L、R 和 V 上表现优异,五类心律中误分类极少且整体准确率极高。值得注意的是,正常(Normal)类别的 21,797 个样本被准确预测,几乎未被误分为其他类别。类别 A 也有 21,918 个正确预测,但与类别 N 存在一定重叠。这种重叠可能源于窦性心律与房性异位搏动在解剖学上的相似性,尤其是在信号噪声较大或振幅较低的情况下。
访问受限。请登录或开始试用以查看此内容。
作者声明无任何利益冲突。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| Adam 优化器 | 开源(PyTorch) | https://pytorch.org/docs/stable/optim.html | 一种优化算法,通过在反向传播过程中自适应调整学习率来训练深度学习模型。 |
| 硬件(计算系统) | AMD;NVIDIA | https://www.amd.com/en/products/processors/laptop/ryzen/7000-series/amd-ryzen-7-7840hs ; https://www.nvidia.com | 处理器:AMD Ryzen 7 7840HS;CPU 内存:16 GB;GPU:NVIDIA GeForce RTX 3050(6 GB 显存)。用于模型训练与评估。 |
| Imbalanced-learn | Imbalanced-learn | https://imbalanced-learn.org | 用于通过合成少数类过采样技术(SMOTE)实现类别平衡的 Python 库。 |
| Matplotlib | Matplotlib | https://matplotlib.org | 用于绘制心电图信号、混淆矩阵和性能图表的 Python 绘图库。 |
| PhysioNet 心电图数据库 | PhysioNet | https://physionet.org | 本研究中使用的心电图公开数据集,包括 MIT-BIH 心律失常数据库、MIT-BIH 室上性心律失常数据库、INCART 12 导联心电图数据库以及心脏性猝死 Holter 数据库。 |
| PyTorch | PyTorch | https://pytorch.org | 用于实现卷积神经网络(CNN)和 Transformer 模型、训练流程及推理的 Python 深度学习框架。 |
| Python | Python 软件基金会 | https://www.python.org | 用于数据预处理、模型开发、训练和评估的编程语言。 |
| Seaborn | Seaborn | https://seaborn.pydata.org | 用于统计图表绘制和结果可视化的 Python 数据可视化库。 |
| WFDB | WFDB | https://wfdb.readthedocs.io | 用于读取、写入、处理和绘制来自 PhysioNet 数据库的生理信号及其标注信息的 Python 软件包。 |
访问受限。请登录或开始试用以查看此内容。
申请许可以重复使用本 JoVE 文章的文本或图表
申请许可