短时训练卷积神经网络的心电信号分类方法

文档序号:29964250发布日期:2022-05-11 09:52阅读:94来源:国知局
短时训练卷积神经网络的心电信号分类方法

1.本发明属于心电信号分类识别技术领域,涉及一种短时训练卷积神经网络的心电信号分类方法。


背景技术:

2.心电信号是利用心电图机从体表记录心脏每一心动周期所产生的电活动变化图形的技术,是临床最常用的检查之一,应用广泛,包括,记录人体正常心脏的电活动、帮助诊断心律失常、帮助诊断心肌缺血、心肌梗死及部位、诊断心脏扩大、肥厚、判断药物或电解质情况对心脏的影响、判断人工心脏起搏状况等。不同波形的心电信号能够反映出心脏不同类型的病变,识别出心电信号不同类型的波形对于临床诊断具有相当重要的意义,更是对于心内科医生必备的技能之一,为了辅助医生的诊断,降低误诊率和提高诊疗效率,近几年来随着信息技术的发展,利用人工智能对心电信号进行分类的算法渐渐出现。
3.随着机器学习的发展,其中典型的算法支持向量机。支持向量机是一种小样本学习方法,能够高效的实现从训练样本到预测样本的推导,且具有较好的鲁棒性。将支持向量机应用在心电信号分类任务中可实现心电信号的精准分类,能够达到甚至超过心内科医生的准确度。但是在利用支持向量机处理高维信号或者多分类问题时,均会存在分类精度降低或者计算复杂度过高的问题。
4.深度学习通常将简单的模型组合在一起,将数据从一层传递到另一层来构建更复杂的模型,可有效提高高维信号或多分类问题的分类准确度。卷积神经网络是目前最流行的深度学习算法之一,在各个应用中都展现了不错的效果。在心电信号分类中表现出的分类准确度大幅度超过了传统机器学习方法。但是为了实现高性能,深层网络需要在非常大的数据集上进行训练,这将增加模型的训练难度同时将消耗大量的时间。


技术实现要素:

5.本发明的目的是提供一种短时训练卷积神经网络的心电信号分类方法,解决了卷积神经网络在大数据集上训练耗时较长的问题,同时提高了心电信号分类的准确度。
6.本发明所采用的技术方案是,短时训练卷积神经网络的心电信号分类方法,具体包括如下步骤:
7.步骤1,载入mit-bih数据库中的心电信号g(n)并进行去噪,得到去噪后的心电信号f(n);
8.步骤2,对步骤1所得的心电信号f(n)进行r波检测并截取qrs波所处的心拍段w;
9.步骤3,根据mit-bih数据库中心拍标签对步骤2截取的心拍段w进行分类,并在每一类中随机选取n个心拍得到心拍矩阵d和与心拍矩阵d对应的标签矩阵l;
10.步骤4,利用小波变换对步骤3中的心拍矩阵d进行特征系数提取得到特征矩阵f;
11.步骤5,对特征矩阵f进行随机切分得到训练集心拍train_f和测试集心拍test_f,并根据标签矩阵l生成训练集心拍对应的标签train_l和测试集心拍对应的标签test_l;
12.步骤6,建立卷积神经网络,利用步骤5中得到的训练集和测试集对建立的网络进行训练与测试,分别得到正常心拍准确度a1、左束支阻滞心拍准确度a2、右束支阻滞心拍准确度a3、早搏心拍准确度a4、整体准确度a。
13.本发明的特点还在于:
14.步骤2的具体过程为:
15.步骤2.1,利用动态双阈值法对心电信号f(n)进行r波检测,得到r波的位置向量p;
16.步骤2.2,以检测出r波的位置为基准,并根据q波和s波相对于r波的时间位置分别向前向后截取,得到qrs波所在的心拍段w:
17.w=[

,p(i)-wq*fs:p(i):p(i)+ws*fs,

];
[0018]
其中,wq代表q波相对于r波的最大时间距离,ws代表s波相对于r波的最大时间距离,fs代表采样率,p(i)为第i个r波对应的采样点数,i=1,2,

