一种基于循环神经网络的诊疗项目预测方法

文档序号:29448942发布日期:2022-03-30 11:31阅读:98来源:国知局
一种基于循环神经网络的诊疗项目预测方法

1.本发明属于医学辅助诊疗领域,具体说是一种基于循环神经网络的诊疗项目预测方法。


背景技术:

2.临床路径是指基于循证医学,针对某一疾病构建的标准化、程序化诊疗计划。临床路径的核心可归结为“在正确的时间进行正确的诊疗项目”,其通常将疾病的诊疗过程可以划分为若干个阶段,每个阶段都有所需的诊疗项目。采用这种规范化的诊疗过程,能够有效提升治疗效果、降低医疗费用、规范医疗行为。因此,对每一阶段诊疗项目进行预测是临床路径个性化规划的一项重要任务。
3.传统的临床路径主要通过医疗专家制定,制定出来的临床路径通常在很长一段时间内不再更新,由于疾病在治疗过程中的动态演变性以及不同医院之间实时方案的差异,导致人工制定的临床路径变异率极高,难以满足不同医院和病人的个性化需求。
4.随着人工智能技术的发展,医院开始借助机器来辅助医生进行每一阶段诊疗项目的决策。然而,现有的技术存在着以下不足:(1)部分方法基于决策树、逻辑回归、支持向量机等传统机器学习算法,这些算法依赖于数据特征的选取,但是医疗数据存在着数据量大、不完整度高、来源多样以及非结构化的特点,传统的由人工参与的特征提取方式在面对大量的复杂的医疗数据时,效率低且容易遗漏重要的信息,从而降低了预测结果的准确性;(2)部分方法只是基于过去的诊疗项目预测后续的诊疗项目,未考虑过去每一个阶段的诊疗项目是否符合规范的临床路径;(3)部分方法未考虑到病人住院过程的医疗数据具有半时序性的特征,患者住院期间,发生在同一时间间隔的诊疗记录不区分发生的先后顺序,但是不同时间间隔的诊疗记录之间具有时序性。


技术实现要素:

5.为了提高后续诊疗项目预测的准确性,满足临床路径个性化规划的需求,本发明提供一种基于循环神经网络的诊疗项目预测方法,其能充分的捕获复杂的临床数据的特征,并且在预测后续的诊疗项目之前先判断过去诊疗项目是否符合规范的临床路径,提高了诊疗项目预测结果的准确率,增强了预测结果的合理性。
6.本发明为实现上述目的所采用的技术方案是:
7.一种基于循环神经网络的诊疗项目预测方法,包括以下步骤:
8.获取诊疗记录数据,并对诊疗记录数据进行清洗;
9.将清洗后的诊疗记录数据转换成向量形式的诊疗记录时间序列,并将该序列分为训练集、验证集和测试集;
10.使用聚类算法,对诊疗记录时间序列进行处理,得到规范诊疗模式序列;
11.使用诊疗记录时间序列构建诊疗项目预测模型;
12.计算待检测诊疗记录时间序列与规范诊疗模式序列的相似度,若相似度大于阈
值,则将待检测诊疗记录时间序列输入诊疗项目预测模型,得到最后一个时间间隔内诊疗项目发生的概率,否则,不对该待检测诊疗记录时间序列进行处理。
13.所述诊疗记录数据包括:诊断结果、医嘱、用药情况、检查项目。
14.所述对诊疗记录数据进行清洗具体为:
15.删除与预测任务无关的字段,采用设定的标准值填充或者删除的方式处理诊疗记录数据中的缺失值和噪声。
16.所述将清洗后的诊疗记录数据转换成向量形式的诊疗记录时间序列,包括以下步骤:
17.将清洗后的诊疗记录数据按照设定的时间间隔转化成诊疗记录序列;
18.统计诊疗记录序列中所有诊疗记录的数量,以独热码的形式对每一个诊疗记录进行编码,将每条诊疗记录序列的每个时间间隔内的诊疗记录的编码相加取平均得到诊疗记录集合的编码;
19.用skip-gram算法将诊疗记录集合的编码转化成向量表示,得到向量形式的诊疗记录序列;
20.将每一条向量形式的诊疗记录序列中的最后一个时间间隔的诊疗记录集合向量,作为该条数据的预测标签,并将该诊疗记录集合向量从向量形式的诊疗记录序列中删除,得到已标注的向量形式的诊疗记录时间序列即去掉最后一个时间间隔的诊疗记录集合向量的数据。
21.所述使用聚类算法,对诊疗记录时间序列进行处理,得到规范诊疗模式序列,包括以下步骤:
22.1)将所有向量形式的诊疗记录时间序列初始化为一个簇并加入簇表;
23.2)在簇表中选取一个总体相似度最低的簇c,利用k-means方法将簇c分为c1和c2加入簇表中;
24.3)重复步骤2),直到产生设定的k个簇时停止,将k个簇的质心作为规范诊疗模式序列。
25.用向量之间的余弦相似度来表征簇的整体相似度,余弦相似度的函数表达式为:
[0026][0027]
式中x是簇ci中的样本即一条向量形式的诊疗记录序列,ci是簇ci的质心,p是和样本x同维度的全1列向量,

