APP下载

基于变权重奇异谱分析的心律不齐识别方法

2022-04-02李鸿儒任子洋黄友鹤

关键词:分类器模态准确率

李鸿儒, 任子洋, 黄友鹤, 于 霞

(东北大学 信息科学与工程学院, 辽宁 沈阳 110819)

年龄的增长以及饮食作息的不正常导致心脏逐渐衰弱,并伴随着慢性疾病的发作,这会对人体造成巨大损伤.临床医护人员对于心电图(electrocardiogram, ECG)的分析往往需要结合自身的经验,这使得诊治具有主观性且需要一定的时间成本.心脏病早期的体现通常为心律不齐,因此对于心律失常的智能分析识别在心脏病预测的研究中具有重要意义.

早期对于ECG的分析一般包括预处理、特征提取和分类三个环节[1].最早的研究[2-3]从形态学出发,有效提取了ECG的主要组分,也有学者采用频域算法,包括小波变换[4-7]和经验模态分解[8-9]等算法,以较小的失真获得具有不同频率特性的子序列.但小波变换在提高时间精度的同时会损失频率精度,经验模态分解存在模态混叠的现象,二者的分解序列均存在部分畸变.Yucelbas等[10]对比了奇异值分解、变分模态分解和小波变换在ECG分类中的性能,奇异值分解的识别性能明显高于其余二者,因此在考虑保留形态完整性的前提下如何提高频率信息的分离效率是后续识别的关键.Barrios等[11]最早提出一种基于奇异谱分析(singular spectrum analysis, SSA)的心电信号与肌电信号分离算法,在时域和频域上,与传统的信号分离算法进行对比,均具有更好的性能;还有围绕着SSA与心电去噪的研究[12-13],也验证了该算法相较于传统算法的高效性.现有的研究对ECG进行拆分后没有考虑到子序列所包含信息量对于最终决策的贡献,直接将定值权重或者去除高频的分量子序列作为输入样本.文献[14-15]结合多个分类器并配置不同权重进行投票分类,明显提高了小样本类别的识别精度.变权重可以增强包含信息量高的子序列对于识别系统的影响,因此根据子序列的信息量进行加权处理可能会更好地表达有效信息.

深度学习应用于心电领域的研究主要围绕着卷积神经网络(convolutional neural networks, CNN)[16-20]、循环神经网络(recurrent neural network, RNN)[21]以及长短期记忆网络(long short-term memory, LSTM)[22-23]开展.相较于独立的CNN与LSTM,基于1D-CNN和LSTM结合[24-26]的模型在最新的研究中被证明具有更强的分类性能.Huang等[27]提取频谱图并利用2D-CNN 网络层进行分类;Yildirim[28]提出了一种基于小波分解序列的双向LSTM网络模型,利用小波变换提取的序列分量进行训练,结合心电信号不同频率特性组分的学习大幅度提高了识别精度.因此,使用更好的分解方法挖掘有效信息并与深度学习结合是提升识别效果的一个方向.

综上所述,为了权衡心电信息中不同模态的信息量,本文提出了一种变权重SSA与CNN,LSTM连接的组合网络,采用由决策目标主导的可变权重代替传统的固定不变权重,对奇异谱分解后包含不同信息量的模态进行变权重处理,然后将变权重后的分量模态重组为新的序列输入至CNN-LSTM网络中进行分类.同时对比了多种权重计算算法,选择识别精度最高的随机森林分类器各个特征的基尼系数作为权重,利用变权重的序列训练深度学习模型,更高效地挖掘潜在的信息,从而提升心律不齐的识别精度.

1 数据库介绍

1.1 数据集划分

美国麻省理工学院开发的心律失常数据库MIT-BIH记录了48名病人30 min 2个导联的心电信号和类别标签.部分研究按照正常(N)、左束支阻滞(LBBB)、右束支阻滞(RBBB)、房性早搏(APC)和室性早搏(PVC)五类进行分类.研究者的分析主要围绕着患者内(intra-patient)[29-30]和患者间(inter-patient)[31-32]两种分类方式展开.Chazal等[33]将这些病人的记录分为2个数据集DS1和DS2,前者用于训练模型并评估分类器性能,后者用于测试分类结果的有效性.这两个样本集合所包含的病人序号如表1所示.

表1 MIT-BIH库中划分的数据集DS1,DS2

Kiranyaz等[34]提出patient-specific的分类方式,从测试集数据中提取5 min的数据(占整体测试集的15%~18%)加入训练集,可以一定程度克服患者间的特异性.因此本文选择从DS2中取出每个病人前15%的数据加入训练集,表2为本文数据集的构成.

