1、 基于共轭梯度下降算法的类风湿关节炎 BP神经网络证候模型研究作者:白云静,申洪波,孟庆刚【关键词】 类风湿关节炎;证候;BP 神经网络;非线性建模证候是一个非线性复杂系统,中医证候的诊断过程,实质上是由临床收集到的各种症状,通过分析归纳,获得证型诊断的过程,这个过程,可以看作是一个从观察指标到证型诊断的非线性映射过程,用非线性数学模型可以充分模拟。基于黑箱结构的人工神经网络(Artificial Neural Networks,ANN)具有强大的非线性拟合能力,能够任意精度逼近非线性函数,因此,我们将其用于类风湿关节炎(rehumatoid arthritis,RA)证候的非线性建模研究。1
2、 临床资料 本研究采用中国中医科学院望京医院提供的765 例 RA 临床证候资料。参考中药新药临床研究指导原则(试行) 1、文献整理结果及专家经验,制定临床观察表。共观察 183 个症状、体征,每个症状按无、轻、中、重分别记为 0、1、2、3 分;并同时给出肝肾不足证、寒湿阻络证、瘀血阻络证、气血两虚证、痰瘀阻络证、阴虚内热证、热毒蕴结证、寒热错杂证、脾肾阳虚证等 10 个基本证型的诊断。从上述病例中抽取临床症状和证型诊断构成样本集合,作为神经网络的学习和测试样本。在神经网络的训练过程中,症状向量作为神经网络的输入向量,证型诊断分别对应网络的输出向量。2 研究方法2.1 数据预处理及病例分组先
3、对所有数据进行归一化处理,使处理后的输入输出信息均在(0,1)区间。对上述数据进行主成分分析,主成分的选择标准定为95%。数据经过主成分分析,前 98 个主成分的贡献率涵盖了总共 183个指标的 95.035%的信息,故我们取前 98 个主成分作为进一步分析的指标。通过主成分分析,输入向量从 183 个减至 98 个。可见原始数据有很大的冗余。 将 765 例样本随机分为 A、B 、C 3 组,每组255 例。依次选取其中两组作为训练集,另一组作为测试集,共循环 3次。2.2 建立基于共轭梯度下降算法的类风湿关节炎证候 BP 网络模型2.2.1 类风湿关节炎证候 BP 神经网络的结构在 MAT
4、LAB7.0 环境下,建立基于共轭梯度下降算法的三层前向 BP 神经网络模型。该模型包括输入层、隐层和输出层,其中输入层包含 183 个输入神经元;隐层有 2 个,各包含 100 个神经元;输出层包含 10 个输出神经元。两个隐层之间通过正切 S 型传递函数(tansig)连接,隐层与输出层之间用对数 S 型传递函数(logsig)连接。设定该网络的系统误差小于 0.01,最大迭代次数 500 次。2.2.2 类风湿关节炎证候 BP 网络的输出方式将具有肝肾不足证、寒湿阻络证、瘀血阻络证、气血两虚证、痰瘀阻络证、阴虚内热证、热毒蕴结证、寒热错杂证、脾肾阳虚证等 10 种证型诊断样本的期望输出值
5、分别定为(0,1,0,0,0,0,0,0, 0,0),(0,0,0,0,0,0,0,0,0,1)。预测整合输出值为(0, 0.2,0.4,0.6,0.8,1),这 6个数值分别对应原始输出值的(0 0.1,0.10.3,0.30.5,0.50.7,0.70.9,0.91) 区间的数值。整合输出值0.4 为诊断不成立 ,0.6 为诊断成立。2.2.3 基于共轭梯度下降算法的类风湿关节炎证候 BP 神经网络模型的训练网络参数的初始值取为-0.5,+0.5上均匀分布的随机数 ,利用train 函数对网络进行训练,第 1 次训练经过 89 次迭代以后,网络的系统误差降至 0.009 450 59;第
6、2 次训练经过 56 次迭代后,网络的系统误差降至 0.009 423 47;第 3 次训练经过 58 次迭代以后,网络的系统误差降至 0.009 174 36。上述数值均小于规定的最小误差 0.01,提示网络趋于稳定,网络性能达标,训练自动停止。2.2.4 类风湿关节炎证候 BP 神经网络模型的测试该网络模型的权值趋稳,训练结束后,分 3 次分别对 1/3 测试样本做检验。规定单证阳性诊断的符合情况为单证特异性;所有单证诊断的符合情况为单证准确率;病例的全部证型诊断符合情况为诊断准确率。即:单证特异性(%)预测输出所有单证阳性符合例数/期望输出所有单证阳性例数100%;单证准确率 (%)预测
7、输出所有单证符合例数/期望输出所有单证例数100%;诊断准确率(%)预测输出符合例数/所有病例数100%。其中,以整合输出值的大小排序,主证为证候的前 2 位证类,兼证为第 3 位证类,第 3 位以后的证类忽略不计。3 结果 测试结果显示:3 次测试的平均单证特异性为81.31%,平均单证准确率为 95.70%,平均诊断准确率为 90.72%。结果见表 1。表 1 RA 证候 BP 神经网络模型测试结果与临床诊断结果的比较(略)4 讨论 ANN 的一个显著特征是它能够通过自动学习来解决问题,对样本的学习过程,即为对网络中神经元间的联系强度(即权重系数)逐步确定的过程,通过对样本的学习,可以学会
8、识别自变量与应变量间的复杂的非线性关系。经过充分学习后的 ANN 获取了样本的特征规则,并将这些规则以数字的形式分布存贮在网络的连接权中,从而构成了系统的非线性映射模型。用 ANN 建模,可将过程或对象看成一个“黑箱”, 只要测得输入输出数据,就可以建立相应的模型,不必象传统的系统辨识那样把过程或对象分为线性系统还是非线性系统,也不必对过程或对象内部进行分析,这对未知过程的系统辨识是十分方便的。 中医证候体系具有复杂系统的非线性、开放性、层次性、涌现性和高维性特征,是一个多维多阶多变量的非线性复杂系统2-3。中医学辨证施治过程,实质上是对大量数据信息作出处理,提取规律的过程。如何从中医学大量现
9、象学描述中寻找其内在规律,是证的规范化研究之热点和难点。以往多采用统计学方法,但效果不够理想。ANN 作为一种智能信息处理系统,能够充分逼近任意复杂的非线性关系,获得样本数据的规则,较好避免数据处理中可能掺杂的主观因素,客观如实地反映研究对象4,因此,可以将其用于中医证候的非线性建模研究。 我们在 MATLAB7.0 环境下,对一组 RA 临床证候资料建立了基于共轭梯度算法的 BP 神经网络证候模型,并用3 倍交叉验证的方法进行测试,结果显示:该模型具有很好的诊断、预测能力。说明 ANN 能够充分模拟症状与证型诊断之间的非线性映射关系。这是目前在不打开人体黑箱的前提下,建立非线性证候模型、反映
10、证候的内在规律和特征的有效方法。 BP 神经网络有一个明显的缺点是收敛速度非常慢,为此,我们基于共轭梯度学习算法,采用 trainscg 函数改进 train 函数,从而加快了神经网络的收敛速度。我们建立的 RA 证候网络模型 3 次训练的迭代次数分别为 89、56、58,说明通过改进的 BP 神经网络具有很好的收敛性能。 另外,针对临床证候资料多存在兼夹证以及各证型之间有主次之分的情况,我们首先将模型的输出采用 1 个输出节点对应 1 种证型的方式,比如,RA证候模型共有 10 个证型,我们将包含 10 个证型的输出采用(0,1,0,0,1,0,0,0,0,0)的方式,其中,括号内每一个数值
11、代表一种证型,“0”表示诊断不成立,“1”表示诊断成立 ,这样就可以诊断兼夹证了;然后 ,我们将整合输出值整理成(0,0.2,0.4,0.6,0.8,1)等 6 个等级的方式,这 6个数值分别对应原始输出值的(00.1,0.10.3,0.30.5, 0.50.7,0.70.9,0.91)区间的数值,并规定整合输出值0.4 为诊断不成立,0.6 为诊断成立 ,这样就进一步根据整合输出值的大小直接判断有几个兼夹证以及各证型的主次地位了。可见,我们建立的 RA 证候网络模型不仅能够利用神经网络的自主学习能力从大量的样本中抽提出比较全面的证候内在规律,具有良好的诊断、预测能力,而且操作简便,真正实现了
12、证候诊断的智能化。ANN 技术是中医证候非线性建模的可行性方法。 虽然我们已经证实了 ANN 用于证候非线性建模的可行性,但是,以目前的技术,还无法从网络的联接权中抽提出网络通过自动学习所获得的证候规律,今后可以围绕这个关键问题继续开展研究。另外,证候的诊断信息具有模糊性特征,用模糊神经网络理论应更能够逼近证候的全貌,我们曾经试图用模糊神经网络进行证候的非线性建模研究,但是,目前的模糊神经网络还无法处理证候的兼夹问题,模糊神经网络的输出结果只能是多类中的一类,因此,我们暂时未作。今后我们将围绕这方面展开深入研究,力争建立证候的模糊神经网络模型。 总之,一门学科只有不断地吸纳先进的思想与技术,在
13、继承的基础上发展创新,才能真正具有生命力。中医证候复杂系统研究,呼唤非线性科学、人工神经网络、计算数学、模糊数学、信息工程、医学工程、复杂性科学等多种边缘学科、交叉学科理论和技术方法的介入,理论上的探讨和不断切实可行的实践探索并行,才能使中医证候规范研究从量的积累上升到质的飞跃。【3 结果 测试结果显示:3 次测试的平均单证特异性为81.31%,平均单证准确率为 95.70%,平均诊断准确率为 90.72%。结果见表 1。表 1 RA 证候 BP 神经网络模型测试结果与临床诊断结果的比较(略)4 讨论 ANN 的一个显著特征是它能够通过自动学习来解决问题,对样本的学习过程,即为对网络中神经元间
14、的联系强度(即权重系数)逐步确定的过程,通过对样本的学习,可以学会识别自变量与应变量间的复杂的非线性关系。经过充分学习后的 ANN 获取了样本的特征规则,并将这些规则以数字的形式分布存贮在网络的连接权中,从而构成了系统的非线性映射模型。用 ANN 建模,可将过程或对象看成一个“黑箱”, 只要测得输入输出数据,就可以建立相应的模型,不必象传统的系统辨识那样把过程或对象分为线性系统还是非线性系统,也不必对过程或对象内部进行分析,这对未知过程的系统辨识是十分方便的。 中医证候体系具有复杂系统的非线性、开放性、层次性、涌现性和高维性特征,是一个多维多阶多变量的非线性复杂系统2-3。中医学辨证施治过程,
15、实质上是对大量数据信息作出处理,提取规律的过程。如何从中医学大量现象学描述中寻找其内在规律,是证的规范化研究之热点和难点。以往多采用统计学方法,但效果不够理想。ANN 作为一种智能信息处理系统,能够充分逼近任意复杂的非线性关系,获得样本数据的规则,较好避免数据处理中可能掺杂的主观因素,客观如实地反映研究对象4,因此,可以将其用于中医证候的非线性建模研究。 我们在 MATLAB7.0 环境下,对一组 RA 临床证候资料建立了基于共轭梯度算法的 BP 神经网络证候模型,并用3 倍交叉验证的方法进行测试,结果显示:该模型具有很好的诊断、预测能力。说明 ANN 能够充分模拟症状与证型诊断之间的非线性映
16、射关系。这是目前在不打开人体黑箱的前提下,建立非线性证候模型、反映证候的内在规律和特征的有效方法。 BP 神经网络有一个明显的缺点是收敛速度非常慢,为此,我们基于共轭梯度学习算法,采用 trainscg 函数改进 train 函数,从而加快了神经网络的收敛速度。我们建立的 RA 证候网络模型 3 次训练的迭代次数分别为 89、56、58,说明通过改进的 BP 神经网络具有很好的收敛性能。 另外,针对临床证候资料多存在兼夹证以及各证型之间有主次之分的情况,我们首先将模型的输出采用 1 个输出节点对应 1 种证型的方式,比如,RA证候模型共有 10 个证型,我们将包含 10 个证型的输出采用(0,
17、1,0,0,1,0,0,0,0,0)的方式,其中,括号内每一个数值代表一种证型,“0”表示诊断不成立,“1”表示诊断成立 ,这样就可以诊断兼夹证了;然后 ,我们将整合输出值整理成(0,0.2,0.4,0.6,0.8,1)等 6 个等级的方式,这 6个数值分别对应原始输出值的(00.1,0.10.3,0.30.5, 0.50.7,0.70.9,0.91)区间的数值,并规定整合输出值0.4 为诊断不成立,0.6 为诊断成立 ,这样就进一步根据整合输出值的大小直接判断有几个兼夹证以及各证型的主次地位了。可见,我们建立的 RA 证候网络模型不仅能够利用神经网络的自主学习能力从大量的样本中抽提出比较全面
18、的证候内在规律,具有良好的诊断、预测能力,而且操作简便,真正实现了证候诊断的智能化。ANN 技术是中医证候非线性建模的可行性方法。 虽然我们已经证实了 ANN 用于证候非线性建模的可行性,但是,以目前的技术,还无法从网络的联接权中抽提出网络通过自动学习所获得的证候规律,今后可以围绕这个关键问题继续开展研究。另外,证候的诊断信息具有模糊性特征,用模糊神经网络理论应更能够逼近证候的全貌,我们曾经试图用模糊神经网络进行证候的非线性建模研究,但是,目前的模糊神经网络还无法处理证候的兼夹问题,模糊神经网络的输出结果只能是多类中的一类,因此,我们暂时未作。今后我们将围绕这方面展开深入研究,力争建立证候的模糊神经网络模型。 总之,一门学科只有不断地吸纳先进的思想与技术,在继承的基础上发展创新,才能真正具有生命力。中医证候复杂系统研究,呼唤非线性科学、人工神经网络、计算数学、模糊数学、信息工程、医学工程、复杂性科学等多种边缘学科、交叉学科理论和技术方法的介入,理论上的探讨和不断切实可行的实践探索并行,才能使中医证候规范研究从量的积累上升到质的飞跃。【