1.论文
Inter- and Intra-Patient ECG Heartbeat Classification For Arrhythmia Detection: A Sequence to Sequence Deep Learning Approach
2.github代码
3.论文整理
方法
A.预处理
- 输入为一段ECG信号,输入前先归一化到0-1;
- 在MIT-BIH心律失常数据库中根据ECG注释文件的R峰找到相关的t波。
- 根据t波将整段的ECG信号切分,并根据标注文件给每个部分添加标注。
- 调整长度-将其固定为280个点
B.网络架构
如下图Fig 1,跟机器翻译的seq2seq差不多,这里没有词嵌入,取而代之是一个用于提取特征的CNN。
CNN
由三个连续的一维卷积层组成:
- 第一层:32个2x1,步长=1的卷积核+ReLU+max pooling 2x1,步长=1
- 第二层:64个2x1,步长=1的卷积核+ReLU+max pooling 2x1,步长=1
- 第二层:128个2x1,步长=1的卷积核+ReLU+max pooling 2x1,步长=1
encoder和decoder
使用BiRNN单元搭建encoder;
LSTM单元搭建decoder。
目标输入是一个有开头为偏移的特征向量,它只用于训练阶段。
实验验证
使用SMOTE平衡数据;
对4个类别的心脏周期进行分类:
考虑两个方案:
(1)不同个体的ECG
类别 | N | S | V | F | 总数 |
---|---|---|---|---|---|
数量 | 90494 | 2777 | 7217 | 802 | 101290 |
(2)相同个体不同的时间录的ECG
- 训练集
类别 | N | S | V | 总数 |
---|---|---|---|---|
数量 | 45796 | 941 | 3780 | - |
- 测试集
类别 | N | S | V | 总数 |
---|---|---|---|---|
数量 | 44196 | 1836 | 3216 | - |
两个案例中都使用SMOTE平衡类别少的数据。
评估标准:sensitivity (SEN), positive predictive value (PPV), specificity (SPEC) (1 - False Positive Rate (FPR)) and accuracy(Acc)
最终结果如下,几乎各项指标都由于其他的论文。另外模型的最大也只有5MB。
个人观点:
(1)STOME平衡数据集需要进一步了解。
(2)模型架构方面没有原创的东西,但是在工程实践中能取得很好效果并落地,是个不错的选择。
(3)在其他的数据集的效果不清楚怎么样。