1.2 预处理

对于较长时序的心电信号需要进行逐拍的划分,每个心拍应该包括P,Q,R,S和T波段,一般以R波峰为中心,本文采用Pan-Tompkins算法[35]检测出R波峰,并取前127个节点和后128个节点,作为单个心拍的样本序列.将提取到的多个序列进行z-score标准化,这种处理有助于多种ECG序列的形态统一,在后续奇异值计算时,也会减少主成分幅值过大导致的权重失衡.

2 算法结构

本文提出一种变权重子序列与深度学习分类器结合的心律不齐识别算法,结合SSA与随机森林下的基尼系数提取变权重子序列,将其作为1D-CNN与LSTM组合网络的输入,进行心律不齐的识别,图1为本文的算法流程框架.

图1 算法流程框架

2.1 奇异谱分析

SSA是一种基于相空间重构的信号分解法,通过奇异值分解得到原始信号的不同成分序列,奇异值较大的序列为ECG的主要平稳信号,奇异值较小的序列则代表ECG的高频组分.信号分解主要包括嵌入、分解、分组和对角平均化四个过程,首先对于时间序列[x1,x2,…,xN],N=256为序列长度,利用合适长度为8的序列窗口建立轨迹矩阵X,通过奇异值分解(singular value decomposition, SVD)实现轨迹矩阵的拆分变换,计算协方差矩阵XXT的特征值λ1>λ2>…>λL≥0和对应的特征向量[U1,U2,…,UL]:

(1)

将初步得到的子序列进行分组,按照分段计算的方式,依次将分组后的第I组矩阵XI=(yij)L×k取对角平均化,得到维度复原后的新序列[yrc1,yrc2, …,yrcN].

(2)

利用提取到的奇异值训练随机森林模型,对于各个决策树下节点的基尼系数,按照式(3)计算:

(3)

其中:K为类别总数;pk为样本权重.对于特征在节点m上的重要性可根据该节点基于该特征进行进一步分枝前后的基尼系数负增长值来衡量,GIi和GIr分别代表分枝前后的基尼系数,再将全部决策树各个节点的特征重要值累加并进行归一化,得到分类器的特征urcj的重要度:

(4)

(5)

2.2 神经网络结构

1D-CNN具有局部连接、权值共享的特点,对分析ECG这种具有周期性且长度固定的时间序列问题有很好的效果,可以帮助减少参数,节约模型训练的时间成本.LSTM主要应用于时序样本数据分析,有效改善了RNN中存在的长依赖问题.其内部组成包含三个门控单元,遗忘门能够控制该节点记忆变量对于前一时间步长记忆变量的继承程度;输入门计算新的记忆变量的补充量及其权重,用于更新随着时间步长传递的记忆变量;输出门决定该节点的记忆变量对于输出变量的影响权重.通过三个门控的配合可以保留序列早期阶段的梯度影响,得到最终节点的输出.

本文采用多层CNN与LSTM连接的组合网络,将CNN的输出作为LSTM的输入,在减少计算复杂度的基础上进行时序数据的分析,图2为神经网络整体结构.

图2 神经网络结构图

对于网络结构中的参数更新,则需要一个非凸优化的损失函数,本文采用交叉熵损失函数并以Adam的方式进行参数优化更新.

(6)

3 实验结果及分析

3.1 评价指标

关于网络训练结果性能的比较,本文采用灵敏度(sensitivity, Sen)、特异性(specificity, Spe)、准确率(accuracy, Acc)以及综合性能描述指标F1-score,Macro-F1进行评判.各项指标的计算如式(7)所示,其中Macro-F1为各类别的F1-score均值.

(7)

3.2 分解序列

将提取到的多个心拍样本通过SSA获得多个分解序列,采用大小为8的窗口进行轨迹矩阵构建,最后划分整合到8个序列.图3为分解后子序列与初始信号对比图,图3a为初始信号,图3b为分解后的多个子序列,横轴为256个采样点,纵轴为幅值.

图3 子序列可视化

将奇异值分解得到的多个子序列特征值作为每个样本的特征,训练各个分类器,按照式(3)计算得到各个子序列所对应的权重,表3为各个分类器得到的权重.

表3 特征权重

3.3 模态分量的训练结果

将提取到的序列输入到图2中的网络模型中,进行神经网络的训练,迭代训练200次后,模型准确率及损失函数不再产生较大变化,最终对于DS2的分类准确率最高可达到98.35%,模型训练过程的准确率上升曲线及最终得到的DS2分类混淆矩阵如图4所示.

