APP下载

一种集成CNN模型及其在ECG信号分类中的应用

2019-10-11高硕许少华

软件导刊 2019年7期
关键词:随机森林卷积神经网络

高硕 许少华

摘 要 :针对复杂非线性多通道时变信号模式分类问题,提出了一种集成卷积神经网络(CNN)与随机森林(RF)相融合的方法。该方法以CNN为基学习器,自动提取信号样本的抽样特征,同时省去降维与人工选择特征的过程,以RF为次级学习器,增加样本扰动,同时增加属性扰动。为增强样本多样性,使得该模型尽可能充分利用信息,在训练集中随机抽取7份子训练集,再利用7份子训练集训练出7个不同的学习器;最后通过投票法和学习法建立集成模型,提高了识别精度。实验结果表明,在测量区间上,该方法对3种ECG信号类别的平均分类精度达94.60%,提高了1.1%,取得了良好结果,验证了模型和算法的有效性。

关键词:非线性时变信号;心电信号分类;卷积神经网络;随机森林;集成学习

DOI:10. 11907/rjdk. 191705 开放科学(资源服务)标识码(OSID):

中图分类号:TP301文献标识码:A 文章编号:1672-7800(2019)007-0024-04

Application of An Ensemble CNN Model in ECG Signal Classification

GAO Shuo,XU Shao-hua

(College of Computer Science and Engineering,Shandong University of Science and Technology,Qingdao 266590, China)

Abstract:Aiming at the problem of complex nonlinear multi-channel time-varying signal pattern classification, we propose a method of ensemble convolutional neural network (CNN) and random forest (RF). The method uses CNN as the base learner to automatically extract the sampling features of signal samples, and eliminates the process of dimension reduction and manual selection. RF is the secondary learner which increases the sample disturbance and increases the attribute disturbance. In order to enhance the sample diversity, the model makes full use of the information, randomly extracts the 7 sub-training set in the training set, and then uses the 7 sub-training set to train 7 different learners. Finally, the ensemble model is constructed by voting method and learning method, then the classification accuracy is improved. The experimental results show that the average classification accuracy of the three ECG signal classes is 94.60% and 1.1% higher in the measurement interval, and good results are obtained, which verify the validity of the model and algorithm.

Key Words:nonlinear time-varying signal; ECG signal classification; convolutional neural network;random forest;ensemble learning

基金項目:山东省重点研发计划项目(2015GGH309003)

作者简介:高硕(1992-),男,山东科技大学计算机科学与工程学院硕士研究生,研究方向为云计算、大数据处理;许少华(1962-),男,山东科技大学计算机科学与工程学院教授、博士生导师,研究方向为人工智能、大数据分析。本文通讯作者:许少华。

0 引言

在信号处理领域,频率和幅值随时间变化而变化的多成分信号,被称为时变信号(Time Varying Signal,TVS),如语音、音乐、生物医学和地震信号等[1]。信号样本往往高度依赖于时间变化,其模态特征可以是可变的或不规则的,特别是对于一些复杂的多变量非线性系统[2]。例如,心电图信号是非线性、非平稳等特性的信号,包括多个峰值、周期和其它具有挑战性的特征。它们还表现出由生理机制差异引起的心跳频率、心跳间隔和信号强度变化。因此,多通道信号的组合特性非常复杂,给时变信号系统分析和建模带来了挑战[3]。

心血管疾病(CVDs)是世界范围内的主要死亡原因,其管理已成为全球的当务之急[4]。心电信号(ECG)作为一种能够表征心脏状况的生理信号,对心血管疾病的检测和诊断具有重要意义。最近研究发现,CNN在时间序列生物信号中的应用前景广阔,如ECG[5-6]、EGG[7-8]。CNN框架可利用大的训练数据集提高分类性能,与许多传统方法相比,不需采用人工方式,也不需显式的特征提取、特征选择和降维过程。

基于心电信号的心血管疾病诊断是医学信息技术和人工智能领域的热点问题。2017年,Hong等[9]提出了将专家特征与神经网络相结合进行心电分类的方法;Zhou等[10]提出了一种利用一维卷积神经网络进行AF检测的方法;Pyakillya[11]等提出了一种一维卷积层和FCN层用于心律失常检测的深度学习结构;2018年,Salem等[12]将每个数据实例都通过光谱图转换成图像,图像被输入到一个预先训练好的DenseNet(一个161层的深度CNN)中,通过找到12个中间卷积层的输出实现特征提取。

