论文阅读——《ConCare: Personalized Clinical Feature Embedding via Capturing the Healthcare Context》

【这是2020.12投给所里一篇论文速递,搬到CSDN上做个纪念嘿嘿】
本文要给大家分享的是北京大学Liantao Ma等人在AAAI2020发表的一篇关于利用患者的EMR数据预测患者入院死亡风险的论文。从电子病历(Electronic Medical Records, EMR)数据中预测患者的临床结果一直是医疗信息学中一个基础研究问题,在本文中,作者提出ConCare框架,该框架使用时间感知的多通道GRU对EMR数据进行建模,提取不规则时序数据对预测结果的影响。ConCare还引入了多头注意力机制,不仅能有效捕获EMR数据中动态特征与静态基线信息之间的相互依赖关系,还使模型具有很好的可解释性。

背景

EMR数据也就是我们常说的电子病历数据,由患者的一系列历史就诊序列构成。临床输出一般是对患者未来状态的一种预测,比如患者下一阶段的就诊序列,或者特定疾病或任务的风险。在本文中,临床输出为患者入院死亡风险。常用的方法是利用机器学习或者深度学习的手段,对患者的就诊序列进行建模,学习患者的临床就诊嵌入,并利用这个嵌入进行最后的预测任务。但是现有的方法还存在两大问题:
1、如何评估不规则的就诊时间间隔对预测结果影响。
在患者的EMR数据中,每次就诊之间的时间间隔并不是规律的,因为患者一般是身体不舒服了才会去医院进行就诊,所以可能这两次就诊之间只隔了几个星期,下一次就诊却隔了好几个月甚至好几年。现有的一些针对时间间隔的处理方法一般有两种:一种是基于一个假设,即越久远的就诊对当前的影响越小,并取一个固定的非递增的衰减函数;或者直接令它们的影响都是一样的。无论哪种处理方法都比较绝对,有些特征可能确实是随着时间逐步的衰减了,但也有一些特征对当前的结果一直有影响。因此,应该使用一个更具适应性的时间感知机制,以灵活地捕捉临床特征随时间的变化。
2、如何提取不同情况下患者的特定临床特征的不同含义。
实际上医生在给患者看病的时候,除了要查看患者历史的就诊情况外,还会查看他们的年龄、性别、是否患有原发疾病等信息,以此来全面评估患者的健康状况。从数据的角度出发就是,每个患者就诊序列的特征和特征之间是相互依赖和影响的,但是现有的一些方法大多是从患者的就诊出发,捕获就诊之间的关系,从而得到每个就诊对最终结果的影响,忽略了特征关系。
针对以上两大挑战,作者提出了一种多通道的健康预测模型,该模型可以学习患者健康状态的表示,并通过更深入地考虑个人健康背景来进行健康预测。

模型与方法

数据表示

ConCare的输入数据包括EMR的动态医疗特征序列(如图1所示)和静态基线信息(如图2所示)。动态医疗特征记录了患者在医院的就诊情况(如诊断、实验室检测值),静态基线信息则记录患者的人口统计资料和一些原发的疾病信息。


对于患者的动态医学特征,常见的处理方法是将序列以就诊为单位,每一行表示一次就诊,这样做很难精确提取每个特征的信息,所以本文对输入的格式做了一点小改动,以特征为单位,输入数据的每一行表示一个特征,对应的数据维度为N*T,其中T是患者的就诊次数,N是特征的数量。对于患者的静态基线信息,则将其处理成一个向量输入模型中。

网络架构

ConCare框架自底向上分三个部分组成(如图3所示),分别是:临床序列嵌入部分、特征关系提取部分和患者表征提取部分。

在临床序列嵌入模块中,首先使用N个GRU通道分别对输入的N个动态特征嵌入,得到每个特征的隐藏状态h。

随后,对每个特征的隐藏状态h,使用Time-aware注意力机制来捕捉每个特征的时间衰减信息。

