1.摘要:

ECG Signal Classification Using Deep Learning Techniques Based on the PTB-XL Dataset

心电信号的分析与处理是心血管疾病诊断的重要手段。该领域的主要工作领域是分类,它越来越多地得到基于机器学习的算法的支持。在这项工作中,开发了一个深度神经网络来自动分类初级心电信号。这项研究是在PTB-XL数据库中包含的数据上进行的。提出了三种神经网络架构:第一种基于卷积网络,第二种基于SincNet,第三种基于卷积网络,但附加了基于熵的特征。数据集被分为训练集、验证集和测试集,比例分别为70%、15%和15%。这些研究分别针对2、5和20类疾病实体进行。带有熵特征的卷积网络得到了最好的分类结果。没有基于熵的特征的卷积网络获得的结果略差,但由于神经元数量显著减少,计算效率最高。

关键词:心电信号;分类;PTB-XL;深度学习

2.材料和方法

2.1数据库

PTB-XL心电数据库:PTB-XL心电图数据集包含21,837个临床12导联心电图,来自18,885名患者,长度为10秒,样本频率为500 Hz和100 Hz,分辨率为16位。

normal -正常ECG, cd -心肌梗死,STTC-ST /T改变,mi -传导障碍,hyp -肥厚

数据集被分为训练集、验证集和测试集,比例分别为70%、15%和15%。

3.网络构架

本研究比较了三种神经网络(convolutional network, SincNet, convolutional network with entropy features)对心电信号的正确分类。研究包括对所提出的神经网络模型的实现和测试。交叉熵损失作为损失函数。

3.1convolutional network

优化器:Adam

batchsize:128

lr=0.0001

input:由12个通道组成,每个通道包含1000个样本的心电信号作为输入,并输出一个应用softmax函数归一化的类分布向量。

使用LeakyReLU代替基本的ReLU来保存输出负值的神经元的梯度损失。

激活函数:

3.2 SincNet

ncNet层设计用于从原始信号的数据样本中提取低级特征。SincNet层通过对输入信号进行卷积来训练“小波”进行特征提取:

12通道心电信号的每个通道都由一个专用的SincNet块处理。每个块的结果被连接起来,平铺成一维向量的格式,并用作后续两个全连接层的输入,分别使用LeakyReLU和softmax激活函数。输出值是一个一维向量,描述输入信号属于所定义的每个类的概率分布。

3.3 Convolutional Network with Entropy Features

该网络对心电信号进行处理,并计算每个通道的熵值。

该网络的计算图由两个分支组成。在第一个分支中,12通道心电信号通过LeakyReLU激活函数的五个后续一维卷积层传递。在第二个分支中,输入信号用于计算信号每个通道的熵向量。来自两个分支的计算结果被连接起来并被平展为一维矢量的格式。计算结果由具有softmax激活函数的全连通层处理。输出值是一个一维向量,描述了输入信号属于所定义的每个类的概率分布。

4.结果

两类识别率下,基于卷积网络的识别率为88.2%,五类识别率为72.0%。同样,基于SincNet的网络在识别两个类别时ACC达到了85.8%,在识别五个类别时ACC达到了73.0%。基于熵特征卷积网络的网络在识别两个类时的识别率为89.82%,在识别五个类时的识别率为76.5%。

来源:Śmigiel S, Pałczyński K, Ledziński D. ECG Signal Classification Using Deep Learning Techniques Based on the PTB-XL Dataset. Entropy (Basel). 2021 Aug 28;23(9):1121. doi: 10.3390/e23091121. PMID: 34573746; PMCID: PMC8469424.

