一种基于循环神经网络的慢性疾病病情变化事件预测装置的制作方法

文档序号:17473624发布日期:2019-04-20 05:59阅读:335来源:国知局
一种基于循环神经网络的慢性疾病病情变化事件预测装置的制作方法

本发明属于数据处理领域,具体涉及一种基于循环神经网络的慢性疾病病情变化事件预测装置。



背景技术:

慢性疾病是我国居民死亡的主要原因,据统计,近年来,我国死亡人口中,约有86%死于各种慢性疾病。慢性疾病的主要特点是,持续时间较长、病情难以逆转、致病原因较为复杂。预测慢性疾病在未来可能发生的病情变化事件对于评估慢性疾病预后十分重要,也有助于对慢性疾病进行更为精准的治疗。

现有的慢性疾病重大事件预测方法多为临床医学研究成果,使用的技术手段基本类似,多为队列研究的方法。具体的实施策略是,1)确定疾病病情发生重大变化的标志性事件(终点事件),例如一年内再次入院、死亡等;2)将某种慢性病病人纳入研究队列,记录病人被纳入研究队列时的各项生理指标;3)对病人进行长期随访,病人如若在随访过程中发生了先前定义的标志性事件,则记录事件的发生时间。4)使用医学统计学方法,分析事件发生的主要风险因素。5)根据主要风险因素建立模型,预测一个病人是否会在规定时间窗口内发生终点事件。医学研究中,各类风险预测模型的区别主要在于使用的数据不同、使用的数据特征不同,而方法基本类似。以心力衰竭这一慢性疾病为例,美国华盛顿大学基于包含了1,125名患者的队列,提出了能够预测预测病人1年,2年,3年死亡率的西雅图心衰模型,该模型使用了临床中常见的24项病人特征,使用的方法是cox风险比例回归。西班牙巴塞罗那自治大学基于2507名患者的队列,提出了可以预测患者1月与1年心源性再入院的red-in模型,使用的方法是逻辑回归。临床医学中常用基于线性模型的疾病终点事件预测模型,只能对病人被纳入队列时所记录的数据进行分析,无法及时追踪病人病情变化后对终点事件发生概率的影响,从而限制了预测能力。另一方面,临床模型所使用的终点事件过于严格,对于很多慢性疾病而言,其疾病演变是一个相当漫长的过程,对于疾病症状较轻的病人,无需使用死亡这样的终点事件评估其在几年内的预后情况。

近年来,深度学习技术的发展,主要是循环神经网络的应用,为疾病事件提供了全新的可用方法,循环神经网络使得追踪病人长期病情变化数据,从而给出更为精准,更符合实际需求的病情变化事件预测成为可能。但是,循环神经网络的原始设计虽然可以,但是并不适合接受病人的长期病情数据,这是由于其一般用于接受时间间隔相同的序列数据,而慢性疾病病人的入院时间间隔往往是无规律可循的。这一不同在一定程度上限制了循环神经网络在疾病病情演变事件预测上的应用。



技术实现要素:

本发明的目的是提供一种基于循环神经网络的慢性疾病病情变化事件预测装置,可一定程度上缓解输入时间间隔不一致的问题,对慢性疾病患者在目标时间窗口内发生标志疾病病情变化的事件进行更为精准的预测,从而辅助医生制定合理的诊疗措施,支持临床决策,降低医疗开支。

为实现上述目的,本发明提供以下技术方案:

一种基于循环神经网络的慢性疾病病情变化事件预测装置,包括计算机存储器、计算机处理器以及存储在所述计算机存储器中并可在所述计算机处理器上执行的计算机程序:

所述计算机存储器中存有预处理模块和慢性疾病病情变化事件预测模型,所述慢性疾病病情变化事件预测模型包括预处理模块、病情特征提取模块和分类模块;

所述计算机处理器执行所述计算机程序时实现以下步骤:

接收患者多次入院所生成的长期纵向数据,预处理模块对数进行据预处理,将每次入院的数据重建为一个特征向量,作为待测数据集;以待测数据集作为输入,病情特征提取模块提取病情特征输入到分类模块;分类模块输出各类标志病情发生变化的事件的预测概率。