其实这个Time-aware机制本质上还是注意力机制那一套,只是在计算attention score的时候做了一点改动。这里的查询向量Q它是由特征最后一个时间步的隐藏状态映射得到的,关键向量K则是特征每个时间步隐藏状态的映射,下面可以看一下attention score的计算公式:


qk可以理解成特征当前时刻与最近时刻的一个相似度,qk的值越大,说明当前时刻的特征值对结果的影响越大;βn是特征n的衰减因子,它是一个可学习的参数,βn越大,特征n的衰减程度也越大,也就说明对于该特征只有最近记录的值才重要;最后的△t是当前时刻与最近就诊的时间间隔,△t越大,说明它是比较久远的记录,对当前结果的影响也会相应减小。最终的Time-aware注意权重由这三个因素共同控制,可以综合学习到时间间隔对结果的影响,求得的权重αn,t表示特征n在时刻t的重要程度。
随后把学到的权重与之前的特征隐藏状态h相乘,得到特征n的嵌入fn。而输入的静态基线信息则是通过一个简单映射将其嵌入到与fn相同的空间中。最后将各个特征的嵌入拼接起来,得到F矩阵,这个矩阵的每一行表示患者随时间变化的一个特征。


接下来是特征关系提取模块,它是使用一个多头自注意来实现的,仔细观察其结构(如图4所示)可知,多头注意力机制就是把Q,K,V通过参数矩阵映射一下,然后再做Self-Attention,把这个过程重复做m次,最后把结果拼接起来就行:





最终得到的注意力权重α是一个(N+1)*(N+1)的矩阵,表示特征间的相互依赖关系,在可解释性里也会用到这个权重矩阵。
另外,我们注意到该模块中还有一个Cross-Head Decorrelation[3],翻译过来是“多头去相关”,其功能是扩展模型关注不同特征的能力。



最后的患者表征提取模块也是使用了注意力机制[2]来提取信息。查询向量q是静态基线特征的嵌入,关键向量k是每个特征的嵌入。将这两个向量相乘,可以理解为这是为了比较每个特征和静态信息的相似性,以考虑患者的具体情况进行个性化处理。



最后将注意力权重和特征嵌入相乘,得到患者的最终表征,并输入分类器中进行预测。

实验

作者在MIMIC-III和ESRD两个大型的真实数据集上实现了该模型。入院死亡风险问题定义为二元分类任务,使用AUROC、AUPRC和min(Se,P+)评估ConCare的预测性能。实验结果显示,ConCare的性能优于目前较为流行的健康预测模型。

总结

最后总结本文中值得借鉴和使用的一些创新点,首先是对输入数据格式的处理,它打破了传统的以单次就诊为输入单位的方法,从特征的角度出发,并采用多通道的方式处理输入数据,每个特征由一个单独的通道提取嵌入信息,关注每个特征在每个时刻的变化,以精确提取特征的时间衰减信息;第二,设计了基于注意力机制的特征衰减公式,从多个角度综合考虑时间间隔对预测结果的影响;第三,使用了多头去相关损失对模型的目标函数进行优化,在实际应用中,由于多头去相关不需要额外的监督,所以我们可以根据任务需要将其应用到任意一个神经网络,以改善训练过程。