本文对ECG时变信号在测量区间段进行识别分类,不进行心拍识别,这大大减少了人工标注成本。为进一步提高分类精度,使用集成學习方法,可获得比单一学习器显著优越的泛化性能[13]。为获得好的集成,个体学习器应 “好而不同”,即个体学习器不能太坏,要有一定准确性,并且要有多样性,即学习器之间具有差异性[13]。因此,本文采用CNN作为心电信号识别个体学习器。由于数据集差异对CNN的分类能力有重要影响,本文利用不同数据子集训练出不同的个体学习器,尽可能充分利用信息。首先,通过截取和抽析方法对数据预加工,再采用低通滤波进行降噪处理,将12导联信号构成二维结构样本;然后,本文进行数据样本扰动,在训练集中随机抽取7份子训练集,再利用不同的数据子集训练出不同的个体学习器,通过投票法和随机森林分类器建立集成模型。实验结果表明,该方法有利于提升ECG信号分类效果。

1 卷积神经网络与随机森林

1.1 卷积神经网络

卷积神经网络[14](Convolutional Neural Network, CNN)作为一种经典的深度学习方法,在分类识别领域中发挥着重要作用。本文重点之一是设计合理有效的CNN结构以获得较好的ECG信号识别精度。

1.1.1 卷积层

卷积层是卷积神经网络的核心,其主要作用是对输入数据进行特征提取。计算式为:

[xlj=fi∈Mjxl-1i×wlij+blj]  (1)

其中,[xlj]表示第[l]层特征图第[j]个特征;[Mj]为选取的输入特征图;[xl-1i]表示第[l-1]层特征图第[i]个特征;[wlij]表示第[l]层的第[j]个特征与[l-1]层的第[i]个特征的连接权值;[blj]为相对应的偏置参数;[f(?)]为激励函数。

1.1.2 池化层

池化层也称子抽样,它通常根据特定因素对输入特征映射进行子抽样,目的是降低输入时间序列的分辨率,使其对以前学习特性的小变化具有鲁棒性。目前常用的池化方法包括最大池化(Maximum Pooling)与平均池化(Average Pooling)。

1.1.3 全连接层

全连接层也称内积层,在整个卷积神经网络中起到对提取的特征进行归类的作用。计算式如下:

[δlj=f(i=1nxl-1i×klji+blj)] (2)

其中,[l]表示全连接层;[n]为相邻层的神经元个数;[klji]表示该层神经元[j]与相邻神经元[i]的权重;[blj]表示该层的偏置;[f(?)]表示对应的激活函数。

1.1.4 Softmax分类器

对于CNN的输出向量,常用Softmax函数进行归一化,映射为概率值,该函数式为:

[zi=softmax(oi)=exp(oi)cexp(oc)] (3)

其中,[oi]是对应于第[i]个类别的输出神经元的值。

1.2 随机森林

随机森林[15](Random Forest,RF)可以视为Bagging算法的一种扩展方法,对异常值和噪声具有很强的容忍能力,且不易过拟合,识别精度高,其基学习器是决策树。相比普通决策树,随机森林中的决策树不仅增加了样本扰动,还增加了属性扰动,使得个体学习器的差异进一步增大,有助于提升集成后的效果。本文采用CART(Classification And Regression Tree)算法生成决策树,而节点处最优特征的选择以及该特征的最优二值切分点以基尼指数为指标进行选择[16-17]。

CART决策树使用基尼指数选择属性,使用基尼值衡量数据集D的纯度。

[Gini(D)=k=1yk'≠kpkpk'=1-k=1yp2k] (4)

直观而言,[Gini(D)]反映了从数据集D中随机抽取两个样本,其类别标签不一样的概率。因此,[Gini(D)]越小,则数据集D的纯度越高。

属性a的基尼指数定义为:

[Gini_index(D,a)=v=1VDvDGini(Dv)] (5)

因此,在候选属性特征集合A中,选择那个使得划分后基尼指数最小的属性作为要选择的最优划分属性,即:

[a?=argmina∈A Gini_index(D,a)] (6)

2 集成卷积神经网络

2.1 数据集与CNN结构设计

数据样本分布对CNN的网络分类结果有重要影响,为使模型具有较大的差异化即多样性大的基学习器,且充分利用信息,首先将数据集按3∶1分为训练集和测试集,然后在训练集中随机抽取其3/4的样本数,抽取k次,共获得k个子训练数据集,对应k个CNN分类器,分别为 CNN1~ CNNk。为了保证所有训练集数据都有机会参与训练,在前两次抽取过程中对样本重复次数进行了控制,使得前两个模型中不重复的样本数覆盖了训练集。

在k个CNN模型中,池化层方法选择平均池化,并在网络最后添加Softmax分类器,节点数设定为3。设定卷积核步长在各方向均为1,边界处理采取不补零措施,激活函数选用修正线性单元(Relu),池化方法选择平均池化,网络损失函数采用交叉熵[18](Cross-entropy),模型训练算法采用自适应动量估计(Adam)[19]。

