《ENCASE:使用专业特征和深度卷积网络相结合来对ECG进行分类(ENCASE: an ENsemble ClASsifiEr for ECG Classification Using Expert Features and Deep Neural Networks)》

  • 讲在前面
  • 摘要
  • 1.介绍
  • 2.方法
    • 2.1 数据描述和预处理
    • 2.2 特征提取
      • 2.2.1 专家特征
      • 2.2.2 中心波
      • 2.2.3 深度特征
    • 2.3 特征结合一起进行分类
    • 2.4 改进
  • 3.结果
    • 3.1 特征重要性
    • 3.2 性能
  • 4.结论

Using Expert Features and Deep Neural Networks)》)

讲在前面

  • 一.笔者最近来搞心电信号了,当前算法框架就参考的这篇论文,来钻研一下这篇论文。说真的,搞ecg的人真的太少了;
  • 二.我设计了几种字体颜色用于更加醒目地表现关键的思想和主题:
    • 红色表示尚未理解透彻的一些概念
    • 蓝色表示对原来的理解做的一些修改或补充
    • 绿色表示此处需要参考的论文其他部分
    • 橙色表示本文的重要关键字
    • 紫色表示后续更新的内容
    • 我会用删除线将自己曾经不到位的理解进行删除

摘要

我们提出了一种专家特征和DNNs相结合的方法,用于ECG信号分类。这是我们第一次从数据领域去探索和改进专家特征。然后,我们会创建深度神经网络来提取特征。另外,我们提出了一个新的算法,这个新的算法可以找到长ECG信号中最具有代表性的波(中心波)。最后,我们把这些特征组合在一起然后放进一个综合分类器,经过实验,四分类器得出F1=0.84F1=0.84F1=0.84 的分数,比单模型的性能要好的多。

1.介绍

ECG是一个常用的非介入性的可以反映心脏生物特征的测量工具。一个典型的12导联的300HzECG检测仪可以对每个病人产生上亿个点。分析大量的ECG数据能够帮助医生发现各种心脏疾病:比如房颤、心肌梗塞和急性低血压等等。
现在已经有很多研究提出了各种各样的特征,同时能实现很高的测量精度【1,2,3,4】。这些特征都和领域知识相关密切,所以我们叫它专家特征。最近,DNNs已经在图像等各个领域实现SOTA。一些使用DNNs来进行ECG分类的也有好的结果【5,6】。但是将两者结合起来进行分类的方法却很少。
在这片论文中,我们提出了ENCASE,一种将各种特征进行结合的方法。在如此多的论文中,我们是第一次提出使用这种两者相结合的方法。这些特征粗略分为三个部分:

  • 1.数据特征;
  • 2.信号处理特征;
  • 3.医学特征。

然后,我们创建DNNs来自动提取深度特征,我们在训练集上预训练了一个DNNs的模型,然后把测试集输入神经网络来获取到他最后一层隐藏层的特征,作为深度特征。另外,我们提出了一个新的算法来找中心波(一个病人的ECG波形中最具有代表性的波)。然后从中心波中提取特征。最后,我们将专家特征、深度特征和中心波特征结合在一起,训练几个gradient decision boosting tree classifiers,并且把这些相结合来输出预测值。得出了F1=0.84F1=0.84F1=0.84,比单模型的精度都要高。我们还在 XGBoost 【7】 的帮助下报告了信息增益,这揭示了这些特征的重要性和可解释性。
ENCASE是一个通用且灵活的框架,它可以增量地添加特征,配备任何 DNN,并集成任何分类器。如果提供更多数据,它还可以检测更多类别的心脏病。 因此,ENCASE 可用于现实世界的应用程序。

2.方法

2.1 数据描述和预处理

数据集包含了8528个短的I导联300Hz的record,长度从2700个点到18300个点不等。被标注成4个类别:正常窦性心律(N,5154个record)、房颤(A,771)、其他心率(O,2557)和噪声(P,46)。细节在【8】。
在特征提取之前我们把原始数据处理成下面五种:

  • 1.长数据:我们用样本代码把数据直接读成时间序列进行保存;
  • 2.短数据:使用样本代码中的Joachim Behar的QRS检测器,来把长数据切割成短的波,在Section2.4中会有对这个算法的介绍;
  • 3.QRS数据:我们计算每个长数据中相邻连续QRS的间隙的长度;
  • 4.中心波:每个长数据中的所有短数据中最具有代表性的波,细节会在Section2.2.2中介绍;
  • 5.扩充数据:使用滑动窗口和步长获取更多数据。在这片论文中,我们的滑动窗口长度为6000,步长为了平衡数据均衡来自动选择。Section2.4介绍了细节。