所述慢性疾病变化事件预测模型的获得过程为:

(1)采集慢性疾病患者的电子健康记录,作为患者多次入院所生成的长期纵向数据,预处理模块并其进行预处理,对样本是否在目标时间窗口内标志病情发生变化的事件进行标注,得到训练样本;

(2)构建慢性疾病病情变化事件预测网络,包括连接的循环神经网络和分类器,所述循环神经网络为用hawkes过程学习到的激发条件强度改进的gru循环神经网络;

(3)以步骤(1)中的训练样本作为步骤(2)中预测网络的输入层,以所述训练样本对应的真值标签作为所述预测网络的输出层,对所述预测网络进行训练,对所述预测网络的参数进行调节,直到收敛,得到训练完成后所对应的特征提取模块和分类模块,组成慢性疾病病情变化事件预测模型。

在步骤(1)中,所述电子健康记录包括患者入院所产生的人口学数据、检查检验结果、诊断、医嘱、病程录、手术;预处理模块对电子健康记录进行预处理的方法为:处理实验数据缺失值,提取患者的特征样本,将电子健康记录整合为一个k维特征向量作为训练样本,表示如下:

d={p1,p2,…,pn},n代表病人总数,对于第i个病人,存在nj次入院记录,第j次入院的特征向量可被表示为

在本发明中,为能够充分利用患者疾病发展过程中隐含的信息,规定患者至少要有三次入院记录,对入院记录少于三次的患者做删除处理。

对所述特征样本进行二值化处理,包括:

对于数值型特征,以正常/异常作为二值化;

对于有序多分类变量或无序多分类变量,以及无法通过正常/异常完成二值化的数值型变量,通过创造哑变量的形式完成二值化。

在步骤(2)中,所述改进的gru循环神经网络的隐层更新计算方法为:

zt=σ(wzhawkes(et-1,etarget,δt))+bz

rt=σ(wrhawkes(et-1,etarget,δt))+br

h′t=tanh(wh[et,ct]+uh(rt*ht-1)+bh),

ht=zt*ht-1+(1-zt)*h′t

其中,zt表示更新门,rt表示重置门,ht-1表示前一个时刻的状态信息,h′t表示隐藏状态,ht表示新的状态信息;ct为补充说明病人本次入院时身体情况的上下文变量;et-1指上一次入院时表示疾病病情的标志性事件,δt指上一次入院到本次入院的时间间隔;hawkes表示通过hawkes过程学习到的激发条件强度,etarget表示本次预测任务目标预测的病情事件;hawkes过程所涉及的参数为预先训练完毕的参数;wz,wr,wh,bz,br,bh,uh为预测网络训练得到的参数。

本发明所采用的循环神经网络的最后一个隐层即为需要输出的特征,循环神经网络使用的神经元模型为以gru神经元为蓝本,进行定制的神经元模型,可被称为hcell。本发明的改进表现在对隐层的计算方法上做了特殊的处理,使得其能够得到更好的预测结果,具体地,用hawkes过程学习到的激发条件强度改进神经元,整合当前疾病信息与时间间隔进行信息传递控制,使得其能够得到更好的预测结果。

所述改进的gru循环神经网络输出隐层向量分类器输出目标时间窗口内发生事件y的概率为:

其中,u为预测网络训练得到的参数。

根据目标时间窗口的不同和发生事件定义的不同,可以训练多个如上所述的神经网络,进行多种事件在不同时间窗口内发生概率的预测。

所述hawkes过程的学习方法为:

对于事件采样序列其中每一个采样cj视为一个事件序列,一个事件序列指患者多次入院所生成的长期纵向数据,每一个事件序列中的元素可视为序列类型和序列事件的二元组其中,和,u表示病情标志性事件种类,分别代表第j个采样的发生时间和具体类型,nj代表了采样发生事件的数量(病人入院次数),采样cj的时间观察窗口为[0,tj](病人总时间跨度);

激发条件强度为:

参数μ和α通过em算法进行优化,包括:

e步

m步

