基于SVM+XGBoost集成分类器的inter-patient心律失常心电信号分类

2020-11-27 07:34徐晨华叶思超丰云杰乔清理
国际生物医学工程杂志 2020年5期
关键词:准确度范式分类器

徐晨华 叶思超 丰云杰 乔清理

天津医科大学生物医学技术与工程学院300070

0 引 言

心血管疾病的患病率及死亡率逐年上升,加强预防与诊治工作刻不容缓。心律失常是心血管疾病最显著的一种表现,是由于心脏电功能系统紊乱而导致的节拍异常。严重的心律失常可能会导致短暂的意识丧失、心脏骤停甚至猝死。虽然,大多数心律失常是无害的,但需要及时识别,以预防发生更严重的问题。

在临床中,医生主要依据患者心电图(electrocardiogram,ECG)波形以及心拍持续时间来判断心律失常的类型及危险程度。然而,ECG 数据非常繁杂,以人力进行分析既费时又费力,且分析结果易受医生的状态及临床经验的主观影响。因此,一种便捷、准确、高效的心律失常分类方法非常重要。

目前,机器学习方法已被用于基于ECG 数据的心律失常分类。其中,根据不同类型ECG 信号之间的形态学差异性,提取R-R 间期、形态特征、小波分量等特征[1-3],并将其组织为一组可区分心律失常的特征数据;将这组特征数据输入支持向量机(support vector machine,SVM)[1]、K-近邻[4]、随机森林[5]等分类器,可其进行参数优化及测试,最终确定心律失常的类型。近年来,研究者开始将深度学习技术应用于基于ECG 数据的心律失常分类[6-7]。深度学习方法能自动提取特征,但该方法具有“黑匣子”特性,导致所得的最终结果难以被解释,限制了其在临床上的广泛使用[8]。

目前,大多数心律失常分类方法在intra-patient范式下进行[2-3,5,7]。在该范式下,同一患者的ECG 数据同时被分配到训练集和测试集。虽然该方法准确度较高,但其模型训练需要患者的标注数据,不符合实际应用场景。为此,研究者提出了inter-patient范式[9],其通过精心地划分训练集和测试集,在保证两个数据集中,各类心拍数据量相当的情况下,避免了两个数据集包含来自同一患者的任何记录。但由于ECG 数据存在个体差异性,导致在inter-patient范式下训练得到的模型在测试集上的准确度较低。

为了提高模型分类的准确度,并平衡对各类心律失常的识别能力。本文中,采用极限梯度提升(eXtreme gradient boosting,XGBoost)方法,将各个相互独立的分类器的决策结合起来,以改进最终的预测。XGBoost 是Boosting 集成算法中的一种[10],其基于决策树预测的残差进行迭代,在学习过程中通过赋予错分的样本更高的权重来逐步聚焦于基分类器分错的样本,减小最终集成分类器的偏差。在研究中,根据每一类特征分别训练独立的SVM 模型,使用XGBoost 算法对各独立SVM 分类器进行集成,将所有独立SVM 模型的分类结果输入集成分类器对心律失常做最终决策。使用MIT-BIH 数据库中的ECG 数据对模型进行训练和测试。通过与其他心律失常模型的比较,证明该集成模型的有效性。

1 ECG 样本

研究所用的ECG 数据来自MIT-BIH 数据库[11]。MIT-BIH 数据库中包含来自47 名受试者的48 条双通道动态ECG 数据。医疗器械促进协会(The Association for the Advancement of Medical Instrumentation,AAMI)将MIT-BIH 中的ECG 数据分为五类,见表1。因为,Q 类为未能分类的节拍,不具备临床意义,因此只对正常(N)、室上性异常节拍(S)、心室异常节拍(V)、融合节拍(F)4 类数据进行研究。

表1 根据AAMI 2012 标准分类的心电图节拍

根据inter-patient 范式对模型数据进行训练和测试。由于第102、104、107、217 组数据来自使用了心脏起搏器的受试者,因此将其剔除。最终,训练集和测试集分别包含22 条数据,见表2。

