APP下载

基于动态模糊决策树的心电信号分类方法

2020-01-16高宁化冯兴华

计算机工程 2020年1期
关键词:波包电信号频域

高宁化,王 姮,冯兴华

(西南科技大学 信息工程学院,四川 绵阳 621000)

0 概述

心电信号(Electrocardiogram,ECG)是心脏活动的直接反映,是诊断心血管疾病的重要依据。传统基于心电图分析的诊疗技术主要依靠医生经验和知识进行模板匹配,随着人工智能技术的发展,研究基于ECG自动分析的诊断技术并提高病症诊断的效率和准确性具有重要意义。

基于ECG心律失常分类的相关研究重点集中在心电信号的特征提取和分类识别上[1-2]。文献[3]提取心电信号的离散余弦变换(Discrete Cosine Transform,DCT)、RR间期和QRS复合波3种特征,以最小欧式距离分类器在MIT-BIH库中进行实验验证,其分类准确率达96.6%。文献[4]采用6尺度小波变换对心电信号进行特征提取,将支持向量机(Support Vector Machine,SVM)作为分类器,在MIT-BIH库中取得了98.39%的识别准确率。文献[5]提取RR间期、高斯混合模型及高阶统计量特征,通过决策树进行分类识别,取得了较好的分类效果。文献[6]采用导联卷积神经网络(Lead Convolutional Neural Network,LCNN)的方法提取心电信号特征,并用深度神经网络进行训练识别,在CCDD数据库上的识别准确率为84.77%。

当前心电信号特征提取方法主要包括时域特征提取[7]、频域特征提取[8]和高阶统计量特征提取3种,而分类识别方法既包括传统的机器学习方法,如SVM、贝叶斯法[9]、决策树[10]等,又有深度学习[11]、集成学习[12]等新方法。上述方法大多存在一些问题,例如,单一特征不能准确描述心电信号的全部信息,而通过数学变换提取特征的方式会增加计算的时间复杂度,同时,分类方法中的深度学习对硬件要求较高,需要大量的数据进行模型学习,实现难度较大。

本文提出一种基于时频融合特征和动态模糊决策树(Dynimic Fuzzy Decision Tree,DFDT)的心电信号分类识别方法。利用小波包变换对心电信号进行分解与重构,完成去噪、频域特征提取和9个时域特征的提取,使时域特征与频域特征相互融合。同时对模糊决策树进行改进,在建树过程中对当前节点进行模糊C均值聚类(Fuzzy C-Means,FCM)处理,实现隶属度函数的自适应确认,进而完成特征空间的动态划分。

1 特征提取

特征提取是心电信号分类识别的核心,本文提出一种新的时频特征融合方法,其流程如图1所示。以单个周期的ECG为样本,首先对连续的心电信号进行周期分割,以显化正异常心电信号的差异,便于提取区分性强的特征。对每一个周期的心电信号进行小波包分解与重构,并将保留的小波包系数矩阵二范数的值作为特征,同时完成心电信号的去噪以及频域特征提取。然后对重构后的周期心电信号进行时域形态识别,提取P波峰值、T波峰值、R波峰值、QRS波持续时间、P-T间期、P-R间期和R-T间期等特征信息,并将时域和频域特征进行融合,用融合后的特征向量来表征心电信号。最后,利用改进的动态模糊决策树算法进行实验验证。

图1 心电信号分类识别流程Fig.1 Flowchart of ECG signal classification and recognition

1.1 心电信号周期分割

由于在一段时间内采集到的心电信号是连续的,每一次心跳为一个周期,因此以一个周期的心电信号为研究对象能准确定位各波峰的位置,有利于心电信号时域特征的提取。传统的心电信号分割方法主要有2种,一种是按固定长度的窗口截取周期信号,该方法由于受个人体质、心跳快慢等因素的影响,分割得到的心电信号时好时坏,不具备稳定性,另一种是按P波、T波位置确定周期,该方法虽然分割得到的周期信号准确度较高,但是P波、T波定位困难,算法复杂度较高。针对上述两种方法存在的不足,考虑到要快速准确地定位心电信号的R波位置,且R波与T波、P波相对位置固定,本文以R波峰位置为基准,在相邻的3个R波峰位置之间,选取第1个峰值与中间峰值的2/3处到中间峰值与第3个峰值的2/3处为一个周期,图2给出了ECG周期的分割过程。

