基于机器学习方法的心电信号分类研究

2022-04-12 08:12:22 | 浏览次数:

zoޛ)j馐0�0LiXs^Ѓ5Ћ^j]ǚ׮7D-ب!_]L0 p+h
Zm+]on۝m0WS  评价实验结果。基于此,本文从200到234这25条心电记录出发,着手研究心律失常心电信号的分类。

1.2 预处理

心电信号在采集的过程中会受到心脏自身和外部因素的干扰,使心电信号的时间间期和波形上发生变化。因此,采集的心电信号通常需要去除基线漂移(SymbolcB@5hz)、肌电噪声(10-300hz)和工频噪声(50hz)等干扰信号,从而提高医疗诊断的准确性。为了尽量降低噪声对心电信号的影响,本文采用小波阈值去噪,以保证在滤除噪声的同时尽可能保留原有心电信号的波形。

小波阈值去噪是对信号进行正交小波变换,变换后的小波系数中含有大量的ECG信号的数据,ECG中的噪声的图像分布情况与小波系数分布相同,其模拟具有合理性。小波系数大小不一,我们可以将绝对值小的设为0,相反,对绝对值大的,可以采用软、硬阈值的方法对其进行保存下来或者进行压缩。由此先得到小波系数(estimated wavelet coefficients,EWC)的估计值,再通过已得到的小波系数组成新的ECG信号,从而达到去噪的效果。

从右图中可以看到原始信号的图像受到噪声影响,导致心电信号的波形改变,在临床上可能对医生的分析判断产生干扰。我们利用matlab统计软件对信号进行小波分析,得到去噪后的信号图像,由下图可知,经过去噪处理的信号图像变得光滑,大大的减少了信号失真,以便于医务工作人员对图像进行判别分析,对提高患者的诊断效率具有重要意义。

原始信号与去噪后的信号图像对比图

1.3 样本心拍的分割

心律失常的心电信号往往在波形形态上表现异常,通常体现在每个心拍中,故我们对心律失常心电信号进行分类时,需要将心电信号分割成逐个心拍。在分割过程中,分割长度是影响最终信号分类的一个重要因素,基于心律失常的波形异常主要表征在 PR 间期异常和 QRS 波群,并结合心电信号时限特征,本文以 R 波为关键点,前后各截取150 个样本点即301个样本点作为样本心拍,基本可以包含所有的波形特征。MIT-BIH 心律失常数据库中,每个心拍都专家进行详细标注,注释包括 R 波位置、心律失常类型等。本文共选取正常心拍(N)、左束支传导阻滞心拍(L)、右束支传导阻滞心拍(R)、室性早搏心拍(V)四类心拍。

1.4 特征提取

特征提取的方法大体分为频域分析和时域分析两类。相比于频域分析,时域分析方法更加直观。时域分析方法中的自回归移动平均模型(autoregressive moving average,ARMA),可以将相关时序转化为独立时序,从而利用对独立时序进行统计处理的方法去处理相关时序。此外,ARMA(n,m)模型是一个平滑滤波器,对观测数据能够自主进行平滑和滤波,进一步达到去噪效果,估计出观测数据的真值。蕴含在心电数据的取值大小及其先后顺序的心电特征可由ARMA(n,m)模型的模型参数φi、θj和δ2ε刻画,基于ARMA(n,m)模型信息凝聚性,我们通过对心电数据建立ARMA(n,m)模型,提取拟合的模型参数作为每个样本心拍的特征值。ARMA(n,m)的模型结构如下:

在建模中,阶次n和m的选取至关重要。无论是葛丁飛等人利用MDL和MDL敏感性函数作为定阶准则,还是张婷婷等人提出的根据信噪比和AIC准则定阶,结果都表明当n=4,m=2时,模型拟合的仿真信号与原始信号最为接近。故本研究选用ARMA(4,2)模型,并利用R语言中的arima()函数对样本心拍数据建立模型,直接输出拟合的模型系数。

1.5 机器学习分类算法研究

在上一节中,我们对每个心拍提取了6个特征,以便下面的心电信号分类。有监督机器学习领域中包含许多分类的方法,本研究将着重比较分析决策树、随机森林、支持向量机这三种机器学习分类算法。

1.5.1 分类决策树

经典决策树CART(Classification and Regression Trees)是由决策树生成和决策树剪枝两部分组成。CART分类树首先对所有自变量和所有分割点进行评估,使分割后组内的数据因变量取值差异更小,该差异可由基尼指数(Gini index)度量,从而进行特征选择生成二叉树。为了避免得到一棵过大的树,从而出现过拟合现象,我们采用后剪枝对训练集生长的树进行剪枝。针对本研究的四分类任务,CART首先将目标类别合并成两个超类别,再逐个分类。

假设有K个类,样本点属于第k类的概率为pk,则概率分布的基尼指数为:

1.5.2 随机森林

随机森林(random forest)是一种集成式的有监督学习方法,基于结合多个较弱的分类器来创建很强的分类器。随机森林对样本单元和变量进行有放回随机抽样,从而生成大量决策树(R语言中默认生成500棵),并用随机组合所有的决策树对样本单元进行分类。

假设样本数据共有N个样本单元,M个变量,则随机森林分类的具体步骤如下:

(1)从训练集中随机有放回抽取N个样本单元,生成大量决策树。

(2)在每棵树的每个节点随机抽取m<M个变量,每个节点处的变量数应一致,在其中选择一个最具有分类能力的变量。

