APP下载

基于CABC-SVM算法的心律失常数据诊断研究*

2020-05-29周孟然

九江学院学报(自然科学版) 2020年1期
关键词:电信号蜂群波形

周孟然 张 黎

(安徽理工大学电气与信息工程学院 安徽淮南 232000)

心脏病、恶性肿瘤和脑血管疾病是人类死亡的三大原因,其中心脏病是造成人类死亡的第一原因。心脏病往往都伴随着心律失常的出现。目前,诊断心律失常的诊断最为常见的工具为心电图,医生通过观察患者的心电图对患者进行诊断。

当前对于心电信号的识别方法主要分为两种:第一种的依据为根据波形形状进行识别,第二种的依据为根据波的特征进行识别。根据心电信号波形识别主要时依据心电信号波形的幅值,波峰的宽度,各个波峰的个数等,再借助医学知识进行判断。而根据心电信号波形的特征进行识别是目前最常用的方法,其主要步骤都为数据预处理,心拍的识别与提取,特征选择和分类识别。

随着机器学习的发展,智能群优化算法的出现极大推动了机器学习的进程。文章将采用CABC(混沌人工蜂群算法)对SVM的参数c和g进行优化,然后对心电信号的4种典型心拍正常心拍、右束支阻滞、左束支阻滞和室性早搏进行识别诊断。

1 算法原理

1.1 CABC-SVM算法

人工蜂群算法是最近提出的一种模仿蜂群运行方式的优化算法。ABC算法探索能力优秀,但局部开发能力不强。利用混沌序列的优点改进的混沌蜂群算法被提出应用。文章使用的混沌蜂群算法优化支持向量积基本步骤如下:

(1)初始化各参数。输入蜂群大小为sn,最大搜索次数为Lm和循环次数maxN等。

(2)设置适应度函数。将分类的错误率最低为目标设计的蜂群的适应度函数如下式:

(1)

其中,acc为训练样本的分类正确率。

(3)雇佣蜂阶段。雇佣蜂在每个食物源周围进行搜索。

(4)观察蜂阶段。分析各个雇佣蜂提供的信息, 并计算适应度从而生成新的种群位置。

(5)混沌局部搜索阶段。按下列式进行混沌局部搜索。

chi+1=4*chi*(1-chi),i-1,2,···,K

(2)

CHi=LB+chi*(UB-LB),i=1,2,···,K

(3)

Vi=(1-λ)Xb+λ*CHi,i=1,2,···,K

(4)

(5)

其中,混沌变量chi∈(0,1),K为混沌序列长度,LB为定义域的下限变量,UB为定义域的上限变量,λ为收缩因子,maxN为最大迭代数,n为当前迭代数。

(6)判定阶段。判断当前的搜索次数是否小于步骤1 中的Lm,如果小于Lm继续返回步骤(2)继续执行;如果大与Lm则继续判断食物源是否更加优秀,若没有则放弃该食物源。

(7)优化步骤完成,SVM分类器以CABC算法输出结果也就是最优的c和g进行对心拍的分类。

2 实验数据的获取

2.1 数据来源

实验采用是美国麻省理工学院的MIT-BIH心电数据库中的数据。该数据库采集自47个人的ECG信号,每条有30min。

2.2 训练集与测试集的选取

ECG数据在输入CABC-SVM模型前,先对ECG用bior2.6为小波基对心电信号进行6级分解与重构去除原始心电信号中的噪声与基线漂移。图1和图2分别为去噪前后ECG信号波形。

用R波的检测算法对ECG进行R波的定位,之后对R波之前的99个点与R波之后的150个点共250个点进行采样。最后对采样好的点利用db6小波基进行5阶小波分解和2倍下采样后可得到25个特征。

该研究工作选取正常心拍(N)、右束支阻滞(R)、左束支阻滞(L)和室性早搏(V)4种心拍为研究对象。选取其中具有代表性的20 000个心拍,每种心拍5000个。将所有心拍打乱后用随机选取的方法把心拍数据按1:1的比例分为测试集与训练集。

仿真实验采用的电脑操作系统为win10,硬件条件为英特尔酷睿i5处理器、8GB内存,利用MATLAB R2016b仿真软件对该实验算法对数据进行仿真调试。

图1 ECG数据原始信号心电图

图2 ECG数据小波去噪后心电图

3 实验结果与分析

将处理好的4种心拍的数据作为输入,4种心拍诊断结果为标签,对ECG心拍进行诊断。CABC的初始蜂群大小为10,食物源数量为20个,食物源连续更新限制次数为100,最大循环次数为10代,SVM的两个参数c与g的搜索区间为的区间[0.01,100]。

在心拍诊断结果的评估中,通常使用以下4个标准测量指标:灵敏度(Sen),特异性(Spe),正检测率(Pp)和准确率(Acc)为评价体系。混淆矩阵表示分类模型的诊断结果的详细信息。

表1 CABC-SVM心拍分类混淆矩阵

由表1可知,利用CABC-SVM对心拍的分类整体准确率达到99.72%(9 972/10 000),各心拍的灵敏度、特异性、正检测率也获得了优秀的效果,证明将CABC-SVM应用到心律失常诊断上是切实有效的。

为了验证CABC-SVM对心律失常诊断的有效性,文章将会用CABC-SVM算法与GWO(灰狼优化算法)、GA(遗传算法)ABC和PSO(粒子群算法)算法对SVM优化后在心律失常诊断效果进行对比。为保证实验条件的相对统一,初始种群大小都设为20 ,迭代次数设为10,然后对 ECG心拍数据进行诊断。表2、表3分别为未对心拍数据进行[0,1]归一化和进行了[0,1]归一化后的仿真结果,由两个表对比结果可知,除GWO-SVM外,是否进行数据的[0,1]归一化对心拍的分类精度影响不大。但在数据并未进行归一化的情况下,由于R波附近的点的特征值远大与其他的点的特征值的缘故,测试集的效果的计算量的增加,造成算法的训练时间大大增加,而GWO-SVM的训练集准确率100%,而测试集的准确率为43.23%,发生了过拟合现象。

表2 各算法未归一化的分类结果

表3 各算法归一化的分类结果

表4是归一化后,SVM、GWO-SVM、ABC-SVM、PSO-SVM和GA-SVM五种算法与文章所述算法的识别结果。评价的指标为灵敏度、总体准确率和时间。发现文章所述算法CABC-SVM的灵敏度更高、总体准确率更好、速度更快。

表4 各算法最终分类结果对比

4 总结

文章对心律失常分类的算法进行了深入的研究后,提出了CABC-SVM的分类模型应用于心律失常诊断中,在与其他五种算法模型进行对比后发现CABC-SVM能够准确、快速的完成对心律失常数据的诊断。对MIT-BIH数据库中的20 000心拍进行测试后,测试集准确率达到99.72%。文章提出的CABC-SVM方法在心律失常的诊断方面有着优越的性能。

猜你喜欢

电信号蜂群波形
基于联合聚类分析的单通道腹部心电信号的胎心率提取
基于Halbach阵列磁钢的PMSM气隙磁密波形优化
“蜂群”席卷天下
基于Code Composer Studio3.3完成对心电信号的去噪
用于SAR与通信一体化系统的滤波器组多载波波形
基于随机森林的航天器电信号多分类识别方法
迁移蜂群优化算法及其在无功优化中的应用
基于ARM的任意波形电源设计
改进gbest引导的人工蜂群算法
凿岩钎具波形螺纹检测探讨