APP下载

基于共轭梯度下降算法的BP神经网络的中医糖尿病诊断模型研究

2019-11-03吴燎程小恩

电脑知识与技术 2019年23期
关键词:BP神经网络诊断预测

吴燎 程小恩

摘要:目的:采用BP神经网络构建中医糖尿病诊断模型,利用真实的糖尿病中医病案,实现糖尿病的诊断预测。方法:利用1288个糖尿病临床电子病历,通过数据清洗后得到质量较高的电子病历数据805个、对病案数据整理、编码后,在MATLAB7.0环境下,利用BP神经网络算法,通过症状输入,預测糖尿病疾病诊断。结果:通过数据分析临床验证正确率达到95%以上,利用人工神经网络算法可以辅助糖尿病的诊断。结论:疾病的诊断准确性是中医临床用药的关键,利用神经网络诊断糖尿病为疾病诊断提供一种方法,有利于提高疾病诊断的准确性。

关键词:糖尿病; BP神经网络;诊断;预测

中图分类号:G434        文献标识码:A

文章编号:1009-3044(2019)23-0218-03

开放科学(资源服务)标识码(OSID):

1 概述

利用关键词“BP神经网络”和“中医诊断”检索知网,万方,维普等数据库,分析被引量大于40的相关论文,研究涵盖了人体脉象、中医证候分析、中医诊断研究等。神经网络结合中医中药和模型准确率的提高是未来发展的趋势。其中关于疾病诊断的预测论文[1]-[20],代表作者樊晓平提出了通过多层前馈型人工神经网络对中医抑郁症进行分类,代表作者曾子杰提出了基于关联规则和人工神经网络的大肠癌中医症治规律研究,代表作者许朝霞提出了支持向量机和人工神经网络的心血管疾病中医证候分类识别研究。代表作者秦中广提出了粗超神经网络在中医智能诊断系统中的应用,利用Rough Set技术对人工神经网络进行预处理,求取核属性,构造粗糙人工神经网络, 并应用到中医类风湿病分型诊断建模。代表作者孙贵香采用一种基于共轭梯度算法的 BP 神经网络,构建冠心病中医证候 BP 神经网络模型,并运用检测样本对该模型的性能作出评价,准确率达到90.5%。针对糖尿病的疾病预测,李建生等提出径向基神经网络,并利用聚类分析确定RBF神经网络隐层的参数,运用最小二乘确定RBF神经网络输出层的参数.并通过模型检验,验证了基于200个训练数据聚类分析的RBF神经网络用于中医证候诊断的有效性、准确率达到94.4%。

实验利用现有的中医大数据平台,采集98家医院的真实电子病历数据,利用真实病案数据,通过BP神经网络建模,预测糖尿病的诊断,准确率达到95%以上。

2 数据来源

2.1资料来源

BP神经网络的模型的建立需要正确可靠的数据。研究利用四川省中医大数据平台中的真实临床数据作为数据源。筛选较为完整,复诊率较高的结构化电子病历数据:糖尿病500例、高血压300例、咳嗽200例、冠心病200例,共1288例。 数据病例包括乏力、便秘、心悸等285个症状,选择26个频率高的症状构建输入层(图1 症状分布图),利用BP神经网络进行糖尿病预测。

3 方法

3.1数据清洗规则

数据预处理:删除错误和空白的数据[21],保证数据的正确性。替换不规范的数据[22],保证数规范统一,通过预处理后得到805例正确数据。对处理后的电子病历进行数字化编码处理。数字化编码处理的标准按照计算机二进制编码[23],0代表不存在,1代表存在。症状数字化标准:症状不出现(0)、症状出现(1)。诊断疾病(1),未诊断疾病(0)。最终得到全部为0,1的矩阵实验数据(图2 病历数字化处理编码图)。

主成分分析:将所有的症状选择主要成分作为神经网络的输入向量。对数据进行主要成分分析,主要成分的选择范围为所有症状数据采集率75%的数据。再经过主成分分析,前26个主要症状涵盖了总共285个症状的74.2%的信息。主要症状见表1 。取前26个。 主成分作为进一步分析的指标。通过主成分分析, 输入向量为提炼至26个。