em算法是dempster等人在1977年提出的一种参数优化算法。其通过不断迭代e步和m步直到收敛完成参数优化。

在步骤(3)中,选择使用交叉熵代价函数作为损失函数表示事件预测性能的好坏,再通过反向传播算法和梯度下降算法优化交叉熵代价函数,得到训练后的参数wz,wr,wh,bz,br,bh,uh的局部最优解,作为慢性疾病病情变化事件预测模型的参数;所述交叉熵代价函数的计算方法为:

其中,n是所有输入x的个数,j则代表第几个输入。

具体地,更新w和b的表达式如下:

与现有技术相比,本发明的有益效果体现在:

本发明提供的预测装置通过可导入患者电子健康记录,包括多个分别在不同时间窗口预测不同事件的预测模型,同时预测慢性疾病患者在多个事件窗口内,发生多类标志疾病病情发生变化的事件的概率,从而辅助医生制定合理的诊疗措施,支持临床决策,降低医疗开支,改善慢性疾病患者预后。

本发明提供的预测装置中的预测模型为改进的循环神经网络模型,可以捕获两次相邻入院时间间隔对事件发生的影响。相比于现行的临床医学方法,可以更好的使用疾病病人的长期数据而非某个横断面的数据;相比于现有的基于机器学习的方法,所提出的模型更符合临床的实践经验。

附图说明

图1为本发明提供的慢性疾病病情变化事件预测模型的结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

本发明利用定制化神经元的循环神经网络预测慢病病人在目标时间窗口内是否会发生标志病情发生重大病情的变化;在获取数据后,首先使用hawkes过程计算得到各个事件之间相互影响的关系,结合定制化后的神经元(hcell),构成疾病发展事件预测模型的循环神经网络;使用随机梯度下降算法对循环神经网络进行优化,最终得到可用的,预测慢性疾病病情变化事件的模型。

本发明提供的基于循环神经网络的慢性疾病病情变化事件预测装置,包括计算机存储器、计算机处理器以及存储在所述计算机存储器中并可在所述计算机处理器上执行的计算机程序,计算机存储器中存有预处理模块和慢性疾病病情变化事件预测模型,该预测模型通过以下三个阶段获得:

s101,采集慢性疾病患者的电子健康记录,电子健康记录包括患者多次入院所产生的人口学数据、检查检验结果、诊断、医嘱、病程录、手术等数据。对电子健康记录数据进行预处理,对样本是否在目标时间窗口内发生标志病情发生变化的关键事件进行标注,得到训练样本标签,构建训练样本。

构建训练样本的具体步骤为:

s1011,从原始电子健康记录提取患者长期纵向数据,纳入的患者至少包含四次入院记录;每次入院的数据包含患者的诊断、医嘱、检查检验结果、手术、人口学信息;并进行预处理,以患者长期纵向数据作为训练集,最后一次入院的事件为标签,构建样本数据集。

具体地,将样本数据集设为数据集d={p1,p2,…,pn},n代表病人总数;对于第j个病人,存在nj次入院记录。

预处理模块对电子健康记录进行预处理的方法为:处理实验数据缺失值,提取患者的特征样本,并进行二值化处理,整合为一个k维特征向量。

其中,对于数值型特征(例如某些检查检验结果),以正常/异常作为二值化策略。对于有序多分类变量或无序多分类变量,以及某些无法通过正常/异常完成二值化的数值型变量,通过创造哑变量(dummyvariable)的形式完成二值化。

经过预处理后,其每次入院记录中所含有的人口学、诊断、医嘱、手术、检查检验数据,均可整合为一个k维特征向量,则有其第j次入院的特征向量可被表示为其中xij可以分为两部分,第一部分用于说明标志本次入院时疾病病情的关键事件et,第二部分用于补充说明病人本次入院时身体情况的上下文变量ct。

s102,构建慢性疾病病情变化事件预测网络,包括连接的循环神经网络和分类器,循环神经网络为用hawkes过程学习到的激发条件强度改进的gru循环神经网络。