图2 ECG信号周期分割过程Fig.2 Cycle segmentation process of ECG signal

1.2 频域特征提取

(1)

其中,g(k)=(-1)kh(1-k),所定义的函数集合{Un(t)}为由尺度函数确定的小波包。本文针对心电信号的特点,通过以下4个步骤提取ECG频域特征:

步骤1数据导入,即导入分割后的周期心电信号。

步骤2心电信号分解。选择Daubechies小波作为小波包基函数,对周期心电信号进行3层小波包分解,图3给出了3层小波包分解的8个基函数。

图3 3层小波包分解的8个基函数Fig.3 8 basis functions of 3-layer wavelet packet decomposition

步骤3心电信号重构。根据各小波包基函数对原始信号的贡献程度,保留前n组小波包系数对心电信号进行重构,具体过程如式(2)所示。

(2)

其中,S表示重构出的信号,Si表示基函数,δi表示基函数对应的系数矩阵。通过对图3的分析可知,后4组小波包基函数幅值较小,主要影响ECG峰与峰之间的稳定性,因此选择前4组小波包系数矩阵与基函数进行重构,重构结果如图4所示。

图4 心电信号小波包重构结果Fig.4 Reconstruction results of wavelet packet of ECG signals

由图4可以看出,选择前4组小波包系数重构出的心电信号保留了各波形的特征,在时间和峰值上都有较高的重构精度,且峰与峰之间的过渡更平滑,有助于提高P波、T波的定位精度,为后续心电信号时域特征的提取提供有力保障。

步骤4频域特征提取。计算系数矩阵δi的二范数,将二范数的值作为心电信号的频域特征,如式(3)所示。

(3)

1.3 时域特征提取

根据心电信号的特点,共提取9个时域形态上的特征,包括P波峰值、R波左侧波谷、R波峰值、R波右侧波谷、T波峰值、P-T间期、P-R间期、R-T间期和QRS波持续时间,如图5所示。

图5 时域特征提取Fig.5 Temporal feature extraction

上述时域特征可以分为两大类,一类是各波峰值的信息,另一类是各波之间的时间间期信息,在特征提取的过程中,先提取峰值特征,再提取时间间期特征。

1)峰值特征提取

在一个周期的心电信号中,最显著的是R波,所以首先对R波进行检测。R波峰值通常是周期内的极大值,在特殊情况下存在R波倒置、R波后出现极大值的情况,为了能正确检测到R波峰值,本文选择在1/2周期内对R波进行定位,其在时间上满足以下条件:

(4)

其中,M表示一个周期的心电信号。当R波峰值大于0时,选择周期信号的最大值作为R波峰值,当R波峰值小于0时,选择周期信号的最小值作为R波峰值,如式(5)所示。

(5)

提取R波左、右侧波谷特征,以R波峰值左右两端出现的第1个极值为R波左、右侧波谷特征,然后对P波峰值进行检测。本文通过设定时间窗的方式,将周期起始位置到R波左侧峰谷位置之间的极大值作为P波峰值,如式(6)所示。

fP=maxM,TO

(6)

对T波峰值进行检测,本文将R波右侧波谷位置到周期最后值之间的极大值作为T波峰值,如式(7)所示。

fT=maxM,TR+

(7)

2)时间间期特征提取

根据R波提取QRS间期特征,定义QRS间期为R波左侧峰谷到R波右侧峰谷的持续时间,如式(8)所示。

TQRS=TR+-TR-

(8)

提取P-R间期特征,定义P-R间期为P波峰值到R波峰值的持续时间,如式(9)所示。

TP-R=TR-TP

(9)

提取R-T间期特征,定义R-T间期为R波峰值到T波峰值的持续时间,如式(10)所示。

TR-T=TT-TR

(10)

提取P-T间期,定义P-T间期为P波峰值到T波峰值的持续时间,如式(11)所示。

TP-T=TT-TP

(11)

通过上述步骤,心电信号时域波形特征可包括5种峰值信息和4种时间间期信息,共计9个特征,然后将时域特征与频域特征进行融合,用融合后的13维的特征向量来表征原始心电信号。

2 动态模糊决策树