2.2 特征提取

在这个部分,我们细节地介绍了三种特征提取器:专家特征、中心波特征和深度特征。

2.2.1 专家特征

有许多的研究人员在从ECG数据分析中提取特征,粗略的说可以分成以下三个部分:

  • 数据特征:这些特征使用数据来对一个序列的ECG进行摘要,同时给出一些值来描述数据的一些特征。典型的数据包括:数目、均值、最大值、最小值、范围、方差、偏度、峰度、百分位等等;
  • 信号处理特征:这些特征将ECG数据从时域转换到频域,然后提取频域相关特征。例如,可以首先实现FFT(快速傅立叶变换)或DWT(离散小波变换)。 然后计算功率、频带功率、香农熵、SNR(信号噪声比)等。
  • 医学特征:这些特征基于医学知识。一组特征基于QRS数据来计算变化。例如,【1】计算样本熵 (SampleEn),【2】计算变异系数和密度直方图 (CDF),【3】计算中值绝对偏差 (MAD) 的阈值,【4】 计算心率变异性(Variability)。 另一组特征计算基于 P、Q、R、S 和 T 波的统计量。 我们遵循【9】中描述的波浪检测方法,然后从短数据和中心波中提取统计特征,如间隔、持续时间、幅度、位置、斜率和面积【10】。 此外,我们还提出了一些有效的特征,如锯齿形(数据的匝数)、过零(交叉 y 轴的数量)、自相关(滞后从 1 到 12)。

2.2.2 中心波

在这一部分,我们介绍中心波——一位患者的短数据中最具代表性的波,并从中提取特征。 提取这个波的原因来自两个方面。 一方面,我们观察到一些错误分类的样本被噪声污染。 由于心电图数据没有那么长,噪声滤波器不能很好地处理它。 另一方面,有些类别是由波的形态控制的,而不是整体节奏。 直接查找和分析代表性波会提供更好的性能。
我们通过三个步骤来找中心波:

  • Step1:对于每个患者,使用 DTW 距离计算他/她的短数据的成对距离矩阵【11】。 由于每个短数据的长度不等。 为了解决这个问题,我们使用计算不等长时间序列的距离。
  • Step2:使用频谱聚类【12】,根据距离矩阵将短波分成几个簇,其中波在簇内相似高,簇间相似度低;
  • Step3:找到最大聚类的中心,这可以通过将聚类的距离矩阵视为图形来完成,其中节点表示短波,边表示短波之间的距离。 然后我们找到图中心——离其他节点最近的节点,这意味着这个短数据是所有短数据中最具代表性的波。 然后我们在中心波上提取统计特征和医学特征。 详细信息可在Section2.2.1中找到。 此外,我们还将中心波的原始值视为特征。 然而,这些中心波的长度不同。 为了解决这个问题,我们通过线性插值对它们重新采样。 在我们的实验中,我们将所有中心波重新采样到 200 个点。

2.2.3 深度特征

最近的很多工作【5,6】证明了DNNs在ECG分类上的可用性,通过1d卷积来自动整合和提取层次特征【13】。但是,这些DNNs模型都是端到端的,很难用专家特征来进行增强。为了我们的模型可以从专家特征和深度特征中都受益,我们把DNNs用做一种特征提取器。说的详细一点就是,我们移除了输出层,同时提取最后一个隐藏层的值作为特征。这种变换是任何DNNs中都可以使用的。因此我们能够专注于深度特征提取器的结构。
第一个深度特征提取器是基于深度残差卷积网络【6】,在扩展数据上进行训练的(看Section2.1)。我们想要堆叠更多的层提取多视图和更精确的特征【14】。我们通过加一个双向LSTM层来为结果投票【6】。结构如下:

