瞿文凤
(西华大学计算机与软件工学院,成都610039)
心血管疾病是一种慢性疾病,其特点是高风险性和急性发作,这对人们的健康是一个严重的威胁。近年来,针对心电信号的自动分类算法研究层出不穷,传统的心电分类方法是先选择特征提取方法,再选择分类技术,这种方法严重依赖人工提取特征,费时费力,且提取的特征好坏严重影响后续分类结果[1]。所以如何从大量的心电数据中自动学习好的特征并进行分类以提高算法的准确率,已经称为研究人员们广泛关注的研究热点。
随着人工智能技术的发展,深度学习(DL)掀起了研究热潮。DL 的思想是从输入数据中自动学习好的特征表示。与传统方法相比,DL 方法在图像分类、语音识别和生理数据等方面的应用都取得了显著的效果。典型的DL 网络模型包括深度置信网络(DBN)、堆叠式自动编码器(SAE)、卷积神经网络(CNN)等。其中深度置信网络(DBN)是Hinton 在2006 年提出的一种自动学习特征的网络[2],在图像分类和语音识别领域得到了很好的应用。DBN 由堆叠的受限玻尔兹曼机(RBM)组成,并以贪婪的分层方式进行训练。利用DBN 对心电信号进行自动特征学习并分类,研究意义在于利用深度神经网络自主学习特征和特征挖掘的特性,提取心电信号深层特征,进而完成心电信号的分类。这种方法可以避免显式特征提取过程,增强了算法的鲁棒性和抗干扰能力。
深度置信网络(DBN)是概率统计学与机器学习和神经网络相融合的一个概率生成模型,它是由若干个受限玻尔兹曼机(RBM)堆叠而成[2]。区别于传统的判别模型,生成模型是建立一个观察数据和标签之间的联合分布。通过训练其神经元间的权重,可以让整个神经网络按照最大概率来生成训练数据。深层置信网络的主要目的是帮助系统将数据分类到不同的类别。
受限玻尔兹曼机(RBM)是一种随机神经网络。它包括一个可见层和一个隐藏层。其特点为层内无连接,层间全连接[3]。并且,隐藏层神经元通常取二进制并服从伯努利分布,可见层神经元可以根据输入的类型取二进制或者实数值。RBM 的结构如图(1)所示。
从图(1)可以看出,上面一层神经元组成隐藏层,各神经元的值用h 向量表示,偏置系数是向量b;下面一层神经元组成可见层,各神经元的值用v 向量表示,偏置系数是向量a。其为双向全连接结构,矩阵W 表示两层之间的连接权重。目前主流的RBM 应用以及变种主要包括高斯-伯努利(GBRBM)以及二值/伯努利-伯努利(BBRBM)。根据v 和h 的取值不同,可将RBM 分成两大类,如果v 和h 都是二值分布,那么它就是BBRBM;如果v 是实数,例如语音特征,h 为二进制,那么则为GBRBM。
RBM 的训练过程,实际上是求出一个最能产生训练样本的概率分布。也就是说,要求一个分布,使得训练样本的概率最大。该分布的决定性因素在于权重W,所以训练RBM 的目标就是寻找最佳的权重。通常采用对比散度(CD)算法[3]或持久对比散度(PCD)算法[4]对RBM 进行训练。其中CD 算法在开始是用训练数据去初始化可见层,然后用条件分布计算隐藏层;然后,再根据隐藏层状态,同样,用条件分布计算可见层。这样产生的结果就是对训练数据的一个重构。
DBN 由若干层神经元构成,组成元件是RBM。经典的DBN 网络结构如图(2)所示。
DBN 的训练过程主要包括预训练阶段和权值微调阶段。在预训练阶段,分别单独无监督地逐层训练各层RBM,输入数据作为最底层RBM 的输入,通过这一次RBM 的训练,然后把输出作为第二层的输入,依次类推直到顶层。每一层RBM 经过多次迭代训练,得到无监督的DBN 网络。在权值微调阶段,在DBN 的最后一层设置BP 网络,接收最后一个RBM 的输出值作为其输入值,计算出前向传播的输出结果和标签数据的误差,通过自顶向下的有监督学习对网络进行微调。其中最后一层的BP 网络可以根据具体应用领域替换成任何分类器模型,而不一定是BP 网络,例如本文所提出的方法使用的就是Softmax 分类器。
图2 DBN的网络结构
本文所使用的数据集来源于MIT-BIH 心律失常数据库[4]。该数据库包含48 组双导联记录,每组记录时长约30min,采样率为360Hz,并且具有R 波位置和心跳类型标注。
为了进行比较分析,分类系统遵循AAMI 标准。根据AAMI 标准,心跳类型可以被分成五大类:①正常心搏(N);②室上异位搏动(S);③室性异位搏动(V);④融合心搏(F);⑤未知心搏类型(Q)。考虑到实际的临床应用,数据集的划分可按照跨病人(inter-patient)方式进行,这在很多文献中都被广泛使用。根据AAMI标准,包含起搏心跳(P)的四组记录(102、104、107 和217)将被排除。然后将剩下的44 组记录划分为两个独立的数据集。第一个数据集(DS1: 101、106、108、109、112、114、115、116、118、119、122、124、201、203、205、207、208、209、215、220、223 和230)构成训练集,用于分类模型的训练。第二个数据集(DS2:100、103、105、111、113、117、121、123、200、202、210、212、213、214、219、221、222、228、231、232、233 和234)构成测试集,用于分类模型的测试。
由于心电信号较微弱,易受噪声干扰,故本文先通过结合小波阈值法和小波分解重构算法进行噪声的滤除,以增强心电信号中的有效成分,便于后续的特征提取和分类。再在样条小波的基础上,采用B-样条小波函数作为尺度函数,将心电信号进行4 个尺度的小波分解,得出模极大值对过零点,即对应R 波峰值点。在成功检测出R 波峰后,以R 波位置为基准,截取R 波前99 个采样点,R 波后160 个采样点,共计260 个采样点,构成一个心拍样本。经过心拍划分后,DS1 共获得66557 个心拍样本,DS2 共获得64940 个心拍样本。其中类Q 被丢弃,因为这一类在数据集中仅有少量的表示,并且数量很低。
基于RBM 和DBN 基本原理,本文构建了一个结构为260-600-300-100-50 的DBN 网络对心拍样本进行特征学习和分类。
该DBN 网络共5 层,由高斯-伯努利(GBRBM)和伯努利-伯努利(BBRBM)两种受限玻尔兹曼机(RBM)叠加而成,并且在最后一层设置了一个Softmax 回归分类器。为了学习连续心电数据,在DBN 的底层采用GBRBM 接收心电数据作为输入,而其余4 层均由BBRBM 叠加而成。在预训练阶段,采用对比散度(CD)算法对每层RBM 进行顺序训练。因为分类的心跳类型有4 种(N,S,V,F),所以Softmax 分类器的输出节点数为4。在权值微调阶段,采用最小均方误差准则的反向传播算法对所构建的DBN 网络进行有监督的参数微调,使得整个DBN 网络模型收敛到全局最优值。本文设定无监督学习速率为0.01,监督学习速率为0.1,预训练和微调迭代次数为200,微批次大小为100。
为了评价分类模型的性能,本文采用了三个统计指标:灵敏度(Se)、特异性(Sp)和正确率(Acc)。Se、Sp分别用于评估每一种心跳类型的系统性能,Acc 用于确定整个系统的性能,由正确分类的总数除以总的心跳数计算。其定义如公式(1)-(3)所示:
其中,TP、FP、FN 和TN 分别表示属于该类且被分类器正确分类的样本数,不属于该类但被错误分类的样本数,属于该类但被错误分类的样本数,不属于该类且被正确分类的样本数。表1 显示了本文提出的基于DBN 的分类模型对心电信号分类的混淆矩阵。
表1 分类混淆矩阵
性能比较以S 和V 为主,如表2 所示。由表2 可知,本文所提出的方法具有较好的分类性能,尤其是S类(Se 90.3%,Sp 99.8%,Acc 99.4%)。
表2 分类结果比较
本文提出了一种基于深度置信网络的心电信号分类方法。在对心电信号进行滤波等预处理后,利用DBN 从心电数据中自动学习抽象特征并构建分类模型,通过在MIT-BIH 心律失常数据库上进行测试,最终的实验结果表明本文所提出的方法和传统人工设计的心电信号分类方法相比分类具备更好的分类性能。未来的研究将集中于提高分类精度和基于其他深度学习模型的动态建模方法。