2 方 法

心律失常分类器主要包括特征提取和分类2个模块。为了提高分类器的分类性能,结合SVM 和XGBoost 方法,建立集成分类器,如图1 所示。该集成分类器包括预处理、特征提取、SVM 训练、集成分类4 个模块。首先,将ECG 信号进行预处理,包括去噪、数据增强;其次,提取R-R 间期、ECG 信号的高阶统计量(higher-order statistics,HOS)、局部二值模式(local binary patterns,LBP)、小波分量,并将上述数据作为特征输入;再次,根据每一种特征分别训练一个独立的SVM 模型;最后,使用XGBoost 算法对单独的模型结果进行集成分类,从而输出心律失常类型。下面,将分别对分类步骤详细介绍。

2.1 预处理

2.1.1 去除基线漂移噪声

影响ECG 信号自动分类的因素有很多,其中最重要的是噪声干扰,如基线漂移、运动伪影等。在本研究中,选用Daubechies 小波基函数(DB8)[12]对原始ECG 信号进行9 级分解。因为,第9 级ECG 分解信号的频率低于0.5 Hz,与基线漂移(<0.5 Hz)的频率相近,因此去除第9 级分解信号即可得到去除基线漂移后的信号。至此,ECG 信号中的基线漂移噪声被去除,且ECG 信号的原始特征得到了保留。

表2 心电图数据集划分

图1 集成分类器结构

2.1.2 数据增强

MIT-BIH 心律失常数据库中的ECG 数据极度不平衡。数据不平衡会导致分类器对稀少样本刻画不足,从而难以对其进行分类,极大影响模型性能。因此,采用少数过采样技术(syntheic minority oversampling technique,SMOTE)[13],并基于稀少样本之间的特征空间相似性,创建人工数据,对稀少样本进行增强。数据增强后,训练集中的N 类数量(45 808)保持不变,而每类稀少样本(S、V、F 类)数量增加至45 808,可匹配N 类样本,见表3。测试集用于模型的评估,因此不进行数据增强处理。

表3 数据增强前后训练集和测试集样本数

2.2 特征提取

基于MIT-BIH 数据库中的ECG 数据并以R 峰为中心,选择180 个采样点为操作窗口,计算所有特征的参数,包括R-R 间期、HOS、小波分量、1-D LBP。

2.2.1 R-R 间期

R-R 间期表示两个相邻节拍R 峰的时间间隔。心律失常会引起R-R 间期的宽度发生变化,因此RR 间期具有较好的心电节拍类型分辨能力。研究中,选用5 种R-R 间期特征:Pre-RR,指当前R 峰与前一个R 峰之间的距离;Post-RR,指当前R 峰与下一个R 峰之间的距离;Local-RR,之前10 个Pre-RR 值的平均值;Global-RR,20 min 内产生的Pre-RR 值的平均值;Diff-RR,前一个RR 间期与后一个RR 间期的差值。

此外,将R-R 间期数据归一化,即将它们除以相同ECG 数据内的平均值。实验中,共产生10 个R-R 间期特征。

2.2.2 高级统计量

HOS 不仅可用于识别非线性系统,还可用于抑制噪声,并提取非高斯信号的各种信号特征。实验中,通过HOS 创建10 维特征,将每个节拍分为5 个间隔,计算每个心拍的峰度和偏度,提取ECG 信号的形态学特征。

2.2.3 小波分量

小波变换能将ECG 信号分解成不同频域的序列,计算低频系数和高频系数的能量谱。同时,可提取时域特征,如ECG 信号的形态、能量、峰值等。实验中,根据具有3 阶分解的Db1 基函数,共创建23维特征向量。

2.2.4 1-D LBP

1-D LBP 算法是在LBP 算法上发展而来的,并在脑电信号处理、语音信号处理中得到了广泛应用[14]。1-D LBP 算法具有操作简单、抗噪能力强、对快速变化的信号灵敏度高等优点,适用于ECG 信号等一维信号的处理。实验中,共创建了59 维特征向量。

2.3 分类方法

