Nature Medicine 文章 Cardiologist-level arrhythmia detection and classifcation 细节记录
前言
- 心电图是临床的基本工具,每年3亿份 ,诊断心电异常
有提出特定种类的算法,但没有完整12类的研究
现有的数据集数量太少 <PhysioNet 47subjects> - 本文建立了又大又新的数据集。
- 数据采集通过Zio监视器,FDA批准的,单导联
平均携带10.6~13.0天,平均年龄69±16. 43%女性 - 测试集328病人,328心电记录,专家共识标注。平均年龄70±17,38%女性。人类平均一致度72.8%
在心脏病专家委员会共识标注之外,由6个独立的心脏病专家<不在专家委员会>
结果
-
人类和算法的结果具有一致度,差的都差。
-
AUC和F1的结果,验证集和测试集具有一致性。
分出10%的训练集,结果具有一致性。
新的测试集标注为经认证的技术人员。 -
ROC曲线和PRC曲线,达到或者超过人类专家水平
混淆矩阵。显示预测和标注的差异 -
在额外数据集上的泛化能力。PhysioNet。在公开数据集上训练
N=8528, 10%早停数据。隐藏测试集n=3658. 超过竞赛最好成绩。
结论
- 第一个综合分类的深度学习方法,用于广泛的心电节律诊断。
- 更进一步的可学习健康系统。
强调数据集大到足够评估端到端的深度学习方法。验证超过高标准的心脏病专家委员会共识<每个只精通几类>
方法讨论
-
标准的方法用到了信号处理,特征提取,特征选择/降维,分类。 每一步都有手动的启发(heuristics)和推导(derivation)
-
深度学习方法具有本质的不同,单个算法完成所有步骤,端到端实现,没有基于类别的特征提取。即接收原始输入,输出诊断概率。
数据驱动,学习所有的特征。手动特征只能学一部分。 -
不同于其他的方法,主要在于大数据量,34层端到端网络,没有傅里叶变换或者小波变换的前处理。
-
方法具有重大的临床影响力。在基于机构的数据上训练,可以具有基于机构或者基于人口的应用。适用于多种临床设定。
局限性
- 需要基于特定应用。否则
长记录上会出现重要的假阳性诊断。心脏病专家从额外的流行病学知识或者增加的上下文提高性能。 - 在临床应用前,方法需要额外的算法步骤或者后处理。
- DNN出错跟人类专家类似
出错都是有原因的 - 局限性:单导联ECG。标准12导联
标注的系统性差异降低性能下降
设置了标准标注操作。
回顾分类错误的,正确标注存疑
测试集只有328病人,置信区间较窄
子类分析(年龄,性别)弱
需要获取足够的稀有类别数据
依赖患者的F1不具有人口泛化能心
提高准确率,效率,可解释性。
数据和方法
1. 研究对象和采样规则
数据集:可回溯,去标志(根据Health Insurance Portability and Accountability Act Safe Harbor ),大于18岁的成年人 ,使用Zio monitor(iRhythm Tech) 从13年一月到17年三月
根据(iPhythm Tech)隐私协议,去标记的数据可用于研究
病人可选择,书面协议不需要(完全去标记)
斯坦福大学审查委员会后该研究审查和豁免。
采取平均30s每个病人作为训练集。
经该公司的初步标注算法(FDA批准)初步标注
从每种节律病人中随机采样。30秒中包含目标节律。大部分记录包含多种节律。
为了平衡,稀有类别过采样。平均每病人2个30s。
训练,验证,测试集完全去相关(无相同病人)
2. 标注步骤
训练集测试集独立标注。
保留专家(resource-intensive)标注作为测试集金标准
对于训练集,一组年长的ECG技术人员回顾所有记录,
标注节率起始时间。每个记录随机分配给一个该类任务专家。所有标注者经过特殊训练,保证标注一致性
随机采取10%,作为验证集参与DNN超参数微调
8个认证的电生理学家从业者,一个经认证的心脏病学家,标注测试集。测试集初始标注完全去除。
平均分为3组,每组标注1/3.(112个)
每组讨论达到共识,作为标注金标准。(剩下6个人独立标注每个记录,作为评估单个专家性能的标准)
每个记录三人共识标注,6人独立标注。
影响结果的作为噪声标注,具有相似临床结论的归为一类
3. 算法开发
DCNN检测节律,原始ECG输入(200hz),每1.28秒输出一个结果。(输出间隔)
仅输入原始信号,无其他相关特征和信息
34层网络,类似ResNet. 包含16个残差块,每块两个卷积层,。。。
随机初始化权重,Adam优化,默认变量,mini batch size 128. 初始学习率0.001, 验证集Loss不下降时*0.1。选择验证集上最低错误率的模型
超参数网格搜索和手调,网络结构主要调卷积层数,卷积核大小和数量。
深度超过8层后残差连接有效。RNN没有效果,放弃。
手动调学习率使得最快收敛。
4. 算法评估
每30秒输出24个结果。将标注在输出间隔间取整。作为“序列”级的结果。每记录一个结果作为“set”级结果。集合级的结果不考虑记录内的时间不匹配。
。。。
5. 数据分析
ROC曲线,和AUC曲线。One VS all
双边置信区间(AUC scores) 敏感性特异性 2值阈值
PR曲线。
F1-score 多类别,
混淆矩阵
代码开源,数据开源