悲伤的汉堡包 · java word ...· 1 月前 · |
性感的大象 · MySql查询,聚合函数,分组,分页,排序等 ...· 3 月前 · |
焦虑的双杠 · excel数据处理一:巧妙使用openpyx ...· 8 月前 · |
开朗的路灯 · 大模型遭泄两月后,Meta意外变赢家_手机新浪网· 1 年前 · |
骑白马的皮带 · 怎么排查 Spring Boot ...· 1 年前 · |
上海理工大学机械工程学院,上海 200093, School of Mechanical Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China 日本中央大学理工学部精密工学 科,日本 东京 112-0003, Faculty of Science and Engineering, Chuo University, Tokyo 112-0003, Japan
上海理工大学机械工程学院,上海 200093, School of Mechanical Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China
上海理工大学图书馆,上海 200093, Library, University of Shanghai for Science and Technology, Shanghai 200093, China 上海理工大学光电与计算机学院,上海 200093, School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China
上海理工大学机械工程学院,上海 200093, School of Mechanical Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China 日本中央大学理工学部精密工学 科,日本 东京 112-0003, Faculty of Science and Engineering, Chuo University, Tokyo 112-0003, Japan 上海理工大学机械工程学院,上海 200093, School of Mechanical Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China 日本中央大学理工学部精密工学 科,日本 东京 112-0003, Faculty of Science and Engineering, Chuo University, Tokyo 112-0003, Japan 上海理工大学图书馆,上海 200093, Library, University of Shanghai for Science and Technology, Shanghai 200093, China 上海理工大学光电与计算机学院,上海 200093, School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China
其中, X 0 , X 1 , …, X n 分别为第0, 1, …, n 层的输出特征;[]代表级联运算; H n 代表第 n 层的非线性变换函数。
过渡层包含批量归一化、Relu函数、卷积层和池化层(Pooling)。由于密集连接使得网络参数增多,通常将池化层中的通道数减少一半来减少特征数量,提高模型运行速度。
长短时记忆网络(LSTM)是一种特殊的循环神经网络,主要解决序列数据的长期依赖问题。如( 图 4 )所示,LSTM中的输入门( i t )、输出门( O t )以及遗忘门( f t )可以大幅度提高模型处理序列数据的能力。LSTM的输入包括当前时刻的输入 x t ,上一时刻记忆单元的状态 c t -1 以及上一时刻的输出 h t -1 ,经过tanh、 σ (Sigmoid)等函数的运算可以得到当前时刻的输出 h t 以及当前时刻记忆单元的状态 c t 。
LSTM能够提取时序信号的特征,但是无法同时捕捉前后时刻波形特征之间的联系,BiLSTM有效解决了这一问题。( 图 5 )为BiLSTM结构,图中前向LSTM和后向LSTM构成BiLSTM的前向和后向传输层,其中 和 分别为当前时刻前向和后向传输层的输出值。在BiLSTM中输入 x t ,经过传输层等一系列计算就能得到输出 y t 。
ECANet( 图 6 )主要是给重要特征赋权重值,提升模型对心电信号重要特征(P波、QRS波群、T波的宽度和幅值以及RR间期的长度等特征)的提取能力。其工作过程:首先使用全局平均池化层(GAP)把输入特征( x )变为单个数值;然后在不降低维度的情况下使用卷积核尺寸为 k 的一维卷积来生成通道权重;最后通道权重通过乘法加权到输入特征上,得到输出特征( )。
首先基于深度学习网络模型,采用并行分支结构,分别输入小尺度心拍和大尺度心拍。然后每个分支中包含2个DenseNet和1个BiLSTM,并且在这两个网络后面加入1个ECANet。为了缓解过拟合,在每个分支的末尾分别引入全局平均池化层(GAP)和丢弃层(Dropout)。最后将两个分支提取的特征进行融合,使用Softmax函数实现心律失常的4分类。在训练模型的过程中,batch_size为128,epoch为50,使用Adam优化器,学习率为0.001,最大池化层(MaxPool1D)的步长和池化核尺寸都为2,使用交叉熵损失函数实现对模型的训练 [ 34 ] 。模型的其余超参数见( 表 1 ),并行网络分类模型结构见( 图 7 )。
Type of network | Number of Conv1D | Number of Conv1D kernels *size | Output size 1 | Output size 2 |
Conv1D means 1-dimensional convolutional layer with step size 1; Dropout parameter is set to 0.5; Concatenate means stitching operation; FC means fully connected layer. | ||||
Inputs | - | - | 300*1 | 550*1 |
- | Conv1D*1 | 8*32 | 300*8 | 550*8 |
DenseNet1 | Conv1D*3 | 16*32 | 300*16 | 550*16 |
Conv1D*1 | 28*32 | 300*28 | 550*28 | |
ECANet1 | Conv1D*1 | 1*3 | 150*28 | 275*28 |
DenseNet2 | Conv1D*2 | 32*32 | 150*32 | 275*32 |
Conv1D*1 | 46*32 | 150*46 | 275*46 | |
ECANet2 | Conv1D*1 | 1*5 | 75*46 | 138*46 |
BiLSTM | - | - | 75*256 | 138*256 |
ECANet3 | Conv1D*1 | 1*5 | 75*256 | 138*256 |
GAP+Dropout | - | - | 256 | 256 |
Concatenate+FC | - | - | 128 | - |
Softmax | - | - | 4 | - |
本文采用MIT-BIH心律失常数据库中MLII导联的数据评估心律失常的分类性能。MLII导联中包含48条患者记录,采样频率为360 Hz。由于4条患者记录质量较低,因此只对剩下44条患者记录采用1.1节中的方法进行预处理,一共得到100 634个样本,其中N、S、V、F这4类样本个数分别为90 045、2780、7007、802。本文采用留出法 [ 35 ] 验证模型性能,具体方法是将100 634个样本以3∶1∶1的比例划分为训练集、验证集和测试集 [ 36 ] 。为了缓解类别不平衡问题,采用SMOTE算法对训练集中的S类和F类进行数据增强,使其数量与V类数量一致,因此数据增强后,训练集、验证集和测试集数量分别为66 509、20 127和20 127。
实验平台的CPU为i5-10500K,操作系统为Window10,显卡为RTX2080Ti,内存为11G,实验基于Python3.7和Tensorflow2.1实现。
通常使用混淆矩阵(CM)表示模型的分类结果 [ 37 , 38 ] ,混淆矩阵的每一行代表真实类别,每一列代表预测类别,表示如下:
其中, n ij 代表类别为 i 的样本的数量被归类为类别为 j 的数量; K 代表混淆矩阵的维度。
分类模型总体性能的评价指标,通常使用总体准确率(OverallAccuracy)、平均灵敏度(Average Sensitivity)和平均特异性(Average Specificity) [ 16 ] ,计算公式如下:
其中,总体准确率代表被正确分类的样本占所有样本的比例;平均灵敏度代表所有类别灵敏度的平均值,平均灵敏度越高说明总体漏诊率越低;平均特异性代表所有类别特异性的平均值,平均特异性越高说明总体误诊率越低 [ 32 ] 。
实验1的数据集采用测试集。在并行输入小尺度心拍和大尺度心拍的情况下,对DenseNet,BiLSTM,ECANet三种网络模型组合性能进行对比,其混淆矩阵见 表 2 ,其中,“1”代表DenseNet;“2”代表BiLSTM;“3”代表ECANet。
Model | 2+3 | 1+3 | 1+2 | 1+2+3 | ||||||||||||||||
N | S | V | F | N | S | V | F | N | S | V | F | N | S | V | F | |||||
Predictive value | N | 17850 | 44 | 21 | 19 | 17 885 | 12 | 14 | 23 | 17 854 | 38 | 31 | 11 | 17 876 | 37 | 10 | 11 | |||
S | 59 | 491 | 4 | 1 | 93 | 454 | 8 | 0 | 35 | 513 | 7 | 0 | 22 | 531 | 2 | 0 | ||||
Actual value | V | 22 | 5 | 1426 | 16 | 21 | 2 | 1432 | 14 | 15 | 3 | 1434 | 17 | 12 | 4 | 1437 | 16 | |||
F | 12 | 0 | 7 | 150 | 7 | 0 | 14 | 148 | 11 | 0 | 6 | 152 | 8 | 0 | 7 | 154 |
表 2 给出4种并行网络分类模型的混淆矩阵,结合公式(2)~(5)可知,BiLSTM+ECANet的总体准确率、平均灵敏度和平均特异性分别为98.96%、93.46%、98.84%。DenseNet+ECANet的总体准确率、平均灵敏度和平均特异性分别为98.97%、91.65%、98.51%。DenseNet + BiLSTM的总体准确率、平均灵敏度和平均特异性分别为99.14%、94.86%、99.16%。DenseNet+ECANet+ BiLSTM(本文所提模型)的总体准确率、平均灵敏度和平均特异性分别为99.36%、96.08%、99.41%。实验1还给出本文所提模型测试一次测试集所需的时间为17 s。
实验2的数据集采用测试集。实验2在实验1的基础上,将本文所提的并行网络分类模型(DenseNet+ BiLSTM+ECANet)分别与机器学习并行分类模型和采用单个心拍输入方式的深度学习分类模型进行性能对比( 表 3 )。其中,PCA指主成分分析,DTW指动态时间归整,ELM指极限学习机。
Model structure | Input | Evaluation index | ||
Overall accuracy (%) | Average sensitivity (%) | Average specificity (%) | ||
PCA+DTW+SVM [ 12 ] | Single heartbeat and RR interval | 97.80 | 88.83 | - |
CNN+ELM [ 14 ] | Single heartbeat | 98.51 | 94.41 | 98.45 |
CNN [ 15 ] | Single heartbeat | 99.06 | 89.85 | 98.28 |
CNN+LSTM [ 16 ] | Single heartbeat | 98.93 | 94.43 | 99.33 |
DenseNet+ECANet+BiLSTM | Small-scale heartbeat and large-scale heartbeat | 99.36 | 96.08 | 99.41 |
表 3 中,文献[ 12 ]采用并行输入结合机器学习分类模型进行分类,总体准确率达到97.80%。文献[ 14 - 16 ]均采用单个心拍输入结合深度学习分类模型进行分类,总体准确率和平均特异性达到98%以上,平均灵敏度基本都超过90%。本文所提模型的总体准确率、平均灵敏度和平均特异性同实验1。
实验3的数据集采用训练集和验证集,以验证实验1中提出的4种并行网络分类模型的收敛性能。为基于4种并行网络分类模型的准确率与损失率的收敛图( 图 8 )。
显示在开始训练模型时,4种并行网络分类模型基于训练集和验证集的准确率和损失率曲线变化很快( 图 8 )。DenseNet+BiLSTM+ECANet(本文所提模型)基于训练集和验证集的准确率曲线上升速度最快,当epoch大于40后,两条曲线趋于平稳,基本实现收敛,并且没有出现严重的过拟合 图 8 准确率曲线。其余3种模型基于训练集和验证集的准确率曲线上升速度较慢,并且都存在一定程度的波动。本文所提模型基于训练集和验证集的损失率曲线下降最快,并且在epoch大于40后,也基本实现收敛,没有出现严重的过拟合 图 8 损失率曲线。除此之外,实验3还给出本文所提模型训练一次训练集所需的时间为41 s。
在并行网络分类模型中,BiLSTM + ECANet和DenseNet+ECANet的总体准确率和平均特异性都没有超过99%,相比之下,DenseNet+BiLSTM的在总体准确率和平均特异性得到提高,但是平均灵敏度不高,这会增加疾病漏诊的风险。相比以上3种模型,DenseNet+ BiLSTM+ECANet(本文所提模型)的总体准确率、平均灵敏度和平均特异性最高,分别达到99.36%、96.08%、99.41%,表明DenseNet通过对心电信号波形特征的重利用,有助于进一步挖掘隐藏特征,提高模型的总体准确率;ECANet通过增加权重的方式,增强心电信号中P波、QRS波群、T波的幅值和宽度等重要特征,从而提高模型的平均灵敏度;BiLSTM的使用,解决了DenseNet受卷积核尺寸的限制使其不能充分捕捉心电信号波形特征前后联系的问题,提升了模型的平均特异性,实验证明DenseNet,BiLSTM,ECANet的组合改善了模型的分类性能。
虽然采用需要人工特征提取的机器学习分类模型,但是通过使用并行输入的方式使其总体准确率达到97.80% [ 12 ] 。本文所提模型都采用深度学习网络模型进行分类,总体准确率都超过98%,与前人报道一致 [ 14 - 16 ] 。但本文所提模型的平均灵敏度和平均特异性更高。主要原因本文采用并行输入,并行输入不仅可以提取单个心拍的波形特征,还能提取RR间期的波形特征,从而丰富模型提取的特征数量,进一步证明本文所提模型能够实现心律失常的有效分类。
本文所提模型基于训练集和验证集的准确率与损失率曲线都实现收敛,随着epoch的增加,准确率最早达到99%,损失率最早达到0.3,表明收敛速度较快。同时,本文所提模型每次训练时间为41s,有些模型每次训练时间分别为118 s和150 s [ 17 , 36 ] ,三者对比表明,本文所提模型可快速准确识别不同种类心律失常的特征。
综上所述,本文提出基于深度学习的心律失常并行网络分类模型实现对N、S、V、F这4种心律失常的分类。该模型并行输入小尺度心拍和大尺度心拍以提取单个心拍和RR间期的波形特征。运用DenseNet充分提取心电信号波形特征,较好地捕捉到心电信号波形中的隐藏特征。使用BiLSTM获得心电信号波形的前后依赖关系。ECANet的引入,增强对重要波形特征的识别能力,减少模型参数数量,提高了模型运行速度。基于MIT-BIH心律失常数据库的对比实验表明,模型在总体准确率、平均灵敏度,平均特异性这3个指标上取得了较为满意的结果,并且训练时间较短,因此适合用于可穿戴式心电设备等领域。后续研究可尝试将基于深度学习的心律失常并行网络分类模型移植到便携式心电监护设备上,实现心律失常便捷快速临床诊断。
国家自然科学基金(51375314)
Supported by National Natural Science Foundation of China (51375314)
开朗的路灯 · 大模型遭泄两月后,Meta意外变赢家_手机新浪网 1 年前 |