论文部分内容阅读
医疗信息化的深入推进与医疗数据的剧增,导致“数据爆炸、信息稀缺”的问题日益凸显。如何将杂乱无章的数据变成有用的信息,就变得尤为迫切与关键。如果人工处理这些数据,不仅耗时耗力,而且处理质量也无法保证,基于医疗数据的复杂决策和精准医疗也就无从谈起。将医疗数据信息化,最好的办法就是对现有的医疗数据进行挖掘,将数据转化为知识,进而提供医疗决策支撑。本文从医疗健康电子档案入手,以重症监护室(ICU)数据为具体研究对象,围绕疾病诊断与病人死亡率评估这两个医疗应用场景,对医疗数据挖掘中使用到的关键技术进行了系统性的研究,具体研究工作如下:1.提出了一种多源多任务的疾病诊断方法。针对ICU数据,提出了一种基于注意力机制的通用疾病诊断方法。该方法可以使用统一的模型对ICU中所有的常见疾病进行诊断,并且可以获得较现有方法更高的诊断精度。由于前期对疾病进行诊断的工作主要集中在对单一疾病进行诊断上,所以针对不同的疾病需要单独开发不同的诊断模型。若应用于ICU中,就需要开发部署几十个这样的模型,不仅费时费力,模型的兼容性也是一个很大的问题。因此,本方法致力于构造一个统一的模型框架解决这一问题。考虑到病人基础生理特征的整体性,以及不同疾病之间的相互关系,该方法首先利用多种数据源来更精细的表征病人的身体状态,然后以病人的状态为出发点将每一种疾病诊断看作一个综合诊断的子任务,利用多数据源多任务的理论,集中对ICU中的常见病进行诊断。为了增强诊断精度,在技术上,该方法充分利用了主要疾病与并发症之间的相互依赖关系,以及疾病诊断过程中的时序关系。为了验证方法的有效性,本文在包含167884个病人的真实数据集对该模型进行了测试,实验结果表明,该方法同其他基线方法对比能够取得较高的准确率和召回率。2.提出了一种可解释的ICU病人死亡率预测方法。死亡率预测是ICU中的一项非常重要的工作,通常用来评估一个患者病情的严重程度。前期工作主要使用ICU评分系统来对死亡率进行评估,由于这些评分系统使用的生理特征较少,故评估精度普遍较低。最近一些研究开始采用深度学习方法对死亡率进行评估,评估效果较原有的评分系统有较大的提高,但是仍未解决深度学习模型带来的“黑盒问题”,模型的临床应用前景较弱。为了解决上述问题,本文提出了一种可解释的深度学习模型来预测ICU病人的死亡率。该模型考虑了病人生理特征的统一性和给药治疗的时序性,开发了一个统一的死亡率预测模型。该模型可以根据不同疾病的特点,分别调优参数。另外为了增强可解释性,该模型中添加了一个解释器,利用注意力机制和外部辅助信息来解释预测结果。本文在真实数据集上设计实验,评估所提出的框架模型,实验效果充分说明所提出的模型在兼具较高的死亡率预测性能的同时拥有较好的模型解释性。3.设计了一个集成多源、多任务学习的疾病诊断与死亡率预测模型。疾病诊断和死亡率评估是医疗实践中两项最基本的任务。为了尽最大可能挽救生命,ICU中需要快速的疾病诊断与病人死亡率评估。前期研究分别用不同方法对这两个问题进行建模,这样就将疾病诊断与病情严重程度评估这两个连续的医疗过程割裂开来,费时费力。为了缩短了诊断与评估时间,提高诊疗效率,同时降低开发不同模型所需要的成本,以便挽救更多生命。本文提出了一个集成的疾病诊断与死亡率评估模型,该模型首先通过多种数据源来精细表征病人不同时刻的生理状态,然后通过窗口对齐操作对不同数据源不同时刻的时滞问题进行处理,接着以该生理状态为出发点,利用循环神经网络机制对病人在ICU中的各种状态以时序的方式进行建模,最后通过共享向量空间,以多任务的方式对病人同时进行实时的疾病诊断与死亡率预测。另外,该模型通过设计局部损失函数,解决了样本不均衡的问题,提高了模型的预测精度。本文在真实数据集MIMICIII上构建了多组实验验证所提出模型的有效性,实验结果表明,该模型同其他基线方法相比能够实现较高的预测准确率。4.设计了一种针对医疗时序数据缺失值的动态插补方法。在前期对疾病诊断与死亡率评估进行建模的过程中,对医疗数据中缺失值的处理是一个不能回避的问题,缺失值的处理好坏直接影响预测模型的性能。为了提高模型的性能以及方便后续相关研究。本文提出了一种基于深度学习的通用动态缺失值插补方法,并将其端到端的集成到死亡率预测过程中。该方法首先利用医疗时序数据的时间信息,缺失值遮罩、时间间隔、突发性、累积缺失率等医疗数据的缺失特性进行插值初始化,然后使用带有衰减机制的门控循环单元对插补值进行优化与迭代更新,接着对插值进行综合评估,最后将评估后的填充值统一送往下游应用。该方法专门设计用来处理医疗多变量时序数据中缺失值问题,具有以下优点:1)可以不需要任何前提假设便可以对医疗时序数据中的缺失值进行插补;2)具有缺失值插补质量保证机制,插补精度高;3)可以端到端的集成到下游应用中。本文在真实数据集上设计了实验,实验结果表明:该方法同其他方法对比能够以较高精度进行缺失值填补,并且相同条件下,插补值精度越高,下游应用的性能也就越好。