论文浅尝 - SIAM ICDM 2020 | 基于图时空网络的知识引导的诊断预测

论文笔记整理:吴锐,东南大学硕士


来源:SIAM ICDM 2020

论文下载地址:

https://epubs.siam.org/doi/abs/10.1137/1.9781611976236.3

动机

      基于电子病历(EHR,Electronic Health Records)对患者未来的健康状态进行预测是一个重要的研究课题。由于EHR数据的时序性质,该任务的主要挑战在于如何正确对患者的访问序列进行建模。RNN结合attention机制已经被广泛用于解决该问题,但该方法常常会受到数据量不足的影响。例如,对于一些罕见的疾病,在数据中所出现的次数往往会很少,甚至是个位数,这对深度学习模型的学习非常不利。对此,一些学者提出了引入了医疗知识(例如医学知识图谱)作为指导的模型进行预测,从而解决该问题。这些模型虽然能够为医学变量(例如不同的疾病)学习到加入了知识的、合理的embedding,但是它们只能够部分地利用知识图谱中存在的信息,而无法充分获取其图结构的特征。这些图结构信息可能会有助于提升模型的预测效果。

贡献

       为了解决这个问题,作者提出了一种端到端的、鲁棒的解决方法,称之为基于图神经网络的诊断预测(GNDP,Graph Neural Networks based Diagnosis Prediction)。该方法能够从患者的序列图中学习到空间上以及时间上的pattern,并且这些pattern自然地融入了领域知识。其基本思想在于,根据医学本体中的层级结构与关系,来构建图形式的EHR数据。

图1

       数据的原本形式如图1(a)所示,即一个visit的序列数据,每个visit下面会有一些诊断的疾病信息(A, B, C, D)。根据医学疾病的本体图(例如ICD,International Classification of Diseases或CCS,Clinical Classifications Software),可以将原本的数据构建成如图1(b)所示的图结构的数据。这样不仅包含了原有的序列信息,同时还包含了医学本体图的知识。因此,可以设想,直接从图形数据中挖掘患者的模式要优于分别使用序列数据和医学本体论。

       概括地来说,本文的贡献可以分为以下几点:

1.提出了一种基于图形卷积网络的端到端、鲁棒性强的诊断预测模型GNDP,该模型能够利用EHR数据潜在的时空依赖性,准确预测患者未来的诊断;

2.介绍了一种图形EHR数据的构建方法,可以利用医学本体来丰富原始数据的信息;

3.在诊断预测任务中,GNDP优于最新的RNN结合attention机制的方法。

方法

1.图形EHR数据构建

在原始的EHR数据中,每个患者的数据可以表示为一个医疗代码的序列。具体来说,每个患者到医院的一次访问都可以编码为一个二进制的向量,用于表示在该次访问中患者诊断出了哪些疾病。每个患者的数据包含多次visit,按照时间顺序就构成了一个向量的序列。

在该工作中,作者采用了由医学代码(一般指国际通用的、表示疾病的icd码)以及医学本体中的parent-child关系组合而成图结构来表示EHR数据。具体来说,最终的表示类似于图1。该图结构本身是一个医学本体图(例如CCS或者ICD分类信息),每个叶子结点(红色的结点)表示出现在EHR数据中的疾病代码,蓝色的结点叶子节点所属的类别信息。每个叶子节点上的向量表示在原始的EHR数据中,每一个疾病代码对应着一个N*1的向量,其中N表示患者总共有N次visit,对应值表示在每次visit上该疾病是否被诊断。

2.基于图卷积神经网络的诊断预测模型

图2

模型的整体框架如图2所示,框架的输入是通过上述方法所构建的图形EHR数据。数据输入后,首先用一个batch normalization层来对输入进行normalize。接下来是一个包含两个卷积层的ST-GCN:第一层是空间图卷积,通过图卷积的方式让每个结点的特征沿着图的边进行传播,得到每个结点新的、包含邻居节点信息的向量表示;第二层通过时间上的卷积来获取上述生成的向量之间的时间依赖性。在这之后,通过一个channel-wise的注意力层来帮助模型关注在有意义的channel上。将ST-GCN单元以及channel-wise注意力层和一个激活层堆在一起得到一个GNDP块,最终六个GNDP块组成了整个模型。同时后还有一个feature fusion的操作在此不做赘述。下面具体介绍一下各个模块。

(1)空间图卷积

假设已知邻接矩阵A以及结点的特征向量F,图卷积的公式如下:

其中D是图的度矩阵,I是表示结点的self-connection的单位矩阵,W是学习的参数。

那么实际上一个病人的图的信息可以表示为一个维度为(C_in, N, d)的张量,其中C表示input channel的数量,N表示结点的数量,d表示结点特征的维度。在做GCN之前,作者还使用一个权重矩阵W以及一个偏置向量b来获得一个新的维度的表示。具体的公式如下:

(2)时间依赖性的建模

由于EHR数据在时间方向上有着良好的顺序性质并且有一个限定的长度,这使得我们可以通过一个简单的卷积操作来提取时间域上的特征。具体来说,输入的feature map可以表示为一个维度为(C_in, N, T, d)维度的张量,其中T表示时间戳的长度(也可以理解为一个患者visit的次数)。通过空间图卷积之后,张良的形状变成了(C_out, N, T, d’)。这里注意空间图卷积对于T的维度大小是没有影响的。时间卷积(temporal convolution)的操作定义如下:

其中γ是一个表示temporal kernel大小的参数,来控制卷积过程中所包含的时间戳的数量。通过一个带激活函数的全卷积层,Ftemporal的第一个维度被reshape为L,L表示真实数据的维度。最终的输出如下:

(3)目标函数

诊断预测是一个multiple label的分类任务,因此作者使用binary 的交叉熵loss作为目标函数。单个病人的loss计算公式如下:

       图3展示了时间、空间卷积的简单示意图。

图 3

实验

   实验是分别基于两个数据集进行的。其一是 MIMIC-III 数据集,是一个公开的重病护理benchmark dataset;另一个是一个未公开的数据集。具体的信息如表1所示。此外,作者用CCS本体来构建本体图,同时使用疾病的ICD类别来作为预测时的标签。

表1

       实验指标主要使用了visit-level precision @k和code-level accuracy @k。visit-level precision @k测量了某一个患者在每一个visit上的预测的精确率,计算公式如下所示:

       其中表示在由概率排序的top-k输出中正确的预测数量,表示在目标visit出现的总的类别数。code-level accuracy @k测量了整个模型预测的准确率

其中P表示所有患者的数量。

实验结果

实验结果如表2与表3所示。

表2

表3

其中表1通过对比实验体现了模型的各个模块的作用。而表2则对比了一些已有的工作,可以看出来该工作在各种粒度的实验上都有着一定的效果的提升。

总结

    本文中,作者提出了GNDP,一个全新的基于EHR数据来预测患者未来健康状况的方法。得益于GNNs,GNDP可以从患者的序列的图数据学习出空间以及时间上的patterns,并且能够自然地融合将medical ontology的知识与EHR数据中的信息相结合。通过这种方式,GNDP能够充分地使用医学知识来提升预测的准确率。作者通过实验检验了模型各个部分的必要性,并在两个数据集上与SOTA方法进行对比,结果表明GNDP在现有方法的基础上有了显著的效果提升。

 


 

OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章