基于PTB-XL数据集的深度学习心电信号分类相关推荐

  1. 雅虎开源CaffeOnSpark:基于Hadoop/Spark的分布式深度学习

    雅虎开源CaffeOnSpark:基于Hadoop/Spark的分布式深度学习 [日期:2016-02-26] 来源:极客头条 作者: [字体:大 中 小] 在基于Hadoop集群的大规模分布式深度学 ...

  2. 文献阅读(44)—— 基于眼底照的近视深度学习算法和区块链平台,以促进人工智能医学研究:回顾性多队列研究

    基于眼底照的近视深度学习算法和区块链平台,以促进人工智能医学研究:回顾性多队列研究 Retinal photograph-based deep learning algorithms for myop ...

  3. 基于协同过滤算法和深度学习的音乐推荐

    基于协同过滤算法和深度学习的音乐推荐 协同过滤 音乐推荐 深度学习 音乐检索 文章目录 基于协同过滤算法和深度学习的音乐推荐 Github 地址 微信小程序版实现 介绍 参考项目 技术栈 Docker ...

  4. 基于可解释人工智能和深度学习的组织病理学图像中的副结核病诊断;用于恶意软件检测的安全稳健的认知系统设计;带有涂鸦注释的弱监督伪装对象检测;Time Majority Voting:一种面向非专家用户的

    可解释的机器学习 中文标题:基于可解释人工智能和深度学习的组织病理学图像中的副结核病诊断 英文标题:Diagnosis of Paratuberculosis in Histopathological ...

  5. 基于cuda10.0的pytorch深度学习环境配置

    基于cuda10.0的pytorch深度学习环境配置(报错解决) 1.首先查看自己nvidia 显卡的版本,一般都能适用cuda10.0: 1.打开win+s 搜索nvidia控制面版,查看系统信息 ...

  6. 【HSI】高光谱的数据集分类深度学习实战及代码理解

    [HSI]高光谱的数据集分类深度学习实战及代码理解 文章目录 [HSI]高光谱的数据集分类深度学习实战及代码理解 一.配置文件编写 二.高光谱图像的处理 2.1图像数据变换 2.2 数据整合 2.3 ...

  7. HyperAttentionDTI:基于注意机制的序列深度学习改进药物-蛋白质相互作用预测

    题目: HyperAttentionDTI: improving drug–protein interaction prediction by sequence-based deep learning ...

  8. 基于FCN,U-Net的深度学习医学影像分割算法(细胞分割算法)以及传统算法分析

    本博文主要分析了基于传统计算机视觉的细胞分割算法和基于深度学习的细胞分割算法.主要针对医学影像分割算法.包括了FCN全卷积网络的细胞分割效果,U-Net细胞分割效果.查阅了采用深度学习分割医学影像的几 ...

  9. 基于RNN的NLP机器翻译深度学习课程 | 附实战代码

    作者 | 小宋是呢 来源 | CSDN博客 深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列 NLP 机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入 ...

最新文章

  1. 大规模数据库的性能改善方法之一 数据分割
  2. 大厂首发!java敏捷开发模式面试题
  3. [编程题] 迷路的牛牛
  4. [转]java中byte转换int时为何与0xff进行与运算
  5. 【收藏】Hbase2.x协处理器的使用
  6. CF617E. XOR and Favorite Number
  7. ssm使用全注解实现增删改查案例——Dept
  8. xmx java_为什么我的Java进程比Xmx消耗更多的内存?
  9. 当前标签: Entity Framework
  10. 数据库事务及事务的特征
  11. 场景引擎是什么意思_初识ClickHouse、大数据多场景的热捧者
  12. 力扣 二叉搜索树的最小绝对差
  13. JAVAWeb项目 微型商城项目-------(七)后台添加用户管理和商品类型管理操作
  14. TanDEM-X 90m DEM介绍与下载
  15. FFMpeg (一) av_register_all()
  16. pbrt源码中用全主元消去法求矩阵逆的实现
  17. 亚信科技2019Java笔试题_2019亚信科技(asiainfo)面试经验(产品助理,后端工程师等)...
  18. Unreal Engine 4 渲染目标(Render Target)教程 之 实现雪地足迹(下)
  19. CSS样式、字体样式、基本选择器的基础笔记
  20. 苹果字体怎么改_9102年了,公众号还不会换字体?

热门文章

  1. 教书育人楷模推荐报告_四个在线学习提示,以了解您是否在今年秋天教书
  2. java 报502错误_后台发布文章,报502错误
  3. matlab cic插值与抽取,CIC抽取滤波器和插值滤波器
  4. zenmap扫描ip段_如何扫描某个网段内的所有在用IP
  5. MATLAB未定义函数或变量‘polyadd‘的解决办法
  6. matlab三维图形显示与控制
  7. 易查分怎么上传成绩?学会这个技巧,轻松搞定
  8. anaconda spyder使用技巧
  9. 编写方法 peak(int[][] matix),显示matix中的所有局部最大值。
  10. Git - push 提交失败变成:(master|MERGING)