分类时,先根据每一类特征训练SVM 分类器,再将SVM 的分类结果输入XGBoost,进行最后分类。

2.3.1 支持向量机

SVM 是最大边缘分类器[15],其将输入矢量映射到高维空间,构造最大分离超平面以区分两个不同的类。实验中,使用一对一方法构造多类分类器。当样本数量非常大时,其更适合处理不平衡数据,且训练速度更快。其中,径向基内核为SVM 的核函数。

2.3.2 极限梯度提升

集成分类器具有优异的泛化能力,能获得更加平衡的结果。实验中,根据每一类特征分别训练一个独立的SVM 模型,使用集成分类器进行心律失常的最终决策。

XGBoost 算法的主要组成部分是回归树,XGBoost 通过集成的方法将多个回归树组合起来进行分类。初始树可表示为

第t 轮模型可表示为

其中,T 为叶子节点的个数,γ 和λ 为惩罚力度,w为叶子节点的权重。为L2 惩罚项,最终目标函数为

XGBoost 集成分类器的各参数设置见表4。

表4 XGBoost 集成分类器的参数设置

2.4 模型性能评估

常用模型评估指标有Acc、Se、P+等。其中:Acc表示所有样本被正确分类的概率(准确度);Se 表示真实阳性样本中阳性样本的检出率(灵敏度);P+表示阳性检测的样本总数中,真实样本占阳性检测样本总数的百分比(阳性预测值)。为了评估模型性能,计算了模型分类的准确度Acc,灵敏度Se 和阳性预测值P+。

其中,TP(true positive)为真阳性 数,FP(false positive)为假阳性数,TN(true negative)为真阴性数,FN(false negative)为假阴性数。

3 实验结果

3.1 特征评估

根据每一类特征,训练了独立的SVM 模型,以便比较特征的单一性能。表5 显示了在测试集(DS2)上的不同特征参数训练的模型的预测结果,包括对4 类ECG 数据预测的灵敏度(Se)和阳性预测值(P+),平均Se 和P+,总体准确度(Acc),其中最优值已用加粗字体表示。

结果表明,R-R 间期对N 类信号的阳性预测值最高(0.986),对F 类信号有最高的灵敏度(0.933);HOS 对F 类的识别能力仅次于R-R 间期;小波分量对心律失常(S 类和V 类)有最高的灵敏度(分别为0.785 和0.833);1-D LBP 对N 类显示出最优的灵敏度,但对其他类别的分类效果较差。

3.2 独立分类器与集成分类器的性能比较

为提高模型性能,将所有独立SVM 模型的分类结果输入XGBoost 算法,进行最终决策。图2 显示了集成模型的混淆矩阵,每一行显示真实样本数,每一列显示预测样本数,对角线上的数据表示预测正确的样本数。

如图2 所示,大部分ECG 信号被准确分类,但对部分N 类和S 类数据无法准确判断,这是由于N类和S 类波形具有较高的相似度。此外,由于F 类数据的心拍数较少,导致对F 类的特征提取不够精确,使部分N 类数据被错分类为F 类。

为证明集成分类器性能提升的主要原因是由于各独立分类器决策的结合,将组合后的特征分别输入至单SVM 分类器、单XGBoost 分类器、SVM+XGBoost 集成分类器进行训练、测试和比较。表6 中列出了单一及集成分类器的性能测试结果。

表5 各个特征训练的独立SVM 模型在DS2 数据集中的测试结果

图2 集成分类器在DS2 数据集中的测试结果

性能测试结果表明,3 种分类器的准确度均高于0.86。XGBoost 分类器的准确度最高,但该分类器与SVM 分类器在识别S 类和F 类信号时的灵敏度都较低,基本不能做出有效划分。集成分类器对S类和F 类信号有最高的灵敏度和平均灵敏度。与SVM 分类器相比,集成分类器在各方面的性能都有较大提升。

3.3 与其他分类器的比较