改进的gru循环神经网络为使用经过定制神经元的循环神经网络,以预处理后的患者长期纵向数据作为输入,得到输出特征y。循环神经网络的最后一个隐层即为需要输出的特征。改进的gru循环神经网络使用的hcell神经元模型为以gru神经元为蓝本,进行部分修改的得到。

具体地,在本实施例中,改进gru循环神经网络的隐层更新计算策略为:

zt=σ(wzhawkes(et-1,δt,etarget))+bz

rt=σ(wrhawkes(et-1,δt,etarget))+br

其中,zt表示更新门,rt表示重置门,ht-1表示前一个时刻的状态信息,ht′表示隐藏状态,ht表示新的状态信息;ct为补充说明病人本次入院时身体情况的上下文变量;et-1指上一次入院时表示疾病病情的标志性事件,δt指上一次入院到本次入院的时间间隔;hawkes表示通过hawkes过程学习到的激发条件强度,etarget表示本次预测任务目标预测的病情事件;hawkes过程所涉及的参数为预先训练完毕的参数;wz,wr,wh,bz,br,bh,uh为预测网络训练得到的参数。

具体地,计算过程请参考图1,其中,下方矩形框为输入数据,其中ht-1为上个状态的隐层,et为本次输入的事件,ct为本次输入的上下文描述信息,et-1为上次输入的事件,etarget为本次拟进行预测的事件,δt为两次输入之间的时间差,α为hawkes过程优化得到的互激发矩阵,μ为hawkes过程优化得到的自激发矩阵;右上矩形框为经由hawkes过程计算条件强度hawkesintensity的过程;左上矩形框为hcell计算新状态ht的过程。计算新状态ht由如图所示步骤和上述公式一步一步计算得到。

具体地,在本实施例中,使用分类器,将y作为输入,输出分类结果;

对第j个病人,经过定制的神经网络在最后一步可以输出隐层向量则有对目标时间窗口内发生事件y的概率为:

其中,u为预测网络训练得到的参数。

s103,以步骤(1)中的训练样本作为步骤(2)中预测网络的输入层,以所述训练样本对应的真值标签作为所述预测网络的输出层,对所述预测网络进行训练,对所述预测网络的参数进行调节,直到收敛,得到训练完成后所对应的特征提取模块和分类模块,组成慢性疾病病情变化事件预测模型。

s1031,以s1011中说明的事件作为训练样本,学习hawkes过程所需的参数μ和α。

具体而言,对于事件采样序列每一个采样cj均可视为一个事件序列(病人多次入院的长期纵向数据),其中(病情标志性事件种类)分别代表第j个采样的发生时间和具体类型,nj代表了采样发生事件的数量(病人入院次数),采样cj的时间观察窗口为[0,tj](病人总时间跨度)。对于此类多元hawkes过程,有条件激发强度如下所示

参数μ和α通过em算法优化,优化步骤为:

e步

m步

s1032,参数wz,wr,wh,bz,br,bh,uh的训练。

在训练过程中,假设给定一个输入x,都会得到一个预测值输出f(x),而这个预测值输出与的真实值y相比,不一定会是相同的。为了表示拟合的好坏,就用一个函数来度量拟合的程度,也就是损失函数。在一定范围内,损失函数越小,就代表模型拟合的越好。但是若损失函数为0时,表示模型过拟合,此时尽管模型在训练集上完美拟合,但是却很可能在其他测试集上的拟合效果不如人意。

因此,为了直观地看出模型的拟合效果,需要设置损失函数来验证模型的效果。所选择使用交叉熵代价函数作为损失函数,其计算方法如下:

其中,n是所有输入x的个数,j则代表第几个输入。

在训练神经网络过程中,本实施例通过梯度下降算法来更新w和b,因此需要计算代价函数对w和b的导数。而交叉熵代价函数可以克服方差代价函数更新权重过慢的问题,表达式如下:

权重的更新是受f(x)-y的影响,即受模型误差的影响。当模型的误差越大时,权重更新越快;当模型的误差越小时,权重的更新越慢。模型训练时观察到输出的损失函数的大小后,可以调整模型的迭代次数以及模型的隐藏单元的大小,进而改变损失函数的输出,从而判断模型的拟合效果。