病例分组:用交叉验证检验模型[25]的预测效果。将805例样本分为A、B、C三组,A组260个数据,B组260,C组285个数据,第一次选择A、B作为训练集,C作为测试集;第二次选择A、C作为训练集,B作为测试集;第三次选择C、B作为训练集,A作为测试集。最后综合三个模型的训练效果,取平均值。

4 神经网络设计流程(图3 基于共轭梯度下降算法的BP网络构建)

1) 确定网络层数。样本数据输入层有26个输入节点,采用2个隐藏层,通过反复验证,这种设计可以有效地减少网络规模。

2) 确定输入层节点数。输入层节点数取决于输入向量的维数。此研究有26个症状作为输入,所以对应有26个输入节点。

3) 确定隐含层节点数。隐含层和节点数对BP神经网络的性能影响很大。较多的隐含层节点数可以带来更好的性能。隐含层节点数由公式求得。

[M=m+n+a],

m和n分别为输入层和输出层的神经元个数,a是[0,10]之间的常数。

[M=log2N], N为输入层神经元个数。

经过多次实验,最终确定了隐含层M分别为8、4的训练的时间最短,网络模型收敛最快,最后的准确率也较高。

4) 输出层神经元个数。输出层神经元个数由输出结果确定。本次的诊断只有一个为糖尿病,所以对应有一个输出节点,节点对应的输出期望为(1,0)。

5 BP网络的结构

BP网络的输出方式:糖尿病诊断样本的期望输出值定为(1,0)。输出值与真实值误差>0.5为诊断不成立,≤0.5为诊断成立。

BP网络的测试:网络的权值趋稳,训练结束后,用验证数据对训练好的神经网络做检验。并重复第二组实验,测试结果,保证训练方法的正确性。

6 结果

测试结果显示:2次测试的平均总的识别率是 96.774%,第一个糖尿病的识别率是 98.065%,第二个是98.065%,第三次是96%,从结果中可以看到,该网络模型对于糖尿病,具有较高的辨识率。正确率均达到了95%以上。说明模型具有良好的诊断和预测能力。

7 讨论

此实验利用真实的电子临床数据,通过BP神经网络模型构建诊断预测模型,可以辅助预测糖尿病诊断。但本次实验还有以下几点需要改进。第一数据量可以适当增加,提高预测模型的准确性。第二数据编码可以不断优化,本次处理数据采用二进制编码对症状编码。每一个症状只有0,1两种输入选项,可以通过对症状的轻重设置编码的权重级别改进編码的准确性。

8 结语

实验利用症状之间的联系和差别诊断出糖尿病疾病,正确率达到95%以上,成功地模拟了临床的诊断。说明人工神经网络,人工智能在未来医疗行业的应用,在医学诊疗中的应用大有可为。未来,随着医院信息化的深入,电子病历数据会越来越多,数据越来越规范,可研究的资料数据也会越来越大。利用人工神经网络算法诊断疾病,将会越来越成熟。

参考文献:

[1] 樊晓平, 彭展, 杨胜跃, 等. 基于多层前馈型人工神经网络的抑郁症分类系统研究[J]. 计算机工程与应用, 2004, 40(13).

[2] 曾子杰. 基于关联规则和人工神经网络的大肠癌中医证治规律研究[D]. 2017.

[3] 许朝霞, 王忆勤, 颜建军, 等. 基于支持向量机和人工神经网络的心血管疾病中医证候分类识别研究[J]. 北京中医药大学学报, 2011, 34(8):539-543.

[4] 秦中广, 毛宗源. 粗糙神经网络及其在中医智能诊断系统中的应用[J]. 计算机工程与应用, 2001, 37(18):34-35.

[5] 温宗良, 岳桂华, 杨靖, 等. 基于共轭梯度算法的BP神经网络在高血压证候诊断中的应用[J]. 山东中医药大学学报, 2012(3):183-184.

[6] 孙贵香, 廖常艳, 袁肇凯, 等. 基于BP神经网络的冠心病中医证候神经网络模型研究[C]// 全国中西医结合诊断学术研讨会. 2008.

[7] 李建生, 胡金亮, 余学庆, 等. 基于聚类分析的径向基神经网络用于2型糖尿病证候诊断[C]// 第八次全国中医糖尿病学术大会论文汇编. 2005.