第二个深度特征提取器是基于RNN的,使用中心波进行训练。尤其要说的是,我们使用LSTM的cell作为RNN的cell。除了用CNN来进行层次特征提取外,我们也要去提取时序相关特征,这能被RNN进行处理。我们把中心波作为输入(少于600个点),因为长的数据对于RNN来说太长了。结构如下所示:

2.3 特征结合一起进行分类

现在我们有了专家特征、中心波特征和深度特征。我们将三部分特征向量连接成一个组合特征向量,训练几个单独的分类器,并通过平均预测概率将它们集成起来。
已经表明,集成分类器通常比组成它们的单个分类器准确得多【15】。 我们还选择 XGBoost【7】(决策树的极限梯度提升)作为单独的分类器。 XGBoost 在众多数据挖掘大赛中得到验证,性能更佳、更稳定。

2.4 改进

下面是一些可以进一步改进ENCASE性能的重要手段。

  • 递归QRS检测器:在原始QRS检测器中有两个关键参数:

    • THRES:检测器的能量阈值;
    • REF_PERIOD:两个RR峰之间的难控制时期。

    原始的QRS检测器有时会分出几个并没有分开的连续的QRS,为了解决这个问题,我们将THRES 和 REF PERIOD 乘以 0.68,每次算法输出超过 600(两倍采样频率)的片段,并在未分割的长序列上应用新的 QRS 检测器。

  • 动态过采样:给定的原始数据是不平衡的,标签 N 比其他标签多得多。 我们建议动态过采样来处理这个问题。 具体来说,当为深度特征提取器生成扩展数据时,我们对标签 O 使用小步幅,对标签 N 使用大步幅。这样修改后的扩展数据比原始数据更加平衡。 修改后的扩展数据将训练更好的深度特征提取器。这里可以尝试用imbalance_sampler来进行处理,个人感觉单一修改步长会先一定问题

  • 模型评估和选择:典型的离线评估模式是将数据拆分为训练数据和测试数据,在训练数据上建立模型并在测试数据上进行评估。 为了更准确地评估 ENCASE,我们使用 k 折交叉验证来迭代地拆分数据,并多次运行交叉验证。 最终的平均 F1 分数会更可信。 我们使用不同的设置构建多个 ENCASE 模型以选择最佳模型。 最后的 ENCASE 集成了 5 个 XG-Boost,每个 XGBoost 有 3000 棵树,最大深度 = 9,最小子权重 = 3。

3.结果

在这个部分,我们会先比较不同特征的有效性,然后我们会评估4分类任务上的表现。

3.1 特征重要性

我们通过每个决策树中使用的平均信息增益来评估特征重要性,结果在下表:

我们可以看到专家提出的大多数统计特征和医学特征都是有效的。 CNN 和 RNN 的深度特征都非常有效,这一点不值一提,深度 CNN 特征在 Top-20 中甚至有 17 个。

3.2 性能

我们通过多次运行交叉验证来评估每种方法。 测量值与 F1 分数相关 详细信息可以在 【8】 中找到。 结果如表4所示。在Features栏中,E代表专家特征,C代表中心波特征,D代表深度特征:

可以看到ENCASE比其他的表现要好,注意标签P太不平衡了所以结果很不稳定。更多的可信的结果应该是F1、FN、FA、FOF_1、F_N、F_A、F_OF1​、FN​、FA​、FO​。

4.结论

在本文中,我们提出了一个集成分类器 ENCASE,将专家特征、中心波特征和深度特征结合在一起进行 ECG 分类。 ENCASE 是一个灵活的框架,支持增量特征提取和分类器更新。 实验表明 ENCASE 的性能优于其他方法。