获得的慢性病疾病变化事件预测模型存储在预测装置的存储器中,应用时,接收患者多次入院所生成的长期纵向数据,预处理模块对数进行据预处理,将每次入院的数据重建为一个特征向量,作为待测数据集;以待测数据集作为输入,病情特征提取模块提取病情特征输入到分类模块;分类模块输出各类标志病情发生变化的事件的预测概率。

应用例

本应用例采用的慢性疾病患者病例数据中共有2102名病人的长期纵向数据,总计包括13546次入院记录,由国内某三甲医院提供,为心力衰竭病人的长期纵向数据,不包括姓名等私人信息。根据数据特征和临床医学知识,定义9类标志病情发生变化的事件,心功能1级、心功能2级、心功能3级、心功能4级、再血管化手术、死亡、肺病、肾病、肿瘤事件。定义两个时间观察窗口,分别为三个月,一年。使用实施例提供的预测装置对上述9类事件分别在两个时间观察窗口的发生概率进行预测。

为了更好地比较本发明所提出的预测装置的优越性,进行对比实验。本应用例提供的预测装置与三个对比预测装置进行了对比,对比预测装置的计算机存储器中存有与本应用例不同的慢性疾病病情变化事件预测模型。对比的预测事件是:基于长期纵向数据,对病人三个月内或一年内发生,心功能1级、心功能2级、心功能3级、心功能4级、再血管化手术、死亡、肺病、肾病、肿瘤事件的概率进行预测。

为更好的说明各对比预测装置的意义,在此对于本发明提出的定制化神经元的动机进行简述。传统的循环神经网络(本文中使用gru为基准神经元)所接受的信息多为时间间隔固定的采样输入,我们将此类模型称为rnn,此类循环神经网络显然不适合处理时间间隔不固定的长期纵向数据。为了建模时间间隔因素的影响,近年来常见的研究工作将时间信息直接整合为循环神经网络输入的一个维度,从而使得模型能够对不同时间间隔的数据做出不同的预测,将这种模型称为timefusernn。但是timefusernn在逻辑上存在缺陷,作为长期纵向数据,显然间隔时间比其它信息更适合对隐层信息的更新进行控制,但是在timefusernn中,时间信息与其他信息处于同一地位,在其他信息的干扰下,加入时间信息可能意义有限。因此对比实验中提出完全依赖于时间信息进行gru的gatevalue计算,将此类模型称为timedecayrnn,timedecayrnn可以充分使用时间间隔判断信息更新速度。但是,timedecayrnn的问题在于,不同疾病在发展规律上存在不同的表现,timedecayrnn完全利用时间信息做信息控制忽视了疾病发展模式的区别,因此本发明提出了基于hawkes过程的定制化神经元,同时整合当前疾病信息与时间间隔进行信息传递控制,这一模型被称为hawkesrnn。

即,本应用例中,提供的预测装置中计算机存储器中存储的慢性疾病病情变化事件预测模型为hawkesrnn,对比预测装置为三个,计算机存储器中存储的慢性疾病病情变化事件预测模型分别为rnn、timefusernn和timedecayrnn。

表1为预测装置与对比预测装置的预测概率,为确保模型的稳定性,所有数据均为5折交叉验证重复十次取平均得到。显然,计算机存储器中存储有hawkesrnn的预测装置在大多数任务上性能都有显著提升。不难发现,在总计18项任务中,计算机存储器中存储有timefusernn的预测装置在大部分任务中都没有显著的性能改良,说明只在输入中加入时间信息而不对神经元结构进行改变的确效果有限。计算机存储器中存储有timedecayrnn的预测装置相比计算机存储器中存储有timefusernn的预测装置,在大多数模型中都有较为明显的性能提升,说明时间相比于其他信息,的确是更为重要的信息传递控制因素。而本应用例提供的计算机存储器中存储有hawkesrnn的预测装置则在大部分模型中达到了最佳成绩,说明本发明所提出的预测装置的确在性能上拥有优势。

表1应用例提供的预测装置与对比预测装置的预测概率

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1