一种基于BP神经网络的医疗诊断系统的制作方法

文档序号:16475671发布日期:2019-01-02 23:34阅读:228来源:国知局
一种基于BP神经网络的医疗诊断系统的制作方法

本发明涉及医疗系统技术领域,尤其涉及一种基于bp神经网络的医疗诊断系统。



背景技术:

冠心病,是指因冠状动脉狭窄、供血不足而引起的心肌机能障碍和(或)器质性病变,故又称缺血性心肌病((chd)。被喻为“人类健康第一杀手”的心血管疾病己成为中国第一致死原因,而冠心病就是其中最主要的一种心脏病。目前,临床上对冠心病的诊断方法主要包括:临床表现、心电图、核素心机影像、冠状动脉造影、心肌酶学检查、心血池显像、超声和血管内超声等。经过长期临床检验,冠状动脉造影一直被认为是冠心病诊断的“金标准”,但是由于该诊断方法比较昂贵,对人员设备要求较高,还没有被广泛采用。冠心病症状复杂多变,临床诊断数据较多,易与其他疾病混淆故而临床上仍然存在对冠心病误诊误治现象。许多疾病的临床表现与冠心病相似如从单项的临床检查结果判断则极易出现误诊,所以我们急需找到一个专门针对冠心病的鉴别诊断方法。运用人工神经网络方法可以提高临床对冠心病鉴别诊断效率降低误诊率。

在人工神经网络的发展历史上,感知机网络曾对人工神经网络的发展发挥了极大的作用,也被认为是一种真正能够使用的人工神经网络模型,它的出现曾掀起了人们研究人工神经元网络的热潮。单层感知网络(m-p模型)为最初的神经网络,具有模型清晰、结构简单、计算量小等优点。但是,随着研究工作的深入,人们发现它还存在不足,例如无法处理非线性问题,即使计算单元的作用函数不用阀函数而用其他较复杂的非线性函数,仍然只能解决解决线性可分问题.不能实现某些基本功能,从而限制了它的应用。增强网络的分类和识别能力、解决非线性问题的唯一途径是采用多层前馈网络,即在输入层和输出层之间加上隐含层。构成多层前馈感知器网络。bp神经网络具有任意复杂的模式分类能力和优良的多维函数映射能力,解决了简单感知器不能解决的异或和一些其他问题。从结构上讲,bp网络具有输入层、隐藏层和输出层,从本质上讲,bp算法就是以网络误差平方为目标函数、采用梯度下降法来计算目标函数的最小值。

基于bp神经网络的医疗诊断系统诊断与以往医疗诊断方法相比,该系统自动化程度高,诊断可靠准确。



技术实现要素:

本发明的目的是解决冠心病的鉴别诊断复杂的难题,设计了一种基于bp神经网络的医疗诊断系统。

本发明提供一种基于bp神经网络的医疗诊断系统,该系统通过模仿生物大脑神经系统信息处理功能实现输入与输出之间的任意费线性优化映射,有着传统统计方法无法比拟的适用性、容错性及自组织性等特点。提高了系统的诊断速度和准确率问题,而提出的一种bp神经网络的医疗诊断系统。

为了实现上述目的,本发明采用了如下技术方案:

一种基于bp神经网络的医疗诊断系统,包括鉴别诊断样本的选取模块、样本信息数字化处理模块、构造和训练bp神经网络模型模块、经过数字化处理的患者信息模块、经过不断学习的bp神经网络模块、神经网络的鉴别诊断模块。

优选的,所述鉴别诊断样本的选取模块,样本为一对输入与输出信息,输入与输出信息是抽象的映射关系,样本按照随机、对照、重复等原则收集资料、整理资料、分析资料,保证训练结果的无偏差。对所鉴别后的样本信息进行规范化处理,对所有输入节点的信息采用平均值法进行规范化,规范化的样本包括训练样本和测试样本。

优选的,所述样本信息数字化处理模块,经过标准化、规范化处理样本信息将转化为数字样本,构造数字样本库和疾病数据库。

优选的,所述构造和训练bp神经网络模型模块,构造bp神经网络,是由输入层、输出层和单个隐含层构成,每层由若干结点组成,每一个结点表示一个神经元,输入层有10个神经元,隐含层有9个神经元,输出层有1个神经元,上层结点和下层结点之间通过权连接,同一层结点之间没有联系。将数字化处理训练样本输入到神经网络中,得到输出并与已知的输出样本进行对比计算各层误差,根据各层误差的结果不断网络权值和阈值,直到最终满足误差数度要求,这样就完成神经网络的训练。

优选的,所述经过不断学习的bp神经网络模块,系统根据设定的参数和初始值,利用训练数据对网络进行训练,系统误差达到要求时,表明bp神经网络模型学习成功并保存网络。

优选的,所述经过数字化处理的患者信息模块,录入患者信息后,将信息标准化处理并转换为数字化。

优选的,所述神经网络的鉴别诊断模块,输出结果的判定方法采用最大值原则,即选取输出值最大的输出节点对应的分级作为这段结果,经网络计算得出输出值向量值,与期望输出一致则为正确诊断。

与现有技术相比,本发明提供了一种基于bp神经网络的医疗诊断系统,具备以下有益效果:bp神经网络是一种非传统的多元非线性模型,可以识别变量间复杂的非线性关系,功能十分强大,而且无论变量是何种类型,是否满足正态性、独立性等条件均可用于bp网络建模。疾病的发病过程亦是一个受多因素影响的复杂过程,利用传统的统计方法预测疾病的发生过程往往存在很大的局限性,而bp神经网络的优点恰恰适合预测疾病的发生过程。采用bp神经网络往往能收到较好的效果,它在疾病预测中有着广阔的应用前景。

附图说明

结合附图,从下面对本发明实施例的详细描述,将更好地理解本发明,附图中类似的标号指示类似的部分,其中:

图1为本发明提出的一种基于bp神经网络的冠心病医疗诊断系统系统的运行流程结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

参照图1,一种基于bp神经网络的医疗诊断系统,包括鉴别诊断样本的选取模块、样本信息数字化处理模块、构造和训练bp神经网络模型模块、经过数字化处理的患者信息模块、经过不断学习的bp神经网络模块、神经网络的鉴别诊断模块。

鉴别诊断样本的选取模块,冠心病患者样本信息的选取分别挑选典型与非典型冠心病误诊患者病案,选取较为完整的样本信息,样本为一对输入与输出信息,输入与输出信息是抽象的映射关系,样本按照随机、对照、重复等原则收集资料、整理资料、分析资料,保证训练结果的无偏差。对所鉴别后的样本信息进行规范化处理,对所有输入节点的信息采用平均值法进行规范化,规范化的样本包括训练样本和测试样本。

样本信息数字化处理模块,经过标准化、规范化处理样本信息将转化为数字样本,构造数字样本库和疾病数据库。经过临床调查和理论研究,从大量诊断参数中选择9个参数进行数字化处理,即心纹痛症状、心电图检查、心电图运动试验、超声心电图、核素心肌灌注、冠状动脉造影、上消化道钡剂造影、电子胃镜检查、颈椎ct检查等9项。神经网络学习的结果(期望输出)为冠心病、上消化道疾病、颈椎病、其他疾病等,数字量化参数和期望输出均作为输入样本用于网络训练。其中,我们约定若计算结果区间为(0,1.1)则诊断为冠心病,(1.1,2.1)为上消化道疾病,(2.1,3.1)为颈椎或周围神经系统疾病。具体的鉴别诊断信息数字量化处理如下。

构造和训练bp神经网络模型模块,构造bp神经网络,是由输入层、输出层和单个隐含层构成,每层由若干结点组成,每一个结点表示一个神经元,输入层有9个神经元,分别对应9个主要参数。隐含层训练网络的任务是确定隐含层结点数和权值,隐含层神经元结点数为9个,输出层有3个神经元,一个输出结点对应一种类型,将3类样本的期望输出值分别为(0,1.1)、(1.1,2.1)、(2.1,3.1),上层结点和下层结点之间通过权连接,同一层结点之间没有联系。将数字化处理训练样本输入到神经网络中,得到输出并与已知的输出样本进行对比计算各层误差,根据各层误差的结果不断网络权值和阈值,直到最终满足误差数度要求,这样就完成神经网络的训练。

经过不断学习的bp神经网络模块,为了实现冠心病的鉴别诊断,采用bp算法,即误差逆传播算法的主要学习思想是把学习过程分为2个阶段。第一阶段:信号正向传播过程,输入信号通过输入层经隐含层逐层处理并计算每个节点的实际输出值;第二阶段:误差修正反向传播过程。若在输出层未得到期望的输出值.则逐层递归地计算实际输出与期望输出之间的误差,并依据此误差来修正权值。在学习过程中,对于每一个输入样本逐次修正权值向量,若有ⅳ个输入样本,那么一次学习过程将对权值向量修正ⅳ次.这种逐次不断地修正权值向量的方法称为逐次修正法。具体地说,就是可对每个权值计算出接收单元的误差值与发送单元的激活值之积。由于这个积和误差对权值的(负)微商成正比,因此把它称作权值误差微商。权值的实际改变可由权值误差微商逐个模式地计算出来,即它们可以在这组模式集的基础上进行累加。

bp算法的性能函数即误差逆传播算法的性能函数是均方误差。对于单层的线性网络,误差是网络权值的显式线性函数,其相对于权值的导数较为容易求得。在具有非线性传输函数的多层网络中,网络权值和误差的关系则更为复杂。为了计算导数,需要使用微积分的链式法则。

bp算法步骤

(1)初始化:设定学习次数t=0;对网络权值和阈值赋予小的随机数wij(t)∈[一1,1],wjk(t)()∈[一1,l],θk(t)∈[一1,l]。

(2)向前计算:输入一个学习样本(xk,tk),其中k∈{1,2,…,n},n为样本数,xk∈rn,tk∈rm

(3)计算隐层各节点的输出值:

(4)计算输出层节点的输出:

(5)逆向误差修正计算、输出层节点和隐层节点之间连接权值修正量的计算:

(6)隐层节点和输出层节点问连接权值修正量的计算:

(7)用第(5)步求的误差修正量δk来修正输出层和隐层间连接权值矩阵wkj和阈值向量θj。例如,对节点k和隐层j的连接权值和节点k的阈值的修正为:

θk(t+1)=θk(t)+βδk

(8)用第(6)步求出的误差修正量δj来修正隐层和输入层间连接权值矩阵wji阚值向量θj。例如,隐层j和输入层节点i的连接权值wji和节点j的阈值的修正为:

θj(t+1)=θj(t)+α·δj

(9)如果全部学习样本未取完,则返回第(2)步,否则执行第(10)步。

(10)计算误差函数e,并判断e是否小于规定的误差上限,如果e小于误差上限,则算法结束;否则学习次数到算法结束,更新学习次数t=t+1,返回第(2)步。

临床医学诊断是指医生通过对病情进行分析和判断,从而得出诊断结果。诊断结果的正误与医生的水平密切相关,特别是对于那些难以诊断的复杂病例,就需要医疗专家进行诊断。在医学领域.次要指标是错综复杂的,终点指标与次要指标之间大多是非线性关系。医疗诊断是医学发展的重要问题,特别是要探讨多个次要结局指标与主要结局指标的非线性、复杂性关系,寻找和评价真正可以代替终点指标的次要指标,用来评价医学诊断的准确率和诊断原理。传统神经网络算法是采用简单的经验公式或数理统计的方法建立一个通用的算式,由于实验对象的差异.所以很难获得较高的符合率。因为这种算法只是对系统的一种近似描述,因此模型的适应性是局限的,效果不够理想。由于神经网络善于从有畸变、缺损以及背景复杂的信息中提取系统的输出与输入间的复杂相关关系,所以可利用bp神经网络方法建立预测模型,针对医学诊断提供可行的诊断方法。bp神经网络是模仿生物神经系统中神经元的一种数学处理方法。由于它具有并行处理方式、自组织、自学习能力、联想记忆和容错等能力,因而可以起到专家系统的作用。特别是在分类诊断以及基于分类的智能控制和优化求解方面,神经网络专家系统比传统的专家系统性能更为优越。系统根据设定的参数和初始值,利用训练数据对网络进行训练,系统误差达到要求时,表明bp神经网络模型学习成功并保存网络。

经过不断学习的bp神经网络模块,经过数字化处理的冠心病患者信息模块,录入患者信息后,将信息标准化处理并转换为数字化。

神经网络的鉴别诊断模块,输出结果的判定方法采用最大值原则,即选取输出值最大的输出节点对应的分级作为这段结果,经网络计算得出输出值向量值,与期望输出一致则为冠心病的正确诊断。

本发明中,使用时,通过采集样本按照随机、对照、重复等原则收集资料、整理资料、分析资料,保证训练结果的无偏差。对样本信息进行数字转换,构造数字样本库和疾病数据库,搭建bp神经网络模型,是由输入层、输出层和单个隐含层构成,每层由若干结点组成,每一个结点表示一个神经元,输入层有9个神经元,隐含层有9个神经元,输出层有3个神经元。搭建完成后,对bp神经网络进行训练,计算过程由正向计算过程和反向计算过程组成。正向传播过程,输入模式从输入层经过隐单元层逐层处理,并转向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转入反向传播,将误差信号沿原来的连接通路返回,通过修改各神经元的权值,使得误差信号最小。经过训练后bp神经网络可以输入患者信息,计算并判断诊断冠心病的结果。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1