[8] 白云静, 孟庆刚, 申洪波, 等. 基于改进的BP神经网络的糖尿病肾病中医证候非线性建模研究[J]. 北京中医药大学学报, 2008, 31(5):308-311.

[9] 李建生, 胡金亮, 王永炎. 基于2型糖尿病数据挖掘的中医证候诊断标准模型建立研究[J]. 中国中医基础医学杂志, 2008, 14(5):367-370.

[10] 佚名. 基于K-Nearest Neighbor和神经网络的糖尿病分类研究[J]. 中国医学物理学杂志, 2018, 35(10):110-114.

[11] 黄仕鑫, 罗佳婧, 罗亚玲, 等. 基于BP神经网络模型鉴别2型糖尿病肾病的认知图研究[J]. 中华内分泌代谢杂志, 2017(33):949.

[12] 李攀. 基于神经网络的2型糖尿病并发症预测模型的研究[D]. 2016.

[13] 刘飞, 张俊然, 杨豪. 基于深度学习的糖尿病患者的分类识别[J]. 计算机应用, 2018(A01):39-43.

[14] 洪烨. 基于机器学习算法的糖尿病预测模型研究[D].

[15] 王炳和, 相敬林. 基于神经网络方法的人体脉象识别研究[J]. 西北工业大学学报, 2002, 20(3).

[16] 李建生, 胡金亮, 余学庆, 等. 基于聚类分析的径向基神经网络用于证候诊断的研究[J]. 中国中医基础医学杂志, 2005, 11(9).

[17] 樊晓平, 彭展, 杨胜跃, 等. 基于多层前馈型人工神经网络的抑郁症分类系统研究[J]. 计算机工程与应用, 2004, 40(13).

[18] Lai Y H , Ni Y N , Kokot S . Authentication of Cassia seeds on the basis of two-wavelength HPLC fingerprinting with the use of chemometrics[J]. Chinese Chemical Letters, 2010, 21(2):213-216.

[19] Xuesong L . A Fast Method for Identifying the Quality of Chinese Medicine Injections Based on Self-organizing Maps Neural Network[J]. Chinese Journal of Analytical Chemistry, 2007, 35(10):1483-1486.

[20] aafar S F B, Ali D M. Diabetes mellitus forecast using artificial neural network (ANN)[C]// Asian Conference on Sensors & the International Conference on New Techniques in Pharmaceutical & Biomedical Research. 2005.

[21] 覃华, 苏一丹, 李陶深. 基于遗传神经网络的数据清洗方法[J]. 计算机工程与应用, 2004, 40(3):45-46.

[22] 孟祥逢, 鲁汉榕, 郭玲. 基于遗传神经网络的相似重复记录检测方法[J]. 计算机工程与设计, 2010, 31(7):1550-1553.

[23] 宋擒豹, 沈钧毅. 神经网络数据挖掘方法中的数据准备问题[J]. 计算机工程与应用, 2000, 36(12):102-104.

[24] 贺昌政, 俞海. BP人工神经网络主成分分析预测模型及应用[J]. 数量经济技术经济研究, 2001, 18(9):104-106.

[25] 邱龙金, 贺昌政. 神经网络稳定性的交叉验证模型[J]. 计算机工程与应用, 2010, 46(34):43-45.

[26] 陈朝阳, 行小帅, 李玥. 共轭梯度BP算法在Matlab 7.0中的实现[J]. 现代电子技术, 2009, 32(18):125-127.

[27] 沈花玉, 王兆霞, 高成耀,等. BP神经网络隐含层单元数的确定[J]. 天津理工大学学报, 2008, 24(5):13-15.

[28] 杨伟斌, 吴光强, 秦大同, 等. 人工神经网络的各参数对系统辨识精度的影响分析及各参数的确定方法[J]. 机械工程学报, 2006, 42(7):217-221.

[29] 焦斌, 叶明星. BP神经网络隐层单元数确定方法[J]. 上海电机学院学报, 2013(3):113-116.

[30] 孔德坤, 张晓斌. 糖尿病与高血压[J]. 中华内分泌代谢杂志, 2005,21(5):68-70.

【通联编辑:王力】

猜你喜欢

BP神经网络诊断预测
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
窄带成像联合放大内镜在胃黏膜早期病变诊断中的应用