【论文阅读笔记】RETAIN: An Interpretable Predictive Model for Healthcare using Reverse Time Attention Mechan

来源:互联网 发布:h2o 数据挖掘 编辑:程序博客网 时间:2024/05/16 07:16

Edward Choi, Mohammad Taha Bahadori, Joshua A. Kulas2016

30th Conference on Neural Information Processing Systems (NIPS2016)

文章代码:https://github.com/mp2893/retain

 

       本文提出REverse TimeAttention model (RETAIN)用于分析Electronic HealthRecords (EHR) 数据,预测病人未来出现心力衰竭的风险。通过使用一个两层的神经注意力模型,并对EHR数据进行逆序输入系统,在保证了预测结果准确性(Accuracy)的同时确保了结果的可解释性(interpretability)。

      注意力机制在图像识别,自然语言处理,机器翻译方面被广泛应用。文章模型受机器翻译中的注意力机制启发,模拟医生满足病人需求及分析病人记录时专注于病人过去诊疗记录中某些特殊临床信息(如重要风险因素key risk factors)的过程。

    一. Reverse Time Attention Model RETAIN

        本文的注意力机制类似于一个NLP中标准注意力机制的逆序,其中词由RNN编码,attention weights由MLP产生。使用MLP嵌入病人看病信息,从而保存可解释性,使用RNN产生两套attention weights恢复序列信息。逆序是基于这样一个考虑:最近的看病记录相比时间久远的看病记录,对医生诊断更加有用。

       

         模型使用两套权重,一套是visit-levelattention  ,另外一套是variable-level attention。使用两个RNN网络分别产生。


Step1:使用线性embedding

Step2:产生visit-level attention。其中输入RNN中的数据采用时间逆序输入。对于稀疏的attention,使用Sparsemax而不是Softmax。

Step3:产生variable-levelattention,其中输入RNN中的数据采用时间逆序输入。

Step4:根据以上两步生成的attentionweight,生成context vector。Ci表示病人第i次visit。

Step5:根据Context Vector生成预测结果。

使用交叉熵定义损失函数:


二.实验设置

       使用50-80岁有心衰病史的病人。使用病人病历中提取diagnosis, medication和procedure codes,为减少数据维度的同时保存临床信息,使用medical groupers将以上代码组合为输入向量。模型使用Theano0.8编写,使用Adadelta和mini-batch 100进行训练,电脑硬件为:Intel Xeon E5-2630, 256GBRAM, two Nvidia Tesla K80’s and CUDA 7.5。





阅读全文
0 0
原创粉丝点击