表示矩阵的哈达马乘积,
×
表示矩阵乘法;
[0028]
样本x和质心ci之间的距离为:
[0029][0030]
式中cos《x,ci》[j][j]表示余弦相似度结果矩阵cos《x,ci》中的第j行第j列,即第j个时间间隔的余弦相似度,n表示时间间隔总数;
[0031]
簇总体相似度表达式为:
[0032]
[0033]
式中k是当前簇的个数,sse的值越大说明相似度越低。
[0034]
所述使用诊疗记录时间序列构建诊疗项目预测模型,包括以下步骤:
[0035]
1)构建基于门控循环单元的两层循环神经网络层;
[0036]
2)构建以softmax函数作为分类器的循环神经网络预测模型输出层;
[0037]
3)将诊疗记录时间序列输入到循环神经网络预测模型中;
[0038]
4)根据预设的超参数进行训练,训练的过程中根据验证集的结果调整神经网络预测模型的超参数,所述的超参数为:优化器学习率、随机断开神经元的概率、权重衰减系数;
[0039]
5)进行迭代训练预设的次数后,保存神经网络预测模型的超参数;输入测试集的数据,获得测试结果即每一个诊疗记录发生的概率;重复步骤3)至5),直至模型收敛,即得到诊疗项目预测模型。
[0040]
所述构建基于门控循环单元的两层循环神经网络层具体为:
[0041]zt
=σ(wzx
t
+u
zht-1
+bz)
[0042]rt
=σ(wrx
t
+u
rht-1
+br)
[0043][0044][0045]
式中z
t
,r
t
分别表示循环神经网络中门控循环单元的更新门和重置门,表示记忆单元,h
t
表示隐藏层状态,x
t
表示诊疗记录序列x中第t个时间间隔的诊疗记录向量,w,u分别表示各层的权重矩阵,下角标z、r、h分别表示更新门、重置门、隐藏层,b表示各层的偏倚量,

表示矩阵的哈达马乘积,σ()表示sigmoid函数,tanh()表示tanh函数。
[0046]
所述构建以softmax函数作为分类器的循环神经网络预测模型输出层具体为:
[0047][0048]
式中h为疾病状态表示向量,t表示时间间隔的总数,ws,bs分别表示权重矩阵和偏倚量,所述疾病状态表示向量为由向量形式的诊疗记录序列经过两层神经网络层后得到。
[0049]
所述待检测诊疗记录时间序列与规范诊疗模式序列的相似度的计算方法为:
[0050][0051]
式中d表示待检测的诊疗记录序列,s表示规范的诊疗模式序列,p表示与诊疗记录序列同维度的全1列向量,目的是按行计算余弦相似度,