,nr,nr表示步骤2.1检测出r波的总个数。
[0019]
步骤3中心拍矩阵d为:
[0020][0021]
其中,s1为正常心拍信号矩阵,s2为左束支阻滞信号矩阵,s3为右束支阻滞信号矩阵,s4为早搏信号矩阵;
[0022]
步骤3中的标签矩阵l为:
[0023][0024]
其中,l1为与正常心拍信号矩阵s1对应的标签矩阵;l2为与左束支阻滞信号矩阵s2对应的标签矩阵;l3为与右束支阻滞信号矩阵s3对应的标签矩阵;l4为与早搏信号矩阵s4对应的标签矩阵。
[0025]
步骤4的具体过程为:
[0026]
步骤4.1,利用离散化的多贝西小波对步骤3得到的心拍矩阵d进行小波分解,得到系数矩阵c:
[0027]
c=wavedec(d,nc,'name');
[0028]
其中,wavedec(
·
)表示小波变换函数,nc代表小波分解层数,name代表选取的小波类型;
[0029]
步骤4.2,根据步骤4.1得到的系数矩阵c,选取前m个作为特征系数,得到新的特征矩阵f。
[0030]
步骤6的具体过程为:
[0031]
步骤6.1,搭建cnn卷积神经网络;
[0032]
步骤6.2,利用步骤5得到的训练集,使用随机梯度下降法对步骤6.1建立的cnn卷积神经网络进行训练;
[0033]
步骤6.3,利用步骤5得到的测试集,对步骤6.2训练好的网络进行测试,分别得到正常心拍准确度a1、左束支阻滞心拍准确度a2、右束支阻滞心拍准确度a3、早搏心拍准确度a4、整体准确度a:
[0034][0035][0036][0037][0038][0039]
其中,n
test
为测试集心拍总数,tp1为正常心拍被分类为正常心拍的心拍数,tn1为非正常心拍被分类为非正常心拍的心拍数,tp2为左束支阻滞心拍被分类为左束支阻滞心拍的心拍数,tn2为非左束支阻滞心拍被分类为非左束支阻滞心拍的心拍数,tp3为右束支阻滞心拍被分类为右束支阻滞心拍的心拍数,tn3为非右束支阻滞心拍被分类为非右束支阻滞心拍到的心拍数,tp4为早搏心拍被分类为早搏心拍的心拍数,tn4为非早搏心拍被分类为非早搏心拍的心拍数。
[0040]
本发明的有益效果是,本发明提供的短时训练卷积神经网络的心电信号分类方法,相比于传统机器学习方法,本发明由于采用卷积神经网络,可有效提高心电图的分类准确度;相比于卷积神经网络由于引入小波分解,提取心电信号的特征系数,降低了心电信号的数据维数,提高了网络的训练速度。
附图说明
[0041]
图1是本发明短时训练卷积神经网络的心电信号分类方法的流程图。
具体实施方式
[0042]
下面结合附图和具体实施方式对本发明进行详细说明。
[0043]
本发明短时训练卷积神经网络的心电信号分类方法,流程图如图1所示,具体按照以下步骤实施:
[0044]
步骤1,载入mit-bih数据库中的心电信号g(n)并进行去噪,得到去噪后的心电信号f(n):
[0045]
f(n)=g(n)*h(n);
[0046]
其中,h(n)为fir滤波器的单位脉冲响应,与qrs波所在频段有关,*为卷积运算。
[0047]
步骤2,对f(n)进行r波检测并截取qrs波所处的心拍段w。
[0048]
步骤2具体步骤如下:
[0049]
步骤2.1,利用动态双阈值法对心电信号f(n)进行r波检测,得到r波的位置向量p。
[0050]
2.1.1,设定初始高阈值θ1、初始低阈值θ0、高阈值下限θ1_lim及低阈值下限θ0_lim;
[0051]
2.1.2,利用峰值搜算函数搜索心电信号f(n)中的峰值,得到峰值幅度集合φf和相应的位置集合φs;
[0052]
2.1.3,设峰值幅度集合φf中的前d个峰值均为r波,并构成r波位置矢量p和r波峰值检测集合d;
[0053]
2.1.4,对峰值集合φf中的d+1个峰值进行判定,并更新集合p和d:
[0054]
若φf(d+1)≥θ1,则认定为是r波
[0055]
p=[p,φs(d+1)],d={d-1
,φs(d+1)};
[0056]
若φf(d+1)<θ1,则认定为不是r波;
[0057]
其中,d-1
表示去掉集合d中的第一个元素;
[0058]
2.1.5,根据峰值集合φf中的d+1个峰值φf(d+1)和集合d,更新阈值θ1和θ0:
[0059][0060][0061]
其中,mean(.)表示求均值。
[0062]
2.1.6,令d=d+1,并根据更新后的阈值θ1和θ0,重复步骤2.1.4和步骤2.1.5,直到集合φf中的所有峰值判定完成,得到心电信号中的r波位置矢量p。
[0063]
步骤2.2,以检测出r波的位置为基准,并根据q波和s波相对于r波的时间位置分别向前向后截取,得到qrs波所在的心拍段w:
[0064]
w=[

,p(i)-wq*fs:p(i):p(i)+ws*fs,

];
[0065]
其中,wq代表q波相对于r波的时间距离,ws代表s波相对于r波的时间距离,fs代表采样率,p(i)为第i个r波对应的采样点数,i=1,2,

