基于DAM_XGCN 的疾病辅助诊断模型
2021-08-24龚庆悦李铁军王红云鲍剑洋胡孔法
陈 燕,龚庆悦,李铁军,王红云,鲍剑洋,胡孔法
(1.南京中医药大学人工智能与信息技术学院,江苏南京 210023;2.南京中医药大学第二附属医院(江苏省第二中医院),江苏 南京 210017;3.南京中医药大学 护理学院,江苏 南京 210023)
0 引言
自神经网络[1]提出以来,相关学者从多角度拓展神经网络研究,如在深度神经网络中加入残差块[2]、利用深度神经网络模型分析少样本数据[3]、含注意力机制的卷积神经网络识别语音情感[4]、保持聚类结构的属性网络表示学习[5]等。2005 年,图神经网络(Graph Neural Network,GNN)[6]被提出,GNN 是一种可直接应用于图的神经网络,即利用神经网络分析图结构数据、图表示学习[7]等。它有多种类型,如图卷积神经网络(Graph Convolutional Net⁃works,GCNs)[8]、图注意力网络[9]、图时空网络[10]等。相关研究表明,卷积神经网络[11-12]适用于分析中医数据,例如分析患者声音数据[13]以辅助闻诊决策,分析舌象数据以获得患者中医体质类别[14],对中医舌苔颜色进行分类研究[15]。
乙肝小三阳、乙肝大三阳在一定情况下易相互转化[16],若未及时确诊,将增加患肝癌等疾病的风险。近年来,针对算法模型辅助诊断乙肝的研究引起了医学界关注,例如构建ARIMA 模型与BP 神经网络模型预测乙型肝炎发病率[17]、通过贝叶斯网络模型分析美沙酮维持治疗门诊患者特征和HBsAg 阳性影响因素[18]等。与传统复杂网络分析方法[19]相比,图卷积神经网络[20-21]可解决实体间时序关联信息无法充分学习等问题。
本文选取江苏省名医整理的182 例乙肝患者诊治临床医案,进行中西医指标特征分析[22],通过XGBoost 与GCNs相结合的疾病辅助模型(Disease Auxiliary Monitoring Model Based on XGBoost and GCNs,DAM_XGCN)分析异常指标网络(含有同一位患者多次诊治时指标的波动信息)。该模型可辅助医生诊断决策,且推荐波动显著的指标项,便于医生快速掌握患者疾病异常变化,以期为中西医诊疗研究提供新的技术路线与研究思路。
1 相关工作及定义
1.1 图卷积神经网络
利用图卷积神经网络进行分类时,输入数据为N 个节点对应F 个特征的0-1 矩阵H∈RN×F、P 个节点连边的拓扑表A∈RN×P,输出结果为各节点属于不同类别的概率Z∈RN×2。其定义为:
本文采用两层图卷积神经网络,网络结构分为3 个部分:输入层、两个卷积层、输出层。
1.1.1 输入层
由医案信息经过格式化处理得到医案节点的特征表信息,每个节点对应1 次就诊记录,附有异常指标特征值(异常值取1,正常值取0);同一位患者前后就诊医案具有相关性,由此构建医案拓扑表A。
1.1.2 卷积层
为使孤立点(没有任意1 个节点与之相连接,即该患者有且仅有1 次就诊记录)也可获取相似邻近节点信息,本文采取双层图卷积层。图卷积层第一层设置如下:输入为N个节点、d 个特征信息(参数d 的值由XGBoost 模型得到的重要性指标数确定),输出为d 个16 维特征并作为图卷积层第二层输入;第二层输出为16 个2 维特征(第一维对应乙肝小三阳,第二维对应乙肝大三阳)。
1.1.3 输出层
根据训练后的模型给出验证集中每一节点属于两种疾病的概率,根据“优准确率”原则得到验证集中各医案节点疾病诊断结果(0 表示乙肝小三阳,1 表示乙肝大三阳)。
1.2 拉普拉斯变换
图卷积神经网络不仅对特征矩阵信息进行卷积处理,还对拓扑表A 进行拉普拉斯处理,具体操作步骤如下:
(1)拉普拉斯变化。增加节点自连接,以获取自身信息,计算如式(3)所示。
(2)拉普拉斯归一化。消除离群特征值,使特征值更加均匀化,计算如式(4)所示。
1.3 双向反馈策略
本文在图卷积神经网络第二层设计前反馈机制,有3个关键步骤:①通过修正线性单元(Rectified Linear Unit,ReLU)激活函数[11],在第一卷积层训练后得到的节点特征值中所有负数作归0 化处理;②进入第二卷积层训练后,得到节点特征值存为message;③计算message 损失值,如式(5)所示。
为多次迭代训练后得到最佳训练模型,在每次迭代后增加1 个后反馈机制,评价当前迭代得到的模型梯度值,从而进一步优化网络模型。
1.4 参数更新机制
图卷积神经网络中需要更新的参数主要有两个:权重W 和偏移量B。模型在第1、2 卷积层中设计各层需要的参数,即W1、B1和W2、B2,并通过ReLu 函数激活。在神经网络模型中一般采用梯度下降法[23]更新权重,即在一个方向上调整模型参数值,更新公式为:
在梯度下降基础上,为使训练的网络稳定收敛,Mo⁃mentum 算法[24-25]基于梯度移动指数作加权平均,优化相同方向的训练、弱化相反方向的震荡,加速随机梯度下降。更新公式为:
本文采用自适应矩估计(Adaptive Moment Estimation,Adam)算法[26],Adam 同时具有Momentum 算法与均方根传递算法优点,根据各参数学习速率动态调整该参数梯度一阶矩估计与二阶矩估计。更新公式为:
2 模型构建
DAM_XGCN 模型构建主要分为3 个阶段,详见图1。阶段一为异常指标网络图构建,通过XGBoost 模型筛选重要性大于100 的异常指标特征,并进行格式转化得到数据集H 与A;阶段二为疾病诊断决策,依次设计d×16 卷积层、16×2 卷积层,并通过前/后反馈机制筛选得到最优模型;阶段三为最优指标组合筛选,通过“优准确率”原则得到诊断疾病的关键指标组合。
Fig.1 DAM_XGCN model structure图1 DAM_XGCN 模型结构
2.1 异常指标网络构建
本文实验所用数据取自三甲医院名医精心筛选的乙肝诊治临床医案,预处理后构建中西医异常指标网络图,包括556 条诊次记录。每条诊次记录中含有4 类指标,共计30 种指标项(频次大于10,见表1)。
Table 1 Index items表1 指标项
对由指标类两两组成的58 种二维指标组合(频次大于10)、由指标类三三组合的8 种三维指标组合(频次大于4),以及一维指标组合共计96(58+8+30)种诊断指标组合作XGBoost 重要性排序分析。1 个节点代表1 位患者的1 次诊断记录,节点属性特征即指标组合信息,节点连边记录患者前后诊断关系,由此构建特征表H 与拓扑表A,具体操作见算法1。
算法1:异常指标网络构建
2.2 疾病诊断决策
图卷积神经网络经多次调试,确定最优初始化参数值,如表2 所示。
Table 2 GCNs training parameters表2 GCNs 训练参数
该阶段核心是对两层图卷积层作训练,利用Pytorch 工具将训练参数加入到训练模型中进行迭代epoch=2 400 次,获得最佳参数值。具体操作如算法2 所示。
算法2:疾病诊断决策
2.3 最优指标组合筛选
指标组合筛选采用“优准确率”原则,从阶段2 得到的所有指标组合中筛选出诊断乙肝小/大三阳最优的指标组合。具体操作如算法3 所示。
算法3:最优指标组合筛选
Input:一、二、三维指标组合的划分结果评价指标
Output:最佳指标组合
a)遍历一、二维指标组合
(a)获得每维组合在验证集得到的准确率集合acc_val,并做升序处理;
(b)按照“优准确率”法取出该维最佳指标组合GOOD。
b)遍历GOOD、三维指标组合
同a)中的(a)(b)步骤得出所求的最佳结果。
3 实验与结果分析
3.1 交/差集划分
筛选重要性大于100 的一、二、三维指标组合,即所求差集,如图2 所示。一维指标组合有虚脉、淡红舌、细脉等,二维指标组合有数脉+腻苔、弦脉+肝(肝结节、肝光点密等)、虚脉+淡红舌等,三维指标组合有弦脉+ALT+肝、薄苔+r-GT+脾等。
Fig.2 Combination association of different set index图2 差集指标组合关联
表1 中未出现在图2 中的指标(重要性小于100)是在两大患者群中波动区分度不显著的异常指标,即所求交集。比较一、二、三维指标交集结果,发现包含缓脉指标,由此分析得出,两大患者群前、中期均出现缓脉现象。
3.2 差集分级
对比分析DAM_XGCN 与支持向量机、逻辑回归、贝叶斯、随机森林、XGBoost 等传统机器学习模型诊断结果准确率,如图3 所示,得出DAM_XGCN 模型效果最优,准确率最高为二维指标组合的0.72。
Fig.3 Histogram of prediction accuracy of 7 models图3 7 种模型预测准确率直方图
二维指标组合的重要性排序等级如图4 所示,统计前20 种指标组合,其中90%为脉诊指标与舌诊指标组合,由此推断乙肝小、大三阳病情波动与患者脉象、舌象变化关系更为密切。其中,排名前三对应的临床医案诊断特点:数脉+腻苔组合,几乎全部出现在乙肝大三阳中,且诊治中、后期出现频次较多;弦脉+肝(肝结节、肝光点密等)组合,以乙肝小三阳患者为主;虚脉+淡红舌组合,主要出现在乙肝小三阳患者诊治前、后期及乙肝大三阳患者中期。
Fig.4 Two-dimensional index combination classification图4 二维指标组合分级
4 结语
本文整理三甲医院名医记载的乙肝小、大三阳患者医案数据,以中西医指标(舌诊指标、脉诊指标、肝功能生化指标、彩超指标)作为图节点特征,采用DAM_XGCN 模型作诊断预测。
DAM_XGCN 辅助医生从多指标异常变化及时诊断乙肝小/大三阳患者程度,可用于确诊前的乙肝小/大三阳筛查工作。将XGBoost 与GCNs 有机组合的DAM_XGCN 模型同时具有XGBoost 特征选择优点和GCNs 学习网络图中特征实体属性与实体间关联的优势。一方面,可以将临床医案中纵向时序信息(同一位患者的前后诊断医案)与横向关联信息(不同指标类组合的关联信息)加入到模型中训练学习;另一方面,在训练过程中可视化阶段性结果,例如指标重要性排序结果、一/二/三维指标组合的交/差集结果。较传统机器学习诊断预测模型,本文采用DAM_XGCN 模型划分效果最佳,准确率高达72%。
为进一步提高基于DAM_XGCN 模型划分两大患者群的准确率,接下来将一方面细化数据实体信息,扩充数据;另一方面优化DAM_XGCN 模型,考虑结合元路径异质网络、重叠患者群发现等技术,对中西医诊疗中的相关问题作进一步研究。