为了验证模型的分类性能,分别在intra-patient范式和inter-patient 范式下与其他分类器进行比较,其中不改变方法,对训练集做数据增强,且保持测试集不变。intra-patient 范式下的比较结果见表7,inter-patient 范式下的比较结果见表8。

表7 intra-patient 范式下各分类器的分类结果

使用十倍交叉验证在intra-patient 范式下的结果表明,与文献[7]和文献[16-17]中的方法相比,集成分类器的分类准确度为0.964,灵敏度为0.699,阳性预测值为0.913。

对于inter-patient 范式下的结果,文献[18]中的方法获得了最高的准确度,但其对S 类信号的灵敏度仅为0.2,且其准确度依赖于对N 类信号的准确划分。在临床中,错分异常节拍的代价明显大于错分正常节拍的代价。文献[19]的方法对N 类、S 类、V类信号的灵敏度和阳性预测值均较高,但对F 类信号的灵敏度最低,且总体准确度较低。文献[9]中的方法对各类别信号的分类能力较为均衡,且对于F类信号有最高的灵敏度,但其对N 类和V 类信号的分类表现及总体准确度不如集成分类器。

4 讨 论

本研究中,提出了一种基于SVM+XGBoost 集成分类技术的心率失常ECG 信号分类器,利用MITBIH 数据库中的数据进行模型训练和测试,并与其他心律失常分类器进行比较。结果表明,所提出的分类器在inter-patient 范式下取得了较好的分类结果。

表6 独立分类器与集成分类器对心率失常心电信号的分类结果

表8 inter-patient 范式下各分类器的分类结果

通过特征评估,各分类器的优劣可直观地通过灵敏度、阳性预测值、准确度表现出来。结果表明,在相同的实验条件下,与SVM 分类器相比,集成分类器有更高的灵敏度。因为集成分类器充分利用每一类特征的特点及类别之间的差异性,以降低N 类灵敏度为代价获得了更加均衡的结果。

此外,在intra-patient 范式和inter-patient 范式下,与文献中报道的其他分类器相比,集成分类器对各类心律失常的分类性能更为均衡。MIT-BIH 数据库中S 类和F 类ECG 数据的占比较小,导致在特征提取时,难以提取出更多的有效特征。本研究中,通过使用数据增强和多分类器结合技术,在一定程度上缓解了数据不平衡带来的影响。

本研究的不足之处在于,利用不平衡数据集对模型进行训练和测试。尽管MIT-BIH 数据库是最广泛使用的数据集,但其中各类心律失常ECG 数据样本的数量极不平衡。另外,本研究是在R 峰检测的基础上进行。在实际应用中,在模型训练之前加入R峰检测的工作,会引入一定程度的识别误差,从而影响识别和分类效果。因此,在后续的研究中,将收集和标注更多的ECG 信号,以改善数据集的平衡性。此外,将结合R 峰检测,优化模型和训练过程,进一步提高模型的分类准确度。

5 结 论

为了提高inter-patient 范式下对心律失常ECG数据的分类效果,提出了一种集成分类器。根据每一类特征训练SVM 分类器,再结合XGBoost 算法构建集成分类器。根据inter-patient 范式,将集成分类器在MIT-BIH 数据库上进行训练和测试,并通过准确度、特异性、灵敏度评估集成分类器的性能。结果显示,集成分类器提升了分类效果,获得了较好的准确度和灵敏度,并且优于文献中报道的其他心律失常ECG 信号分类器。提出的集成分类器可用于医疗决策支持系统,辅助医生诊断心律失常。

利益冲突所有作者均声明不存在利益冲突

猜你喜欢
准确度范式分类器
以写促读:构建群文阅读教学范式
范式空白:《莫失莫忘》的否定之维
Phosphatidylinositol-3,4,5-trisphosphate dependent Rac exchange factor 1 is a diagnostic and prognostic biomarker for hepatocellular carcinoma
孙惠芬乡土写作批评的六个范式
幕墙用挂件安装准确度控制技术
管窥西方“诗辩”发展史的四次范式转换
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
动态汽车衡准确度等级的现实意义
基于层次化分类器的遥感图像飞机目标检测