,nr,nr表示步骤2.1检测出r波的总个数。
[0066]
步骤3,根据mit-bih数据库中心拍标签对步骤2截取的心拍段进行分类,并在每一类中随机选取n个心拍得到心拍矩阵d和与之对应的标签矩阵l:
[0067][0068]
其中,s1为正常心拍信号矩阵,s2为左束支阻滞信号矩阵,s3为右束支阻滞信号矩
阵,s4为早搏信号矩阵;
[0069]
步骤3中的标签矩阵l为:
[0070][0071]
其中,l1为与正常心拍信号矩阵s1对应的标签矩阵;l2为与左束支阻滞信号矩阵s2对应的标签矩阵;l3为与右束支阻滞信号矩阵s3对应的标签矩阵;l4为与早搏信号矩阵s4对应的标签矩阵。
[0072]
步骤4,利用小波变换对步骤3中的心拍矩阵d进行特征系数提取得到特征矩阵f,步骤4的具体过程如下:
[0073]
步骤4.1,根据心电信号的特点,利用离散化的多贝西小波对步骤3得到的心拍矩阵d进行小波分解,得到系数矩阵c:
[0074]
c=wavedec(d,nc,'name');
[0075]
其中,wavedec(
·
)表示小波变换函数,nc代表小波分解层数,name代表选取的小波类型。
[0076]
步骤4.2,根据步骤4.1得到的系数矩阵c,选取前m个作为特征系数,得到新的特征矩阵f,其中m小于心拍矩阵d的列数。
[0077]
步骤5,对特征矩阵f进行随机切分得到训练集心拍train_f和测试集心拍test_f,并根据标签矩阵l生成训练集心拍对应的标签矩阵train_l和测试集心拍对应的标签矩阵test_l。
[0078]
步骤6,建立卷积神经网络,利用步骤(5)中得到的训练集和测试集对建立的网络进行训练与测试,分别得到正常心拍准确度a1,左束支阻滞心拍准确度a2,右束支阻滞心拍准确度a3,早搏心拍准确度a4,整体准确度a以及整个过程所消耗的时间t
total
。步骤6的具体过程如下:
[0079]
步骤6.1,搭建cnn卷积神经网络。
[0080]
cnn{卷积层:卷积核数:c1;卷积核大小:m1;激活函数:relu函数;
[0081]
池化层:池化步长:l1;池化类型:均值;
[0082]
卷积层:卷积核数:c2;卷积核大小:m2;激活函数:relu函数;
[0083]
池化层:池化步长:l2;池化类型:均值;
[0084]
全连接层:softmax分类器};
[0085]
其中relu函数为f(x)=max(0,x),max(
·
,
·
)表示取最大值。
[0086]
步骤6.2,利用步骤5得到的训练集,使用随机梯度下降法对步骤6.1建立的cnn卷积神经网络进行训练,得到训练好的模型。
[0087]
步骤6.3,利用步骤5得到的测试集,对步骤6.2训练好的模型进行测试,分别得到正常心拍准确度a1,左束支阻滞心拍准确度a2,右束支阻滞心拍准确度a3,早搏心拍准确度a4,整体准确度a以及整个过程所消耗的时间t
total