CNN基学习器的信息处理流程和结构参数如图1所示。首先将提取的ECG信号二维结构样本作为网络输入,然后进行五层卷积池化操作,提取和降维样本抽象特征,之后经过三层全连接层变换至3个输出点,通过连接Softmax分类器获得最终结果。

图1 卷积神经网络信息流程结构

图1中每个阶段由3个级联层组成:卷积层、激活层和池化层。根据模板C1(Size)-S1-C2(Size)-S2-C3(Size)-S3-C4(Size)-S4-C5(Size)-S5-H1-H2-O,C1到C5分别是第一阶段到第五阶段的过滤器数量,Size表示卷积核的大小,S1和S2是子抽样因子,H1、H2和O表示全连接层和输出层中的单元数。

本文设计的CNN網络结构参数为:32(5)-4-64(5)-4-64(5)-4-128(5)-4-128(5)-4-2000-256-3。这里的卷积核均为一维卷积。

2.2 集成策略

采用集成学习方法,可获得比单一学习器显著优越的泛化性能[13]。集成学习需要各基分类器之间存在一定的差异性,从而能够克服单个模型易陷入过拟合的缺陷。

本文在k个CNN基分类的基础上,通过投票法和学习法的集成策略,得到最终分类结果。[subset1~subsetk]为子训练集,[CNN1~CNNk]为基学习器,[feature={x1,x2,?],[xm}]为Softmax概率输出融合的新特征向量。

(1)投票法。根据基分类器的分类结果,按照“少数服从多数”的策略,提取出现最多的类别为最终分类标签。主要步骤如下:

Step1:采用K个子训练集训练出K个CNN学习器,训练完成后固化模型参数;

Step2:使用K个CNN固化模型并列提取测试集的输出结果标签;

Step3:按照“少数服从多数”的策略,提取出现最多的类别为最终分类标签。

(2) 学习法。即通过另一个学习器加以结合,框架如图2所示。学习法的主要步骤如下:

Step1:采用K个子训练集训练出K个CNN学习器,训练完后固化模型参数;

Step2:使用K个CNN固化模型并列提取训练集数据的Softmax概率输出结果作为特征向量;

Step3:融合提取的特征向量作为新特征向量,组成新的特征集;

Step4:将新的特征集送入随机森林分类器,训练随机森林分类器;

Step5:测试集重复Step2和Step3,然后送入训练好的随机森林分类器进行测试。

3 在ECG信号分类中的应用

3.1 ECG数据准备和预处理

本实验所用数据集来自中国心血管病数据库[20](the Chinese Cardiovascular Disease Database,CCDD)数据库中12导联的ECG信号样本,采样频率为500Hz,每条记录时间为10s左右,标注了专家对疾病的诊断结果。疾病名称和样本数如表1所示。

表1 实验样本数据分布

在数据处理中,由于人体的生理机能、疾病类型不同,使得相同ECG采样时间内包含的采样点数也不完全相同。为便于计算,本文统一选择截取4 500个点,再使用抽析的处理方法使每个导联统一成长度为2 250维的向量。处理完后,每副心电图转换为一个12*2 250的二维矩阵,将其作为一个样本。

为了去除噪声对实验结果的影响,在对数据截取之前,使用了MATLAB工具箱自带的巴特沃斯滤波器(Butterworth)对数据进行了低通滤波处理。截止频率Wn为0.08,滤波器的阶数N为4。

3.2 实验环境配置

实验数据处理环境为:MATLAB R2016b win64,Windows 7旗舰版系统,硬件配置Intel(R) Core(TM) i7-3770 CPU、主频3.40GHz、内存8GB。

算法运行云平台环境:Python3.6.4|Anaconda+tensorflow1.5.1,16.04.1-Ubuntu SMP,硬件配置CPU8核、内存32G、NVIDIA TITAN?X GPU一块。

3.3 实验参数设置

本文随机抽取样本次数k为7,构建7个CNN学习器。训练Bachsize中的训练数据样本数为256个,初始学习率设置为0.01。学习率采用了更灵活的学习率设置方法——指数衰减法。衰减系数是0.95,衰减速度是30轮一次。本文针对激活函数使用Relu函数,在其前面都添加了BN(Batch Normalization),并在全连接层后添加了Dropout方法。随机森林选择基学习器个数为200。

3.4 实验结果与分析

子模型和集成模型的识别率如表2和表3所示。

集成模型策略2,CNNRF在测试集中每类Precision、Recall、F1-score上的表现如表4所示。

表2 子模型识别率

表3 集成子模型与集成模型识别率

表4 CNNRF在各指标上的表现

[标签\&Precision\&Sensitivity/Recall\&F1-score\&0\&0.96\&0.96\&0.96\&1\&0.96\&0.97\&0.96\&2\&0.91\&0.90\&0.90\&]

与其它方法相比,结果如表5所示。