FDT算法是将模糊集合理论应用到决策树中的新型推理算法,其结合了决策树的可理解性和模糊集合的综合表达能力[13]。一方面,FDT事先对特征空间进行模糊划分,然后在建树过程中应用某种监督函数在划分好的特征空间寻找最优的决策边界。另一方面,属性模糊划分的隶属函数通常需要领域专家依靠经验知识给出,特别是在维数较高、数据量较大的数据集上,即使是专家也很难准确地给出各属性上的模糊集合隶属函数[14]。

针对上述问题,本文提出一种基于FCM的动态模糊决策树方法。在当前节点到叶子节点的建树过程中,在每一个属性上对节点内的样本进行模糊C均值聚类,实现特征空间的动态划分。同时,属性模糊划分中的隶属度由FCM自动给出,在确定隶属度函数时避免用到经验知识。

2.1 模糊C均值聚类

FCM不同于K-means聚类中非此即彼的刚性划分方式,K-means聚类的每个样本以隶属度的形式隶属于各个聚类中心,隶属度之和为1,而FCM以不断迭代更新聚类中心和隶属度矩阵的方式使同类之间差距最小,异类之间差距最大[15-16]。本文以欧式距离作为样本点之间的相似性指标,其具体计算过程如式(12)所示。

(12)

FCM以异类间距离最大,同类间距离最小为目标,因此,将式(12)转化为约束条件的极小值求解,并引入拉格朗日乘子λj(j=1,2,…,N),得到以下公式:

(13)

(14)

FCM算法的具体过程如算法1所示。

算法1FCM算法

1.初始化隶属度集合U(0)={uij}。

3.更新隶属度集合U(k)和U(k+1)。

4.if ‖U(k+1)-U(k)‖<ε,then STOP

5.otherwise return to step 2

2.2 动态模糊决策树构建

FCM算法在建树过程中完成特征空间的动态划分后,就可以计算节点各属性的信息增益值。定义当前节点为A,所含样本数为N,样本集合为Y={y1,y2,…,yn},类别标签为c,类别标签集合为C,节点A中类别标签为c的样本总数为Nc。选择属性v为分裂属性,通过FCM算法将A中的样本聚为c类,将属性v上聚类的簇表示为vc,所有簇的集合为Dvc,每个簇中所含样本数为Nv,样本yj在vc上的隶属度为uvc(yj),则当前节点A中所含样本数可以表示为如下形式:

(15)

当前节点A的信息熵为:

(16)

选择属性v进行聚类后所产生的信息增益为:

Ggain(A,v)=E(A)-E(A|v)=

(17)

其中,Nvc为当前簇v划分后类别标签为c的样本个数。依次计算每一个属性划分下的信息增益,选择信息增益最大的属性作为最终的分裂属性,以此进行决策树构建。动态模糊决策树构建过程如算法2所示。其中,建树停止的条件为:

1)所有属性都被选为分类属性使用过。

2)当前节点中所有样本属于同一类别。

3)当前节点中样本个数小于等于2。

动态模糊决策树的建树过程如算法2所示。

算法2动态模糊决策树算法

输入训练样本特征数据集X、模糊属性集V、当前节点N

输出计算节点N的信息量

1.用FCM对节点N中的样本进行聚类。

2.计算每个属性划分下的信息增益。

4.返回属性Vmax的相关聚类数目c。

5.检查子节点并更新当前节点:V=V-Vmax。

6.for k=1∶c

7.if停止条件不满足

9.DFDT=BuildTree(X,V,N)

10.end

11.end

3 实验结果与分析

为验证本文方法的有效性,选取MIT-BIH标准心电数据库[17]为样本进行实验,该数据库包含48组0.5 h心电数据记录,采样频率为360 Hz,共计109 655个周期心电信号。由多个心电信号专家对每个周期进行标注,主要信息如表1所示。

表1 MIT-BIH数据库信息Table 1 Information of MIT-BIH database