[0088]
[0089][0090][0091][0092][0093]
其中,n
test
为测试集心拍总数,tp1为正常心拍被分类为正常心拍的心拍数,tn1为非正常心拍被分类为非正常心拍的心拍数,tp2为左束支阻滞心拍被分类为左束支阻滞心拍的心拍数,tn2为非左束支阻滞心拍被分类为非左束支阻滞心拍的心拍数,tp3为右束支阻滞心拍被分类为右束支阻滞心拍的心拍数,tn3为非右束支阻滞心拍被分类为非右束支阻滞心拍到的心拍数,tp4为早搏心拍被分类为早搏心拍的心拍数,tn4为非早搏心拍被分类为非早搏心拍的心拍数,t
total
为模型训练并完成测试在计算机上所消耗的总时间。
[0094]
本发明对心电信号分类性能可通过以下仿真进一步验证。
[0095]
1.实验参数:
[0096]
本实验采用48条mit-bih数据库双导联心电信号,每条记录都采用ii导联,每条记录长度为30分钟,采样率fs=360hz。本发明中每一类随机选取心拍个数n为5000,梯度下降法采用的学习率为0.01,卷积神经网络批处理尺寸为16,训练迭代次数为30,小波分解的层数为5,特征系数个数m=25。
[0097]
构建的cnn网络为:
[0098]
cnn{卷积层:卷积核数:4;卷积核大小:6;激活函数:relu函数;
[0099]
池化层:池化步长:5;池化类型:均值;
[0100]
卷积层:卷积核数:8;卷积核大小:2;激活函数:relu函数;
[0101]
池化层:池化步长:3;池化类型:均值;
[0102]
全连接层:softmax分类器}
[0103]
实验环境:intel core i5-7500;8gb内存;windows 10,软件版本:matlab 2016a。
[0104]
2.实验内容与分析
[0105]
实验内容:用支持向量机、卷积神经网络算法和本发明方法对数据集的48条双导联心电信号进行分类,分别得到这三种算法对应的混淆矩阵如表1、表2、表3所示。
[0106]
表1
[0107][0108]
表2
[0109][0110]
表3
[0111][0112]
表中每一行代表了数据的真实归属类别,每一列表示被分类为该类别的心拍总数。如表1中正常心拍被分类为正常心拍的个数为2448个,正常心拍被分类为左束支阻滞心拍的个数为0个,正常心拍被分类为右束支阻滞心拍的个数为2个,正常心拍被分类为早搏心拍的个数为2个。其余同理。
[0113]
实验分析:
[0114]
为了评价算法分类的准确度以及所消耗的时间,本实验将三种不同的算法对四种不同类型心拍的分类准确度和用时进行了比较。
[0115]
表4
[0116][0117]
从上表可以看出本发明方法相对支持向量机法在mit-bih数据集上虽然用时有所增加,但整体的准确度和各类型心拍分类的准确度均显著增加。本发明方法相对卷积神经网络算法,可以看出在整体准确度和各类型心拍准确度都有小幅度提升的情况下,用时大幅度降低,算法的实时性得到了显著的提升。
[0118]
综上所述,在心电信号卷积神经网络分类过程中,本发明方法能够有效提取心电信号中的特征系数,从而在保持准确度较高的情形下,显著降低算法消耗时间,提高了算法的实时性,增加了算法的实用性。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1