ConCare: Personalized Clinical Feature Embedding via Capturing the Healthcare Context相关推荐

  1. 论文笔记之: Deep Metric Learning via Lifted Structured Feature Embedding

    Deep Metric Learning via Lifted Structured Feature Embedding CVPR 2016 摘要:本文提出一种距离度量的方法,充分的发挥 traini ...

  2. Personalized Ranking Metric Embedding for Nest New POI Recommendation

    介绍(Introduction): 本篇论文主要利用距离嵌入(Metric Embedding)将每个POI映射到一个低维的欧拉空间当中,有效地利用马尔科夫链模型预测POI的变化,用两个POI的欧拉距 ...

  3. 请查收!顶会AAAI 2020录用论文之自然语言处理篇

    文章目录 自然语言处理篇(NLP)         Question Answering         Sequence Labeling         Semantics and Summari ...

  4. 【李宏毅机器学习】Unsupervised Learning - Word Embedding 无监督学习 - 词嵌入(p22) 学习笔记

    文章目录 Unsupervised Learning Word Embedding 用一个vector来表示一个word的几种方法 1-of-N Encoding Word Class Word Em ...

  5. 遥感图像-Deep Feature Alignment Neural Networks for Domain Adaptation of Hyperspectral Data高光谱数据深度特征对齐神经

    Deep Feature Alignment Neural Networks for Domain Adaptation of Hyperspectral Data高光谱数据领域自适应的深度特征对齐神 ...

  6. paper survey(2019.06.05)——卷积网络feature map的传递与利用

    最近阅读大量的paper来寻找突破点,就不打算一篇一篇的写博文的,直接记录于此(比较有意思的paper会独立出来博客) 目录 <Scale-Transferrable Object Detect ...

  7. 张俊林:推荐系统排序环节特征 Embedding 建模

    每天给你送来NLP技术干货! 分享嘉宾:张俊林博士 新浪微博 编辑整理:刘一全 出品平台:DataFunTalk 导读:随着深度学习在推荐系统应用的发展,特征 Embedding 建模的重要性已经成为 ...

  8. 读书笔记-深度学习推荐系统4-推荐与embedding

    本篇结合了书籍 <深度学习推荐系统>和吴恩达老师的视频课程 <Natural Language Processing and Word Embeddings>. embeddi ...

  9. SDTM--study data tabulation model implementation guide:human clinical trails(临床研究数据模型实施指南)3.4

    Fundamental of the SDTM(SDTM原理) observations and variables(观察结果与变量) SDTM build by observations and v ...

  10. ECCV2022论文列表(中英对照)

    Paper ID Paper Title 论文标题 8 Learning Uncoupled-Modulation CVAE for 3D Action-Conditioned Human Motio ...

最新文章

  1. JAVA----------------------华为机试--------------------------删除字符串中出现次数最少的字符...
  2. 如果你陷入职业迷茫,就看看这些建议!
  3. ios中的视频采集及参数设置和相机操作
  4. LeetCode LCP 29. 乐团站位(数学 等差数列)
  5. 通用分页查询存储过程
  6. 新晋千元王者!红米Note 8系列发布:999元起,价格真香
  7. 使用jsoup爬虫超时分析与处理
  8. 项目过程管理(二)工具与流程
  9. Bootstrap知识点概述
  10. 【读论文0623】The Devil Is in Classification: A Simple Framework for Long-Tail Instance Segmentation
  11. GateWay 网关服务
  12. 【每日一题】89. 格雷编码
  13. AutoLayout进阶篇
  14. 双机热备、双机互备、双机双工之间的区别
  15. 大数据下的用户行为分析
  16. 邻接矩阵无向图的介绍
  17. (遇到问题)占用空间远大于文件本身---exFAT移动固态硬盘瞬间装满(已解决-文件系统和默认簇大小的原因)
  18. 随便小计:MRP元素参与计算标准配置
  19. 用异或对身份证等图片加密的严谨方式
  20. 基于Java日月星养老院管理系统的设计与实现

热门文章

  1. ScheduledExecutorService:多线程任务调度
  2. 外卖订单语音通知功能如何实现?(附外卖订单语音通知模板)
  3. upnp是不是虚拟服务器,360路由器虚拟服务器设置(360路由器开启upnp功能)
  4. Java——图形 继承Shapes(形状)计算周长,面积。
  5. uniapp使用阿里云OSS直接上传文件
  6. e4a浏览框本地HTML,E4A浏览器
  7. 6.16 实现音乐的背景播放功能 [原创iOS开发-Xcode教程]
  8. Oracle SQL 批量修改资料库邮箱后缀名称
  9. maven怎么和ecli_傻瓜式教你安装maven以及Eclipse搭建maven环境
  10. Lycoris Recoil再现!Unity实现Sakana~,代码思路解析,代码开源,Unity弹簧效果