欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2023104973697
申请人: 武汉纺织大学
专利类型:发明专利
专利状态:已下证
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于注意力机制的LSTM‑CNN策略的安全药物推荐方法,其特征在于,包括以下步骤:步骤S1,对数据集中的患者出院诊断信息表、手术记录表以及医嘱药物信息表进行预处理操作,以获得用于特征提取的基础数据,即获得所需要的患者的诊断代码和手术代码;

步骤S2,将基础数据作为输入,通过LSTM‑CNN策略对患者进行特征提取,以获得更加全面和精确的患者表示,即病人的特征向量;

步骤S2的具体实现方式如下:

S21,根据步骤S1中提取到的诊断和手术代码信息对用户的健康状况进行编码,利用向量点积运算的方法将相应的诊断和手术代码映射到嵌入空间中,从而获得诊断和手术的嵌入之和,诊断和手术的嵌入表示用公式具体表示为:= ;

= ;

其中t表示患者第t次就诊, 表示第t次访问时的诊断代码, 表示第t次访问时的手术代码, 分别为诊断和手术的嵌入表,每一行分别存放着患者诊断和手术的特定信息,这里的D表示疾病元素集,P表示手术记录的元素集,dim为Embedding空间的维度,两个Embedding向量 、 共同编码了患者当前的健康状态;

S22,将获得的诊断和手术特征向量利用前馈神经网络 进行拼接操作,获得目前的身体健康状态:( );

其中 表示拼接过程, 是可训练参数;

S23,将当前的患者健康状态运用到双向的LSTM并行层中来模拟患者历史病史,并对患者历史就诊记录进行处理:= ;

= ( );

其中 表示细胞状态即目前患者的健康状态,双向LSTM由正向LSTM和反向LSTM两部分组成,分别从正向和反向两个方向对输入序列进行处理,得到正向和反向的隐藏状态序列,正向的LSTM,是从前往后处理输入数据的,每个时间步的隐藏状态向量是由当前的输入和前一个时间步的隐藏状态向量以及细胞状态向量经过一系列门控操作得到的, 表示t时刻正向的隐藏状态向量;反向的LSTM,是从后往前处理输入数据的,每个时间步的隐藏状态向量是由当前的输入和后一个时间步的隐藏状态向量以及细胞状态向量经过一系列门控操作得到的, 表示t时刻的反向隐藏状态向量;

S24,通过提取正向和反向的长依赖项来获得患者诊断和手术更全面的信息,具体而言,将正向和反向的隐藏状态序列拼接起来,得到一个完整的隐藏状态序列 := , ];

S25,通过利用注意力机制,对LSTM产生的输出进行加权平均,实现对不同症状的重要性进行区分的目的,患者不同症状给与不同的权重,使模型更加关注重要的特征:=tanh( );

= ;

;

其中 和 分别表示计算Attention权重的参数矩阵和偏置向量,T表示症状序列的长度,即总共有多少种症状需要计算权重,t是一个迭代变量,表示从1到T依次遍历的症状,计算其对应症状的权重, 是 的隐藏向量表示, 是随机初始化并在训练共同学习的特征, 是用相似度的计算方式来获取患者症状中不同症状的权重表示,并通过加权和的方式获取患者历史病状信息 ;

S26,将获得的患者历史病状信息利用卷积运算提取有信息的局部特征,并利用最大池化的方法来降低输入信息的维数,防止特征图的维度过高,使得模型的计算复杂度增加,出现过拟合和训练时间过长的问题;

S27,将经过池化后的症状信息连接起来形成最终的患者表示,再对其运用归一化的方式来加速网络训练,减少过拟合,这一层的最终输出表示为:=Relu(Wh+b);

其中h是池化层级联应用批归一化得到的隐藏表示;W和b都是训练过程中学习到的参数;t表示患者就诊次数, 即表示第t次就诊时的患者表示;

步骤S3,通过MolCode模块获取药物组合向量,所述MolCode模块是用于将两个药物分子的表示编码成特征向量,当有多个药物分子时,直接将药物分子进行两两组合,将每个组合作为输入在MolCode模块进行处理;

具体来说,MolCode模块的处理过程为:首先,将输入的药物分子转换为分子图表示,其次,将两个分子图分别输入到消息传递神经网络MPNN编码器和图卷积网络GCN编码器中对药物分子结构信息进行编码表示;然后利用步骤S2所获得的病人特征向量作为查询,将获得的两个编码器编码的药物特征向量进行融合生成一个与患者向量匹配的药物组合向量;

其中MPNN编码器由消息传递和读出两个阶段构成,在消息传递阶段中,对于特定的节点,通过消息传递函数和节点更新函数来实现聚合邻居特征和更新自身节点特征,在读出阶段,利用读出函数将全局特征表示传递给输出层,得到药物分子的特征向量表示,最后将病人的特征向量与药物分子的特征向量进行匹配,得到MPNN编码后的药物表示;

GCN编码器用于对药物分子的图形结构进行卷积操作,提取出分子中的特征信息,包括原子类型、化学键、环和分支;

步骤S4,预测模块采用了一个基于全连接神经网络的模型进行药物组合的预测评分,具体来说,是将药物组合向量输入全连接神经网络,使用ReLU激活函数进行非线性变换,并在评测结果时,设置一个阈值,选择大于阈值的药物组合作为推荐列表,进而在预测之后输出药物组合;

步骤S5,在模型训练阶段,运用二元交叉熵损失函数、铰链损失函数和DDI损失函数,并将多种损失按照一定的规则进行加权和,再利用加权后的总的损失函数进行训练,从而通过反向传播算法更新模型参数,以最小化损失函数;