表示哈达马乘积,
×
表示矩阵乘法;
[0052]
得到的结果矩阵cos《d,s》[i][j]表示诊疗记录序列中的第i个诊疗日向量和规范诊疗模式序列中的第j个诊疗日向量的余弦相似度,其值越接近于1,则二者的相似程度越高,越接近于-1,则二者的相似程度越低。
[0053]
本发明具有以下有益效果及优点:
[0054]
1.数据转化:将非结构化的诊疗记录转化成可计算的向量,一方面降低了转化后向量的维度,从而提高了模型的训练速度,另一方面更加充分的捕获临床数据的特征。
[0055]
2.时间序列数据处理:临床诊疗记录具有半时序性的特征,将发生在同一时间间隔的诊疗记录转化为诊疗记录集合向量,将不同时间间隔的诊疗记录用诊疗记录序列向量
表示。
[0056]
3.挖掘规范的诊疗模式序列:在预测后续的诊疗项目之前,根据规范的诊疗模式序列判断过去每一阶段的诊疗项目是否符合规范的临床路径,增强了预测结果的合理性。
附图说明
[0057]
图1是一种基于循环神经网络的诊疗项目预测方法的流程示意图;
[0058]
图2是基于gru的循环神经网络神经元内部结构示意图;
[0059]
图3是基于循环神经网络的预测模型结构示意图。
具体实施方式
[0060]
下面结合附图及实施例对本发明做进一步的详细说明。
[0061]
如图1所示,建模步骤为:
[0062]
步骤1:数据采集与预处理。从数据库中获取样本数据,并保存到本地。数据预处理具体过程:医疗数据具有维度高、数据量大、缺失值多等特征。对于该预测任务,删除与预测任务无关的字段,处理诊疗记录中的缺失值和噪声,采用正常值填充或者删除的方式进行处理。
[0063]
步骤2:数据向量表示。将非结构化的医疗数据转化成可计算的向量,具体步骤包括:
[0064]
步骤2.1,将步骤1清洗后的数据按照特定的时间间隔转化成诊疗记录序列,诊疗记录序列中包含的是一个患者住院过程中全部的诊疗记录。呈现形式:矩阵的形式纵向呈现,每一行表示一个时间间隔的全部诊疗记录(也就是下文中的诊疗记录集合);诊疗记录序列由若干行诊疗记录集合组成;
[0065]
步骤2.2,统计诊疗记录序列中所有诊疗记录的数量,以独热码的形式对每一个诊疗记录进行编码,将每条诊疗记录序列的每个时间间隔内的诊疗记录的编码相加取平均得到诊疗记录集合的编码;
[0066]
步骤2.3,用skip-gram算法将步骤2.2获得的诊疗记录集合的编码转化成向量表示,从而得到向量形式的诊疗记录序列;
[0067]
步骤2.4,将每一条向量形式的诊疗记录序列中的最后一个时间间隔的诊疗记录集合向量,作为该条数据的预测标签,并将该诊疗记录集合向量从原始的序列中删除,得到已标注的向量形式的时间序列,将该数据划分为训练集、验证集和测试集;
[0068]
诊疗记录集合:一个患者一个时间间隔内的诊疗记录,由一个时间间隔内诊疗项目组成,也就是上述提到的矩阵中的一行。
[0069]
诊疗记录序列:一个患者全部的诊疗记录,由若干个诊疗记录集合构成。
[0070]
诊疗记录集合向量:是指用skip-gram算法转化后得到的向量形式的诊疗记录集合,其最后一行作为预测标签。
[0071]
向量形式的诊疗记录序列:由若干个诊疗记录集合向量组成。
[0072]
每一条向量形式的诊疗记录序列:是指一个患者的全部诊疗记录,由若干个诊疗记录集合向量组成。
[0073]
步骤3:规范诊疗模式挖掘。在现有的诊疗记录中挖掘规范的诊疗模式,具体步骤
包括:
[0074]
步骤3.1,将步骤2中获得的所有诊疗记录序列初始化为一个簇加入簇表;
[0075]
步骤3.2,在簇表中选取一个总体相似度最低的簇c,利用k-means方法将簇c分为c1和c2加入簇表中,用向量之间的余弦相似度来表征簇的整体相似度,余弦相似度的函数表达式为:
[0076][0077]
式中x是簇ci中的样本,ci是ci的质心,p是和样本x同维度的全1列向量,