(四十七:2021.08.25)《ENCASE:使用专业特征和深度卷积网络相结合来对ECG进行分类》相关推荐

  1. 吴恩达deeplearning.ai系列课程笔记+编程作业(11)第四课 卷积神经网络-第二周 深度卷积网络:实例探究(Deep convolutional models: case studies)

    第四门课 卷积神经网络(Convolutional Neural Networks) 第二周 深度卷积网络:实例探究(Deep convolutional models: case studies) ...

  2. 2021.08.25学习内容torch.clamp(input, min, max, out=None) → Tensor,torch.mm(matrix multiply)

    学习pytorch时,看到了mm和clamp,不甚理解,其他地方也看到过,所以具体了解一下 前向传递:计算预测yh = x.mm(w1)h_relu = h.clamp(min=0) 把 h 张量的最 ...

  3. (Deep learning)深度卷积网络实战——第四部分

    2.10 数据增强(Data augmentation) 大部分的计算机视觉任务使用很多的数据,所以数据扩充是经常使用的一种技巧来提高计算机视觉系统的表现.我认为计算机视觉是一个相当复杂的工作,你需要 ...

  4. (四十五:2021.08.05)《利用深度学习对ecg信号进行分割》

    <Deep Learning for ECG Segmentation><利用深度学习对ecg信号进行分割> 讲在前面 摘要 1. 介绍 2. 算法 2.1 预处理 2.2 神 ...

  5. 《安富莱嵌入式周报》第227期:2021.08.23--2021.08.29

    往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 ...

  6. (三十四 :2021.01.12)MICCAI 2015 追踪之论文纲要

    讲在前面 PART I.PART II和PART III. 论文目录 PART I Advanced MRI: Diffusion, fMRI, DCE(高级MRI:扩散,fMRI,DCE) 概要 1 ...

  7. 武汉大学计算机转专业2021,通知|关于做好2021年普通本科生转专业工作的通知...

    原标题:通知|关于做好2021年普通本科生转专业工作的通知 各学院(系): 2021年普通本科学生转专业工作即将开始,为做好此项工作,现就有关事项通知如下: 一.学生转专业按照<普通高等学校学生 ...

  8. Diabetes 糖尿病及其并发症.|2021/1/25(未完待续)

    目录 前言: 正文: ①宏观严重性: ②普遍状况:" 三多一少": ③定义 : ③胰岛素(Insulin,一种激素(harmone)) ④引出糖尿病病理: 1> 1-型糖尿病 ...

  9. 【Yolov5】1.认真总结6000字Yolov5保姆级教程(旧版本2021.08.03作为备份)

    旧版本2021.08.03 新版本https://blog.csdn.net/m0_53392188/article/details/119334634​​​​​​​ 以作备份 目录 一.前言 二.学 ...

最新文章

  1. python interpolate_python interpolate插值实例
  2. asp.net core web mvc之异常
  3. 显示当前行号、文件名和函数名(二)
  4. 浏览器兼容console对象的简要解决方案
  5. git拉取tag代码_10年经验17张图带你进入gitflow企业项目代码版本管理的最佳实践...
  6. 如何成为一枝独秀的技术领导者?
  7. STM32-正弦波可调(50HZ~20KHZ可调、峰峰值0~3.3V可调)
  8. 点云统一法线方向(未知视点)
  9. 【829】【06 信息检索策略和方法】
  10. 2022年大数据技能大赛国赛(模块A,B)
  11. 45、链栈_LinkStack
  12. GetDc与GetWindowDc的含义
  13. 计算机上机考试能复制粘贴吗?
  14. AngularJS之有序列表
  15. python 读写csv文件(创建、追加、覆盖)_python 读写csv文件(创建,追加,覆盖)...
  16. Shelve Silently - 静默搁置 (Git 功能)
  17. java 文件转换成流_java -IO流_转换流
  18. windows+mysql集群搭建-三分钟搞定集群
  19. 三维green公式_按三维问题证明格林公式
  20. linux 内核CMA笔记

热门文章

  1. 设计模式-结构模式-装饰器模式 decorater
  2. 魅族7.0以上系统怎么样不root激活Xposed框架的经验
  3. 串口通信实验——RS-232
  4. 测试tensforflow的pb格式模型
  5. 【python解决SQLAlchemy+MySQL插入数据时报警告Warning: (1366, “Incorrect string value: ‘\\xD6\\xD0\\xB9\\xFA\\xB】
  6. C++ char指针(字符指针)及其输出问题
  7. 法大大首批通过ISO 22301:2019认证
  8. 思科网络学院-网络互联-第七章
  9. 基于jquery实现table内部数据排序
  10. linux天文软件下载,天文爱好者控:八款优秀的Linux天文学软件