表5 与其它方法相比结果

各子模型CNN1~CNN7的准确率均低于集成模型CNNRF;CNNRF相比于CNNS(训练集)模型的准确率提高了1.09%,并且略优于CNN(投票法)。Reference[10,12]在2导联的ECG信号分类上的识别率达到了较高的识别水平,Reference[12]中对心房颤动的识别精度为94.76%,本文识别精度为96%,Reference[9,11]的准确率明显低于本文结果。相比而言,本文采用CCDD数据库中的12导联ECG信号更加复杂,在测量区间段,三分类准确率达94.60%,能够满足ECG信号识别研究需要。

4 结语

本文提出了一种基于集成卷积神经网络的心电信号识别方法,利用CNN可以自动提取样本抽象特征,避免了人工设计算法提取特征与降维等步骤,并设计了抽样方案,借助集成学习优势,集成了7个不同样本的基学习器,充分发挥了数据多样性的优势,获得了94.60%的分类准确率。但同时,深度学习对样本的数量要求较多,本文方法针对数据不均衡的数据集效果欠佳。针对这一不足,可以考虑使用生成式对抗网络进行数据增强,这也是下一步研究的方向。

参考文献:

[1] KODERA K,GENDRIN R,VILLEDARY C. Analysis of time-varying signals with small BT values[J]. IEEE Transactions on Acoustics, Speech and Signal Processing,1978,26(1):64-76.

[2] BOUOUDEN S,CHADLI M,KARIMI HR. Control of uncertain highly nonlinear biological process based on Takagi-Sugeno fuzzy models[J]. Signal Process,2015,108:195-205.

[3] GAO J,MURPHEY Y L,ZHU H. Multivariate time series prediction of lane changing behavior using deep neural network[J]. Applied Intelligence,2018,48(10):3523-3537.

[4] World Health Organization. 2017-2030全球病媒控制对策草案[Z]. 2017.

[5] KIRANYAZ S,INCE T,GABBOUJ M. Real-time patient-specific ECG classification by 1-D convolutional neural networks[J]. IEEE transactions on bio-medical engineering,2015,63(3):664-675.

[6] 项延德. 基于卷积神经网络的心电信号检测和分类研究[D]. 杭州:浙江大学,2018.

[7] 魏琛,陈兰岚,张傲. 基于集成卷积神经网络的脑电情感识别[J/OL]. 华东理工大学学报:自然科学版,2018-07-05.http://kns.cnki.net/KCMS/detail/31.1691.TQ.20180705.0940.001.html.

[8] 陈占刚. 基于深度神经网络的脑电情感识别研究[D]. 合肥:合肥工业大学,2018.

[9] HONG S,WU M,ZHOUY,et al. Encase: an ensemble classifier for ECG classification using expert features and deep neural networks[J]. Computing in cardiology (CinC),2017:1-4.

[10] ZHOU X, ZHU X,NAKAMURA K,et al. Atrial fibrillation detection using convolutional neural networks[C]. 2018 9th International Conference on Awareness Science and Technology (iCAST), 2018.

[11] PYAKILLYA B,KAZACHENKO N,MIKHAILOVSKY N. Deep learning for ECG classification[J]. Journal of Physics: Conference Series,2017,913(1):012004.

[12] SALEM M,TAHERI S,SHIUN-YUAN J. ECG arrhythmia classification using transfer learning from 2-Dimensional deep CNN features[C]. ?IEEE Biomedical Circuits and Systems (BioCAS),2018.

[13] 周志華. 机器学习[M]. 北京:清华大学出版社, 2016.

[14] LECUN Y L,BOTTOU L,BENGIO Y,et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE,1998,86(11):2278-2324.

[15] BREIMAN L. Randam forests[J]. Machine Learning,2001,45(1):5-32.

[16] TAISUKE S. A statistical learning method for logic programs with distribution semantics[C]. Logic Programming: The 12th International Conference,1995.

[17] 李航. 统计学习方法[M]. 北京:清华大学出版社,2012.

[18] BOER P T D,KROESE D P,MANNOR S,et al. A tutorial on the cross-entropy method[J]. Annals of Operations Research,2005,134(1):19-67.

[19] DIEDERIK K,JIMMY B. Adam:a method for stochastic optimization[C]. Proceedings of the 3rd International Conference on Learning Representations (ICLR),2015.

[20] ZHANG J W,LIU X,DONG J. CCDD: An enhanced standard ECG database with its management and annotation tools[J]. International Journal of Artificial Intelligence Tools, 2012,21(5):44-51.

(责任编辑:孙 娟)

猜你喜欢

随机森林卷积神经网络
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
拱坝变形监测预报的随机森林模型及应用
基于随机森林算法的B2B客户分级系统的设计
基于多视角特征融合与随机森林的蛋白质结晶预测