表示矩阵的哈达马乘积,
×
表示矩阵乘法。
[0078]
样本x和质心ci之间的距离如下:
[0079][0080]
式中cos《x,ci》[j][j]表示余弦相似度结果矩阵cos《x,ci》中的第j行第j列,即第j个时间间隔的余弦相似度,n表示时间间隔总数。
[0081]
簇总体相似度表达式如下:
[0082][0083]
式中k是当前簇的个数,sse的值越大说明相似度越低;
[0084]
步骤3.3,重复步骤3.2,直到产生k个簇时停止,将k个簇的质心作为规范诊疗模式序列。
[0085]
如图3所示,为循环神经网络预测模型,包括两层循环神经网络和分类器,接收诊疗记录序列进行训练。
[0086]
步骤4:预测模型训练。具体步骤包括:
[0087]
如图2所示基于gru的循环神经网络神经元内部结构示意图,包括重置门和更新门。
[0088]
步骤4.1,预构建的循环神经网络预测模型神经网络层训练过程的函数表达式为:
[0089]zt
=σ(wzx
t
+u
zht-1
+bz)
[0090]rt
=σ(wrx
t
+u
rht-1
+br)
[0091][0092][0093]
式中z
t
,r
t
分别表示循环神经网络中门控循环单元(gru)的更新门和重置门,表示记忆单元,h
t
表示隐藏层状态,x
t
表示诊疗记录序列x中第t个时间间隔的诊疗记录向量,w,u分别表示各层的权重矩阵,b表示各层的偏倚量,

表示矩阵的哈达马乘积,σ()表示sigmoid函数,tanh()表示tanh函数。
[0094]
步骤4.2,预构建的循环神经网络预测模型输出层训练过程的函数表达式为:
[0095]
[0096]
式中h为疾病状态表示向量,t表示时间间隔的总数,ws,bs分别表示权重矩阵和偏倚量。
[0097]
步骤4.3,分批次的将步骤2获得的标注的诊疗记录序列输入到循环神经网络预测模型中;
[0098]
步骤4.4,根据预设的超参数进行训练,训练的过程中根据验证集的结果的调整模型优化器学习率、随机断开神经元的概率、权重衰减系数;
[0099]
步骤4.5,进行迭代训练预设的次数后,保存模型的参数;输入测试集的数据,获得测试结果;重复步骤4.3至4.5,直至模型收敛,将测试结果最优的模型作为最终的诊疗项目预测模型。
[0100]
步骤5:相似度计算。计算待检测序列与步骤3获得的规范的诊疗模式的相似度,计算方式如下:
[0101][0102]
式中d表示待检测的诊疗记录序列,s表示规范的诊疗模式序列,p表示与诊疗记录序列同维度的全1列向量,目的是按行计算余弦相似度,

表示哈达马乘积,
×
表示矩阵乘法。
[0103]
得到的结果矩阵cos《d,s》[i][j]表示诊疗记录序列中的第i个诊疗日向量和规范诊疗模式序列中的第j个诊疗日向量的余弦相似度,其值越接近于1说明二者的相似程度越高,越接近于-1说明二者的相似程度越低。
[0104]
步骤6:后续诊疗项目预测。如果待检测的序列符合规范的诊疗模式,即步骤5中计算的相似度大于给定的阈值,将待检测序列输入到步骤4构建的预测模型中,得到患者在最后一个时间间隔诊疗项目发生的概率。
[0105]
本实施例中的一种基于循环神经网络的诊疗项目预测方法,充分利用自然语言处理技术弥补现有方法在数据特征处理方面的不足,本发明的创新性在于在预测后续的诊疗项目之前,先判断过往每一个阶段的诊疗项目是否规范,增强了预测结果的合理性。在经过端到端的监督训练之后,可完成准确的诊疗项目预测任务。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1