步骤S6,将测试患者的信息输入步骤S2中进行特征提取获取病人的特征向量,再将S2所获得的病人的特征向量在已有的药物库中筛选可能适合病人的药物,通过步骤S3利用训练好的MolCode模块生成不同的药物组合,最后通过预测模块预测每种药物组合和患者疾病或症状的关联程度,并将结果按照一定的规则进行排序,获得最终的预测结果。

2.如权利要求1所述的一种基于注意力机制的LSTM‑CNN策略的安全药物推荐方法,其特征在于:步骤S1中所述的预处理包括对患者诊断、手术以及医嘱药物信息记录进行数据清理与编码,从而获得所需要的患者的诊断代码和手术代码;

步骤S11,将患者c的访问记录记作 ,其中t表示总的访问次数,患者c的第t次访问具体记录表示为 ,其中 表示患者c在第t

次访问时的诊断、手术以及医嘱药物记录的multi‑hot向量;

步骤S12,对于给定的患者在t次访问中,其诊断记录和手术记录表示为[]和[ ]。

3.如权利要求1所述的一种基于注意力机制的LSTM‑CNN策略的安全药物推荐方法,其特征在于: 和 所表示的诊断和手术的嵌入表是通过基于图神经网络GNN的模型进行训练所得到的,具体如下:首先,分别将所有的诊断和手术记录组成两个无向图体现两个诊断或者两个手术记录之间的关系;其次,使用GNN模型对诊断图和手术图进行特征提取,将每个诊断节点和手术记录节点表示为向量;最后,使用生成对抗网络生成诊断和手术记录的嵌入表。

4.如权利要求1所述的一种基于注意力机制的LSTM‑CNN策略的安全药物推荐方法,其特征在于:步骤S3中MPNN编码器的处理过程如下:S31,根据药物分子获取所有的原子并存储在原子表B中,其中B={ },表示不同的原子,同时,设计一个可学习的原子嵌入表即 , 中的每一行都存储着特定原子的指纹;

S32,对于给定的药物分子图使用邻接矩阵和来自 的初始原子指纹,通过图传递的分层消息来进行消息传递和自身顶点更新,具体表示为:( , ; );

( ),i=0,1,…n;

其中是层索引, 表示第次迭代时原子i的邻居的编码消息, 表示第次迭代时对应的原子i的隐藏状态, 、 表示原子i和原子j在第‑1次迭代时的隐藏状态, 为分层参数矩阵, (.)为消息函数用于不断更新含有原子i的邻居编码信息,为顶点更新函数用于不断更新原子i的隐藏状态,A为邻接矩阵,存放的是原子之间的连接信息,如果原子i和原子j之间存在化学键则标记为1 ,否则为0;

S33,在层应用消息传递之后,药物分子的全局表示通过一个读出函数进行合并,具体表示为:y=READOUT({ )

其中y表示输出的药物分子的特征向量,i表示不同的原子,编号取值为0到n;

S34,对所有药物分子都利用消息传递网络,共享参数,从而将所有的分子存放在一个药物记忆表 中;

S35,将患者与药物进行匹配,具体来说,将患者表示 作为查询,从记忆表 中进行搜索,通过点积运算获得药物分子之间相似度的得分,然后将该得分输入到sigmoid函数中进行缩放,缩放到[0,1]之间,具体表示为:=sigmoid ( );

其中 是个标量,表示患者与药物分子之间的匹配得分,t表示患者第t次访问;

S36,通过一个前馈神经网络 参数化匹配分数,并进行归一化LN,表示为:=LN( );

其中 表示经过MPNN编码后的最终的药物表示, 为可训练参数。

5.如权利要求4所述的一种基于注意力机制的LSTM‑CNN策略的安全药物推荐方法,其特征在于:在GCN编码器中,首先将药物分子表示为一个无向图,通过其边和节点的学习获取向量表示,采用基于图卷积的方式进行信息聚合和特征提取:=AGGREGATE(FEATGRAPH(G))

其中AGGREGATE表示聚合函数,G=(V,E)表示药物的无向图,V表示分子图中的节点集合,E表示分子图中的边集合,FEATGRAPH()表示图卷积层, 表示分子图中的节点向量聚合为整个药物分子的向量表示。

6.如权利要求5所述的一种基于注意力机制的LSTM‑CNN策略的安全药物推荐方法,其特征在于:步骤S4中药物组合向量表示为:= );

其中 表示乘积, 表示当前患者第t次访问输出的实际药物表示。

7.如权利要求1所述的一种基于注意力机制的LSTM‑CNN策略的安全药物推荐方法,其特征在于:二元交叉熵作为损失表示为:= +(1‑ )log(1‑ )

其中,|M|表示药物总数, 表示当前患者真实药物集中的第s个药物,表示当前患者推荐结果中的第s个药物概率,若 ,则说明真实药物集中的第s个药物是真实给患者开出的药物,反之 ,则说明真实药物集中的第s个药物是没有给患者开出的药物;

多标签铰链损耗损失函数表示为:

= ;

DDI损失表示为:

= ;

其中表示标量之间的乘积, 表示基于DDI的邻接矩阵,DDI的邻接矩阵是一种常用的表示药物之间相互作用关系的方式,如果两种药物间具有相互作用则标记为1,若两种药物间不存在相互作用的问题则标记为0; 表示当前患者推荐结果中的第f个药物概率;

{·}表示只获取满足大括号内表达式的第s个药物所对应的推荐结果的概率 , {·}表示只获取满足大括号内表达式的第f个药物所对应的推荐结果的概率 ;

上面的损失函数为一次访问定义的,在训练期间,损失反向传播将在患者水平上通过所有访问的平均损失进行;

最终总的目标函数具体表示为:

L= );

其中 分别为超参数。