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

提出一种基于逆序注意力机制的模型RETAIN,利用两层神经注意力模型分析电子健康记录,预测患者未来的心力衰竭风险。该模型不仅提高了预测准确性,还确保了结果的可解释性。

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。





### Helm Chart 中 `persistence.retain` 字段的存在性及官方文档说明 在 Helm Chart 的配置中,`persistence.retain` 是一个常见字段,尤其在涉及持久化存储管理的场景中。该字段用于控制在卸载 Helm Release 时是否保留与 PVC(PersistentVolumeClaim)关联的持久化数据。该字段的存在性取决于具体的 Helm Chart 实现,例如 Jenkins、Docker Registry 或其他需要持久化存储的组件。 某些 Helm Chart(如 Jenkins)在 `values.yaml` 中明确支持 `persistence.retain` 字段,并将其作为配置持久化行为的一部分。该字段的作用是确保在执行 `helm uninstall` 时保留 PVC 及其底层 PV(PersistentVolume),从而避免数据丢失[^1]。 例如,在 Jenkins Helm Chart 的配置中可以找到如下结构: ```yaml controller: persistence: enabled: true retain: true ``` 此配置表示在卸载 Helm Release 时保留 PVC 数据[^1]。 然而,需要注意的是,`persistence.retain` 并非 Helm 本身的核心字段,而是由各个 Chart 开发者根据需求自行实现的配置项。因此,其存在与否取决于具体的 Chart,而非 Helm 官方统一规范的一部分。在查阅 Helm 官方文档时,并不会直接找到关于 `persistence.retain` 的全局定义,而是需要参考特定 Chart 的文档或源码。 在 Helm 官方文档中,虽然没有直接提及 `persistence.retain` 字段,但提供了关于如何通过 `values.yaml` 自定义资源行为的说明,包括如何控制 PVC 和 PV 的生命周期。用户可通过 Chart 的 `values.yaml` 文件自定义持久化配置,并结合 Kubernetes 的 PV 回收策略(如 `persistentVolumeReclaimPolicy`)实现数据保留[^1]。 此外,某些 Helm Chart 的文档中会明确指出 `persistence.retain` 的用途,并建议在卸载时使用该字段防止 PVC 被删除。例如,在 Jenkins Helm Chart 的 GitHub 仓库中,该字段的说明和使用方法被详细记录[^1]。 ### 相关操作建议 如果希望在卸载 Helm Release 时保留 PVC,应确保以下几点: 1. 在 `values.yaml` 中配置 `persistence.retain: true`。 2. 确认底层 StorageClass 的 `reclaimPolicy` 设置为 `Retain`。 3. 使用 `kubectl` 命令手动检查 PV 的 `persistentVolumeReclaimPolicy` 设置。 ```bash kubectl get pv kubectl patch pv <pv-name> -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}' ``` ###
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值