本文选取肢体导联Ⅱ的数据,对正常心电信号及左右束支阻滞、房性室性早搏、起搏等几类异常心电信号进行分析。每次采集的正常与异常数据各4 500组,采集15次。由于篇幅有限,本文随机选择一次采集的数据进行详细介绍,其正常心率采集自100、103、116和122号样本,异常心率采集自207、212、231和232号样本。针对本文所提取的特征,设计3个实验,分别为频域特征下的心电信号分类、时域特征下的心电信号分类、时频融合特征下的心电信号分类。同时,为了增加实验结果的可信度,采用交叉验证的方法将数据平均分成9份,每次用其中8份做训练,剩下的1份做测试,循环9次后统计平均识别率,结果如表2所示。3组实验下的识别率比较如图6所示。类似地,使用相同方法得到的其他14次采集数据的平均识别率均在99%左右,证明此方法具有可重复性。

表2 交叉验证的识别率比较Table 2 Comparison of recognition rates using cross-validation

图6 交叉验证结果比较Fig.6 Comparison of cross-validation results

从图6和表4可以看出,融合特征的识别率比单一的频域特征提高15.95%,比单一的时域特征提高1.14%,总体来讲,融合特征在保证数据维度增加不大的情况下,可取得更高的分类准确率。为验证本文算法在心电信号分类识别问题上的有效性,基于Matlab和WEKA平台,将本文方法与SVM、朴素贝叶斯方法(Naïve-Bayes)、径向基函数神经网络(RBF-Network)、Bagging、C4.5决策树、随机森林(Random-Forest)、K最近邻(KNN)等几种常见分类方法进行对比,结果如表3所示。

表3 7种不同方法的识别率比较Table 3 Comparison of recognition rates of 7 different methods

从表3可以看出,本文DFDT方法在心电信号分类问题上效果更佳,在融合特征下,本文方法的识别准确率比传统机器学习方法平均可提高11.91%。

为进一步验证本文方法的普适性,除了采用MIT-BIH库中的数据进行验证以外,还通过自建数据库进行实验验证。具体做法如下:以AD8232芯片为心电信号核心采集装置,通过Arduino单片机与计算机完成通信,计算机对实时采集的人体心电信号进行存储,完成实际数据库的构建。自建数据库共采集24个无心脏疾病者的心电信号,每人采集8个心电信号周期,共计192个样本。将所有样本按本文方法提取特征,并作为分类器的输入,DFDT识别结果为187个心拍正常,正确率达到97.40%,证明本文方法在实际应用中能满足心脏疾病预检的要求。为了进一步评估本文方法的可靠性,将本文方法与DCT+R-R+QRS[3]、MBE+HHT[18]、Multiscale Wavelet[4]、LCNN[6]、Wavelet+Gabor[19]进行对比,结果如表4所示。

表4 6种不同特征提取方法的实验结果比较Table 4 Comparison of experimental results of 6 different feature extraction methods

本文所采用的特征提取方法相对其他方法而言,计算复杂度较低,在小波包分解与重构过程中同时完成心电信号的去噪和频域特征提取,对时域特征提取的方法简单、快速,融合特征维度仅为13,时间复杂度相较其他研究更低。改进的动态模糊决策树方法在处理当前节点时,采用FCM方法完成隶属度函数的自适应确定,实现建树过程中特征空间的动态划分,其适应性更强,同时正异常心电信号的分类准确率达到了99.14%,能满足心电信号正异常预检的要求。

4 结束语

本文提出一种基于时频融合特征及动态模糊决策树的心电信号分类方法。利用小波包分解与重构提取频域特征,并与9个时域特征进行融合,以此表征原始心电信号。在模糊决策树的建树过程中引入模糊C均值聚类方法,实现特征空间的动态划分,并对正异常心电信号进行分类识别。实验结果表明,该方法在MIT-BIH标准心电数据库上的识别率达到99.14%。然而,本文研究只针对少数几种心率异常情况进行识别,下一步将寻找更准确的特征提取方法,并融合医院数据及人工智能算法,实现心血管疾病的自动诊断。

猜你喜欢

波包电信号频域
基于联合聚类分析的单通道腹部心电信号的胎心率提取
基于频域的声信号计权改进算法
基于支持向量机和小波包变换的EOG信号睡眠分期
原子双阱势中电子波包的非绝热操控
基于Code Composer Studio3.3完成对心电信号的去噪
频域稀疏毫米波人体安检成像处理和快速成像稀疏阵列设计
基于随机森林的航天器电信号多分类识别方法
网络控制系统有限频域故障检测和容错控制
基于改进Radon-Wigner变换的目标和拖曳式诱饵频域分离
基于小波包变换的乐音时—频综合分析程序的开发