掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明提供一种基于shapelet将心电信号转换成图结构的分类方法,属于心跳信息分析技术领域。

背景技术

由于在对人体状态监测中,心电图容易受到各种干扰信号的影响,临床往往要基于人工根据常识主观忽略受严重干扰的心电波形,再进行判断。这种基于人工分析的心电图识别不但效率低、实时性差,而且容易导致诊断结果误判。

传统分析方法常通过提取心电信号特征对信号进行分类。近年来,随着深度神经网络技术和人工智能等技术的兴起,应用深度学习方法对心电信号分类的研究也日渐增多。然而,无论是传统分析方法还是机器学习分类的方法都只是对心电信号的分类,即识别心电信号是正常信号还是异常信号,现有技术中缺乏对心电信号中的异常事件分类的相关方案。随着对时间序列研究的不断深入,当前数据挖掘、深度学习、机器学习等技术广泛用于金融、医疗、生物等诸多领域,其目的是为了获得不同序列的特征,同时心电图数据也是一种时间序列数据,而时间序列shapelet算法在处理时间序列领域内的问题能够发挥有效的作用。时间序列建模旨在发现按时间顺序排列的数据中的时间关系。这里的关键问题是如何提取时间序列的代表特征。以前框架的很大一部分范围从经典的特征工程和表示学习到基于深度学习的模型,而大部分深度学习的模型都是端到端的学习方式,虽然这些方法取得了良好的性能但它们也因缺乏可解释性而受到批评。另一方面,时间序列shapelet是代表一个类别的时间序列子序列,可以在分类场景中提供直接可解释和解释性的见解。

事实上,心电信号中的异常事件对于心电信号分析至关重要,心电信号中的异常事件包括心肌梗塞、心力衰竭、心律失常、束支传导阻滞、后壁心肌梗死等等,然而现有技术中对心电信号中的异常事件分类的相关方案缺乏一定的解释性和准确度。本发明采用的时间序列shapelet能够有效的对心电信号进行提取特征并利用深度学习模型GCN对数据集进行分类,从而使结果更加准确。

发明内容

针对上述现有技术存在的问题,本发明提供一种基于shapelet将心电信号转换成图结构的分类方法能够有效的进行心电信号的识别,该方法省时省力,能够有效的分析心电图数据,提高识别效率和准确率。

为实现上述技术目的,本发明的一种基于shapelet将心电信号转换成图结构的分类方法,其特征在于:通过时间序列shapelet算法将不同的心电图数据信号转化为shapelet特征序列,利用shapelet特征序列构建shapelet转换矩阵,利用shapelet转换矩阵捕捉shapelet随时间演化过程,以体现心电信号特征随时间的变化;

具体步骤如下:

S1:从诊断心电数据库中获取代表不同心脏特征的多组心电图数据信号,将多组心电图数据信号组成心电图数据集T={t

S2:对获取的心电图数据集进行预处理,利用小波变换去噪算法对心电图数据集中的各组心电图数据信号进行降噪处理;

S3:采用小波模极大值结合可变阈值法对降噪后的每组心电图数据集进行处理:先使用Mallat算法对降噪后的心电图数据集进行变换,再通过对心电图数据集零点进行定位,从而对心电图数据集在时域空间上的R波峰值定位;

S4:利用R波峰值的定位信息以及心电图的周期信息,将对应该组心电图数据集划分为多个子序列,通过时间序列shapelet算法提取每个划分出来的心电信号子序列的特征序列,并将提取出来的特征序列定义为shapelet特征序列;

S5:将提取的shapelet特征序列构建图结构的shapelet转换矩阵,即有向加权图G,并根据多种不同心脏状态的心电图信号对应生成多个shapelet转换矩阵:使用shapelet转换矩阵学习心电信号序列的表示,shapelet特征序列作为图结构的每一个节点,并根据每个shapelet特征序列之间的权重关系来确定每个节点之间的权重进而构造有向加权图G=(V,E),其中V代表有向加权图G中的每条顶点,V由K个顶点组成,每个顶点表示一个shapelet特征序列,通过这个序列构造的节点,有向加权图G的每个有向边e

S6:设定图卷积神经网络GCN的常规模型参数,将shapelet转换矩阵对应的有向加权图G数据集划分为70%的训练集和30%的测试集输入图卷积神经网络模型GCN中,设置GCN模型各参数后进行训练,通过图卷积神经网络模型GCN的卷积操作后再经过Softmax函数得到每个不同特征心电信号样本的概率,利用GCN模型处理心电信号转换成的有向加权图G,有向加权图G中每个节点对应一个shapelet特征序列,代表一种心脏疾病的心电信号的特征序列;经过模型训练后可以获得每个节点的一个向量值,也就是每一种心脏状态的疾病,然后经过softmax函数得到每一个向量的概率达到分类的目的,并对输出类别的预测概率进行归一化处理,从而识别出患有不同心血管疾病的病人的心电信号。

进一步,其特征在于,利用小波变换去噪算法对心电图数据信号进行降噪处理的具体步骤为:

S2.1、选择Coifiet小波系中的coif4作为小波去噪中的小波基函数是对心电信号进行时域以及频域分析的最为理想的工具;

S2.2、采用公式(1)根据心电图的采样频率和噪声频率来确定去噪过程中的小波分解层数j;

式中,f

S2.3、根据公式(2)采用离散小波变换对心电信号进行去噪;

式中,Ψ

进一步,利用公式(3)计算有向加权图的权重;

式中,

进一步,提取心电信号shapelet特征序列具体包括:

S4.1、为保证不同心跳样本数据的真实性每一次心跳共设多个个采样点,其中心电信号集T={t

S4.2、选取候选shapelet片段,为了从候选池心电信号序列中选取候选shapelet片段,使用贪心算法策略从所有可能的子序列中选取候选shapelet片段,通过最大优化所选shapelet之间的对等距离,从而满足搜索空间;

S4.3、心电信号序列t被分割为m个段,即t={s

S4.4、shapelet v特征序列可以将心电信号T分成两个或更多更小的集合,一些接近v,另一些根据标准远离v,这样对于时间序列分类任务,从而将不同心电信息样本放入不同的组,此时标准损失为:

进一步,步骤S5具体步骤如下:

S5.1、首先根据时间序列的时间差异性将每个心电信号序列的每个段s

为了衡量分配的合理程度,将分配概率即权重p

其中

S5.2、心电信号集T={t

进一步,在步骤S7中要求的图卷积神经网络为两层结构的图卷积神经网络GCN,包括激活函数采用线性整流函数ReLU和softmax函数,学习率lr=0.001,使用Adam优化器,采用交叉熵损失函数;利用图卷积神经网络GCN模型训练由原始数据库中心电信号经过特征提取和转换构成的shapelet有向加权图,再经过卷积操作后通过Softmax函数得到每个样本的概率,并对输出类别的预测概率进行归一化处理,识别出患有心血管疾病的病人的心电信号从而达到识别各种心血管疾病的目的。

有益效果:

本方法省时省力,能够有效的分析心电图数据,提高识别效率和准确率,使用shapelet代表一个类别的时间序列子序列,相较于现有的方案缺乏可解释性的问题,本方法可以在分类场景中提供直接可解释和解释性的见解,对所有导联心电信号进行训练速度快,识别准确性高。

附图说明

图1是本发明基于shapelet将心电信号转换成图结构的分类方法的流程图;

图2是本发明基于shapelet将心电信号转换成图结构的分类方法的示意图;

图3是本发明实施实例中提供的图卷积神经模型的示意图。

具体实施方式

下面结合附图和具体实例对本发明实施实例中的技术方案进行作进一步详细说明。

如图1所示,本发明提供了基于shapelet将心电信号转换成图结构的分类方法,包括以下步骤:

S1:从诊断心电数据库中获取代表不同心脏状态的多组心电图数据信号,每组心电图数据集的表示为T={t

S2:对获取的心电数据集进行预处理,利用小波变换去噪算法对多组心电图数据信号进行降噪处理;

S3:采用小波模极大值结合可变阈值法对降噪后的每组心电图数据信号进行处理:先使用Mallat算法对降噪后的心电图数据信号进行变换,再通过对心电图信号零点进行定位,从而对心电图信号在时域空间上的R波峰值定位。

S4:利用R波峰值的定位信息以及心电图的周期信息,采用shapelet算法提取每个信号周期的P-QRS-T波段的shapelet特征序列,将提取的心电信号shaplet特征构建做为图结构的每一个节点,将心电信号划分为多个子序列,通过shapelet算法提取每个划分的子序列的特征序列并将其称之为shapelet特征序列。

S5:将提取的shapelet特征序列构建shapelet转换矩阵(图):使用shapelet转换矩阵学习心电信号序列的表示,shapelet特征序列作为图结构的每一个节点,并根据每个特征点之间的权重关系来确定每个节点之间的权重进而构造有向加权图G=(V,E),其中V由K个顶点组成,每个顶点表示一个shapelet特征序列,每个有向边e

S6:定图卷积神经网络GCN的常规模型参数,将shapelet转换矩阵对应的有向加权图结构划分为70%的训练集和30%的测试集输入图卷积神经网络模型GCN中,设置模型各参数后进行训练,通过图卷积神经网络模型GCN的卷积操作后再经过Softmax函数得到每个不同特征心电信号样本的概率。

实施例1,如图2所示:

步骤S1:从MIT-BIH数据库中获得双导联心电图数据信号,这些数据信号涵盖心肌梗塞、心力衰竭、心律失常、束支传导阻滞和健康对照组共五种受者,其中心肌梗塞、心力衰竭、心律失常与束支传导阻滞一同被分为心血管疾病一类;所述数据库中共有4000多个长期动态心电图记录,其中60%的记录来自住院患者,40%来自门诊,受试者均为25位年龄在32岁至89岁之间的男性和22位年龄在23至89岁之间的女性。包含48个半小时的两通道动态心电图记录,记录以每通道每秒360个样本的采样频率在10mv范围内以11位分辨率数字化。两位心脏病专家分别对每条记录进行注释(总共约110000条注释)。这些数据信号涵盖心肌梗塞、心力衰竭、心律失常、束支传导阻滞和健康对照组共五种受试者,其中心肌梗塞、心力衰竭、心律失常与束支传导阻滞一同被分为心血管疾病一类。

步骤S2:因为利用小波变换时频局部化特性可以有效地滤除与心电信号重叠的噪声,利用小波变换去噪算法对步骤一中获取到的信号进行降噪处理:

x[n]=f(n)+w(n);

式中,n为时间,x[n]为含噪信号,f(n)为有用信号,w(n)为高斯白噪声信号;有用信号f(n)经过小波变换后,突变点的能量集中在尺度较大的小波系数上而噪声信号在小波变换后其小波系数不具有相关性,对噪声信号集中的尺度上的小波进行集中处理后再重构,从而完成小波变换过程。例如高斯白噪声在经过小波变换后依然是高斯白噪声,其小波系数不具有相关性,高斯白噪声经过小波变换后得到的小波系数分布在各个尺度上,且每一部分的幅值都不大,故可以通过先小波变换再对小波系数处理、重构的方式将其分离,其他噪声同理。

步骤S3:采用小波模极大值结合可变阈值法对步骤S2中降噪处理的心电信号进行处理;先使用Mallat算法对心电信号进行变换,并通过对过心电信号零点进行定位,从而对在时域空间上的R波峰值定位;

步骤S4:提取心电信号shapelet特征序列,具体包括:

S41:选取MIT-BIH数据库中的心电信号,实验中,每个受试者选取10s的心电信号,由于受试者心率不同,10秒内患者的心跳次数从8次到17次不等。因此,选择的心跳采样点的数量因受试者而异。为了保证数据的真实性以心跳为8次/10s的受试者为标准。每一次心跳共设600个采样点,其中每个心电信号集T={t

S42:选取候选shapelet片段,为了从候选池中所有心电信号序列中选取候选shapelet片段,我们应用了贪心算法策略从所有可能的子序列中选取候选shapelet片段,关键思想则为最大优化所选shapelet之间的对等距离,从而满足搜索空间。

S43:心电信号序列t被分割为m个段,即即t={s

其中代表的是shapelet v特征序列和心电信号序列t之间的欧式距离,设定每个候选shapelet片段相关的局部参数w和全局参数u,两个参数可以体现出心电信号在不同时间中的重要性,也可以在一些适当的标准下单独学习。例如可以简单设定一个分类任务,使用一种监督学习方法来选择最重要的shapelet特征序列,为设定的shapelet v特征序列学习相应的超参数w

S44:shapelet v特征序列是代表不同心脏疾病的特征片段。更准确地说,它可以将心电信号集T分成两个或更多更小的集合,一些接近v,另一些根据某些特定标准远离v,这样应用于不同心电信号的分类任务,可以将不同样本放入不同的组。我们有利用算法生成的作为shapelet特征序列的候选片段池,以及一组带有标签的心电信号数据集序列T,对于每个shapelet特征序列候选片段,标准可以形式化为:

表示的是测量候选池中的候选片段对shapelet v特征序列的差异。S

步骤S5:构建shapelet转换矩阵,将步骤S4所提取的shapelet特征序列构建shapelet转换矩阵(有向加权图G),构建一个有向加权图G=(V,E),其中V由K个顶点组成,每个顶点代表一个shapelet特征序列,每个有向边e

S51:首先根据时间序列的差异将每个心电信号序列的每个段s

也可表达为:

其中^di,*(v

S52:心电信号序列集T={t

步骤S6:我们通过使用如上构建的shapelet转换矩阵(图)来学习shapelet和给定心电信号序列的表示,我们首先采用现有的图嵌入算法来获得顶点表示向量μ,然后可以通过将嵌入特征馈送到神经网络模型的方式,将心电信号序列的表示向量用作各种分类任务的特征。这里我们构造一个两层的GCN,激活函数采用线性整流函数(Rectified LinearUnit,简称ReLU)和softmax函数,学习率lr=0.001,使用Adam优化器,采用交叉熵损失函数,为了缓解过拟合现象,引入dropout技术,即按照一定的比例随机丢弃卷积神经网络中部分的神经元,构建这样的图卷积神经网络模型来学习由原始心电信号经过特征提取和转换构成的shapelet有向加权图,经过卷积操作后通过Softmax函数得到每个样本的概率,并对输出类别的预测概率进行归一化处理,识别出患有心血管疾病的病人的心电信号从而达到识别各种心血管疾病的目的。

图卷积神经网络经过学习大量的输入的图数据,将特征参数从后往前逐层反馈不断更新模型的参数,使图卷积神经网络模型在训练之后再识别分类心电信号时能够更快速地得到更准确的检测结果。实验中得到的预处理后的心电信号数据,共258组样本,取其中75%进行训练,剩余样本进行测试。

基于Windows系统进行测试试验,使用的是NVIDIAGeForceGTX3060Ti。采用Adam优化器和二元交叉熵损失函数。此外,在批量训练中,batchsize设置为8,epoch设置为50。距离阈值δ的百分位数设置为10,超参数λ和∈在分别固定为0.5和0.1。当GCN模型在50-epoch期间对所有导联心电信号进行训练时,模型在20次迭代后,测试集准确率达到90%,图卷积神经网络模型在50次迭代后基本趋于收敛,最终得到的一维卷积神经网络模型对测试数据的识别准确率为98.39%。

技术分类

06120115636398