图4 模型训练过程及分类混淆矩阵

模型对于训练样本的学习逐渐收敛,最终训练集的分类准确率接近100%.从表4中可以看出,测试集识别结果的灵敏度和准确率较高,N类的特异性接近99%,模型对于LBBB和RBBB两类具有较好的综合能力.

表4 识别性能指标

本文采用五折交叉验证对非变权重子序列、非变权重去噪子序列(仅保留奇异值总占比平均达到95.81%的前三个子序列)、变权重去噪子序列及变权重子序列作为输入的识别方法性能进行了对比,同时采用多种计算权重的算法以说明随机森林计算权重的有效性,对比实验结果如表5所示.

表5 变权重SSA的识别性能对比

从表5中可看出,变权重子序列的识别性能相较于非变权重子序列在各项指标均有明显提升,这证明变权重的方式高效地保留了与决策相关的信息.为了说明变权重算法的优越性,本文也进行了去噪后子序列的变权重对比实验,如表5中的第4,5行所示,在预处理去噪后,变权重的学习方式依然能够明显增强识别性能,因此本文的算法对于ECG分解子序列的选择具有一定适应性.

为了说明随机森林权重的高效性,本文采取了其他权重计算(分类)方法,包括主成分分析、线性判别分析与AdaBoost算法,对比结果如表6所示.

表6 不同权重算法的识别性能对比

本文结合变权重的小波分解序列及变分模态分解的模态分量作为输入样本进行对比说明,其中小波分解选择db6小波基获得8个子序列,变分模态分解设置保真度系数及中心频率更新参数为0、中心频率初始化参数为1及惩罚因子为2 000,获得8个模态分量,二者的分类准确率均低于基于SSA分解子序列输入的模型算法.本文的算法在各类的指标上均取得了更好的效果,说明SSA对于决策目标的表征能力较强.表7为上述三种分解算法五折交叉验证下平均识别性能的对比.

表7 小波分解与变分模态分解的识别性能

3.4 讨论

随机森林内部的参数设置会改变最终的识别准确率,包括其弱分类器数量的影响,表8为不同个体分类器数量下的准确率.

表8 不同数量个体分类器的识别准确率

从表8中看出,随机森林的结构差异产生的权重变化会影响到最终的识别效果,复杂的结构会带来模型的过拟合,因此权重的最优决策有助于提高识别准确率.

表9为现有的心律不齐识别研究成果对比.文献[31,36-38]未采用深度学习进行分类,利用传统的特征和分类器,识别精度相对较低.文献[37]的研究得到较高的识别准确率,但由于患者内的识别任务无法解决样本间差异的问题,存在较大的泛化误差,而文献[24]的研究未进行数据平衡,大类的样本数量远超小样本数量.本文利用变权重的子序列,对于数据平衡后的样本,提高了患者间分类的准确率.由于缺少临床的数据,因此无法对线下病例进行实际验证.

表9 心律失常识别的研究

4 结 语

本文以均衡不同频率特性子序列间的信息量为目的,提出了一种基于变权重奇异谱分析和深度学习结合的心律不齐识别算法.选择奇异谱分析算法对心电信号不同频率特性组分进行分离,结合奇异值训练随机森林模型并得到各个特征的基尼系数作为权重,低频序列的权重值占比较大,而高频组分则权重较小.将变权重子序列用于训练神经网络模型,最终测试集分类准确率为98.35%.通过仿真对比,奇异谱分析相较于小波分解、变分模态分解,分解得到的多个模态子序列作为输入样本的识别精度最高,子序列所包含的信息更加有效.而变权重的学习方式可以增强高信息量子序列对于识别系统的影响,相较于以往研究的权重统一,在各个指标上均有明显提升.为进一步验证算法的有效性,在现有研究去噪处理后加入变权重环节,仍然能够得到识别性能提升的结果.因此本文的算法有效增加了高信息量子序列的权重,使潜在的有效信息得到更好的表达,进一步提高了识别精度.对于权重的计算算法,仍未寻找到严格意义上的最优决策,因此寻求一个计算最佳权重的自适应算法对于后续变权重的心律不齐识别研究有重要意义.

猜你喜欢

分类器模态准确率
基于BERT-VGG16的多模态情感分析模型
学贯中西(6):阐述ML分类器的工作流程
多模态超声监测DBD移植肾的临床应用
跨模态通信理论及关键技术初探
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于朴素Bayes组合的简易集成分类器①
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
基于特征选择的SVM选择性集成学习方法