(3)每棵树最大限度生长,无需剪枝(最小节点为1)。

(4)将生成的所有决策树组成随机森林分类器,并用其对新的数据进行分类,分类结果由多数决定原则生成。

随机森林算法使用Gini系数度量变量的相对重要程度,即分割该变量时节点不纯度(异质性)的下降总量对所有树取平均。

1.5.3 支持向量机

支持向量机(Support Vector Machine,SVM)近来被人们广泛应用于分类问题,它的流行根植于其最先进的性能以及其背后优雅的数学理论。支持向量机旨在创建一个称为超平面(hyperplane)的平面边界来划分数据空间,由此对数据进行分类,并使得两类中距离最近的点的间距尽可能大,即形成最大间隔超平面,在间距边上的点被称为支持向量。

本研究中的样本数据本身是非线性的,需使用核函数将数据投影到一个更高维的空间中,使其在高维线性可分。一般,核函数将一些变换应用于特征向量xi和xj,并进行点积:

核函数的种类有很多,其中径高斯径向基核函数(Radial Basis Function,RBF)具有能应对类别标签与预测变量间的非线性关系的优良特性,对于许多类型的数据都运行得很好故本研究选用其作为核函数。设σ是核参数,则高斯RBF核函数的公式为1-6。

带RBF核的SVM中还有一重要参数成本(Cost,C),不同的参数值对应着不同的分类模型,在建模时,R语言软件变换参数σ和C的值建立不同的模型,以生成性能最优的分类器。

2 结果

本研究从MIT-BIH ALrrhythmia Database的25条记录中进行心拍分割,获取5147个样本心拍,其中N 1357个,L型心拍1201个,R型心拍1247个,V型心拍1342个。本研究中的三种分类算法都是根据训练集建立模型,从而对验证集进行预测,并与真实结果进行对比。由此训练集与验证集的划分对分类结果的影响重大,本文从样本数据中随机抽取70%作为训练数据集,而剩下的30%作为验证数据集。为了直接对三种机器学习方法的分类能力进行比较分析,三种方法都采用相同的数据集。

本研究采用准确率来评估各种分类器的性能,即分类器是否能对验证集数据正确分类,并通过调用R语言中的相关函数进行计算。具体结果如下表所示。

3 讨论

分类决策树对噪声有较好的鲁棒性,并自动忽略不重要的特征,如本文中特征六被分类器排除。但是,模型有欠拟合或过拟合倾向,故分类的准确率相对较低。实验结果表明,随机森林分类的准确率比其他分类器高,其易于使用并具有更少的过拟合倾向,其性能不输于功能强大的SVM,甚至更胜一筹。与随机森林类似SVM的一大缺点是分类准则比较难以理解和表述。此外SVM在对大量样本建模时不如随机森林,但只要建立了一个成功的模型,对新样本的分类就较为准确。

本研究基于机器学习方法对正常心律心拍和三种心律异常的心电心拍进行分类,成功地将传统的二分类拓展到四分类。进一步深化研究,提高分类的准确性,并将该方法应用到其他种类的心律失常信号的分类中,对医生临床诊断具有实践意义。

参考文献:

[1]World Health Organization.The Top 10 Causes of Death[Online].Available:https://www.who.int/news-room/fact-sheets/detail/the-top-10-causes-of-death,May,2018.

[2]Tompkins W.Biomedical Digital Signal Processing[M].New Jersey:Prentice Hall,Englewood Cliffs,1993.

[3]楊宝峰,蔡本志.心律失常发病机制研究进[J].国际药学研究杂志,2010,37(2):81-88.

[4]张扬,蔡建立.小波分析和ECG信号的检测.南京理工大学学报,2005,29(10):223-225.

[5]杨叔子,吴雅.时间序列分析的工程运用(上、下册)[M].武汉:华中科技大学出版社,2007.

[6]吴志勇,丁香乾,许晓伟,鞠传香.基于深度学习和模糊C均值的心电信号分类方法[J].自动化学报,2018,44(10):1913-1920.

[7]王艳.基于ECG的心律失常特征提取及分类算法的研究[D].苏州大学,2018.

[8]葛丁飞,李时辉.基于ARMA模型的ECG分类和压缩[J].浙江科技学院学报,2004(01):7-13.

[9]毛雪岷,张婷婷,蔡传晰,李琼.基于ARMA模型的心电聚类算法[J].中国生物医学工程学报,2012,31(06):816-821.

[10]张婷婷.基于ARMA模型的时间序列挖掘[D].合肥工业大学,2013.

[11]陈义.心电信号的异常心律分类算法研究[D].重庆大学,2016.

[12]王燕.时间序列分析:基于R[M].北京:中国人民大学出版社,2015.3.

[13][美]布雷特·兰茨(Brett Lantz),李洪成,许金炜,李舰译.机器学习与R语言(原书第2版)[M].北京:机械工业出版社,2016.12.

[14][美]卡巴科弗(Kabacoff,R.I.)著,王小宁等译.R语言实战:第2版[M].北京:人民邮电出版社,2016.5.

[15]A.Batra,V.Jawa,Classification of arrhythmia using conjunction of machine learning algorithms and ECG diagnostic criteria,Int.J.Biol.Biomed.1(2016)1-7.

基金:安徽省高校自然科学研究重点项目(KJ2017A892)

*通讯作者:武东。

推荐访问: 学习方法 心电 信号 机器 研究