基于神经网络的专家系统.doc_第1页
基于神经网络的专家系统.doc_第2页
基于神经网络的专家系统.doc_第3页
基于神经网络的专家系统.doc_第4页
基于神经网络的专家系统.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

23 基于神经网络的专家系统231 神经网络概念广义上讲,神经网络是泛指生物神经网络与人工神经网络这两个方面。所谓生物神经网络是指由中枢神经系统(脑和脊髓)及周围神经系统(感觉神经、运动神经、交感神经、副交感神经等所构成的错综复杂的神经网络,它负责对动物机体各种活动的管理,其中最重要的是脑神经系统。所谓人工神经网络是指模拟人脑神经系统的结构和功能,运用大量的处理部件,由人工方式建立起来的网络系统;显然,人工神经网络是在生物神经网络研究的基础上建立起来的,人脑是人工神经网络的原型,人工神经网络是对脑神经系统的模拟。一、脑神经系统与生物神经元1、 脑神经系统关于神经网络的构成,早在1875意大利解剖学家戈尔吉(CGolgi)就用银渗透法最先识别出了单个的神经细胞。1889年卡贾尔(Cajal)创立神经元学说,认为整个神经系统都是由结构上相对独立的神经细胞构成的。据估计,人脑神经系统的神经细胞约为1011个。2、生物神经元l 生物神经元组成:神经细胞是构成神经系统的基本单元。称之为生物神经元,或简称为神经元。神经元主要由三个部分组成:细胞体、轴突、树突。如图昕示。(1) 细胞体:由细胞核、细胞质与细胞膜等组成。直径为5-100ln,大小不等。它是神经元的新陈代谢中心,同时还用于接收并处理对其它神经元传递过来的信息。细胞膜内外有电位差,称为膜电位,膜外为正,膜内为负。(2) 轴突:这是由细胞体向外伸出的最长的一条分枝,每个神经元一个.长度最大可达1m以上,其作用相当于神经元的输出电缆,它通过尾部分出的许多神经末梢以及梢端的突触向其它神经元输出神经冲动。(3) 树突:这是由细胞体向外伸出的除轴突外的其它分枝,长度一般均较短,但分枝很多。它相当于神经元的输人端,用于接收从四面八方传来的神经冲动。(4) 突触:是神经元之间相互连接的接口部分,即一个神经元的神经末梢与另一个冲经元的树突相接触的交界面,位于神经元的神经末梢尾端。每个神经元都有很多突触,据测定,大多数神经元拥有突触的数量约在103-104之间。而位于大脑皮层的神经元上突触的数目可达3104以上。整个脑神经系统中突触的数量约在1014-1015之间。l 神经元之间的联系: 在神经系统中,神经元之间的联系形式是多种多样的。一个神经元既可以通过它的轴突及突触与其它许多神经元建立联系,把它的信息传递给其它神经元;亦可以通过它的树突接收来自不同神经元的信息。神经元之间的这种复杂联系就形成了相应的神经网络。l 经人们多年悉心研究,发现神经元还具有如下一些重要特性: (1)在每一神经元中,信息都是以预知的确定方向流动的,即从神经元的接收信息部分 (细胞体、树突)传到轴突的起始部分,再传到轴突终端的突触,最后再传递给另一神经元。尽管不同的神经元在形状及功能上都有明显的不同,但大多数神经元都是按这一方向进行信息流动的。这称为神经元的动态极化原则。 (2)神经元对于不同时间通过同一突触传入的信息,具有时间整合功能;对于同一时间通过不同突触传人的信息,具有空间整合功能。这称为神经元对输入信息的时空整合处理功能。 (3)神经元具有两种常规工作状态,即兴奋状态与抑制状态。所谓兴奋状态是指神经元对输入信息经整合后使细胞膜电位升高,且超过了动作电位的阈值,此时产生神经冲动,并由轴突输出。所谓抑制状态是指经对输入信息整合后,膜电位下降至低于动作电位的阈值,此时无神经冲动输出。 (4)突触传递信息的特性是可变的,随着神经冲动传递方式的变化,其传递作用可强可弱,所以神经元之间的连接是柔性的,这称为结构的可塑性。 (5)突触界面具有脉冲与电位信号的转换功能。沿轴突传递的电脉冲是等幅、离散的脉冲信号,而细胞膜电位变化为连续的电位信号,这两种信号是在突触接口进行变换的。(6)突触对信息的传递具有时延和不应期,在相邻的两次输入之间需要一定的时间间隔,在此期间不响应激励,不传递信息,这称为不应期。二、人工神经元及其互连结构 人工神经网络是由大量处理单元(人工神经元、处理元件、电子元件、光电元件等)经广泛互连而组成的人工网络,用来模拟脑神经系统的结构和功能。它是在现代神经科学研究的基础上提出来的,反映了人脑功能的基本特性。在人工神经网络中,信息的处理是由神经元之间的相互作用来实现的,知识与信息的存储表现为网络元件互连间分布式的物理联系,网络的学习和识别取决于各神经元连接权值的动态演化过程。 1、人工神经元 正如生物神经元是生物神经网络的基本处理单元一样,人工神经元是组成人工神经网络的基本处理单元,简称为神经元。 在构造人工神经网络时,首先应该考虑的问题是如何构造神经元。在对生物神经元的结构、特性进行深入研究的基础上,心理学家麦克洛奇(WMcCulloch)和数理逻辑学家皮兹(W.Pitts)于1943年首先提出了一个简化的神经元模型,称为M-P模型,如图所示。M-P模型在图中,圆表示神经元的细胞体;e,i表示外部输入,对应于生物神经元的树突。e为兴奋性突触连接,i为抑制性突触连接;表示神经元兴奋的阈值;y表示输出,它对应于生物神经元M的轴突。从图中不难看,M-P模型确实在结构及功能上反映了生物神经元的特征。但是,M-P模型对抑制性输入赋于了“否决权”,只有当不存在抑制性输入,且兴奋性输入的总和超过阈值,神经元才会兴奋,其输入与输出的关系如表所示。M-P模型输入输出关系表在M-P模型基础上发展起来的常用神经网络模型如图所示:神经元的结构模型在图中,x(i=1,2,n)为该神经元的输入,wi为该神经元分别与各输入间的连接强度,称为连接权值;为该神经元的阈值,s为外部输入的控制信号,它可以用来调整神经元的连接权值,使神经元保持在某一状态;y为神经元的输出。由此结构可以看出,神经元一般是一个具有多个输入,但只有一个输出的非线性器件。 神经元的工作过程一般是: (1)从各输人端接收输入信号xi;(2)根据连接权值wi,求出所有输入的加权和 :(3)用某一特性函数(又称作用函数)f进行转换,得到输出y:2、神经元的互连形态人工神经网络是由神经元广泛互连构成的,不同的连接方式就构成了网络的不同连接模型,常用的有以下几种:(1) 前向网络。前向网络又称为前馈网络。在这种网络中,神经元分层排列,分别组成输入层、中间层(又称隐层。可有多层)和输出层。每一层神经元只接收来自前一层神经元的输入。输入信息经各层变换后,最终在输出层输出,如图所示。 前向网络(2) 从输出层到输入层有反馈的网络。这种网络与上一种网络的区别仅仅在于,输出层上的某些输出信息又作为输入信息送入到输入层的神经元上,如图2所示。图2从输出层到输入层有反馈的网络(3) 层内有互连的网络。在前面两种网络中,同一层上的神经元都是相互独立的,不发生横向联系。而在这一种网络(如图3所示)中,同一层上的神经元可以互相作用。这样安排的好处是可以限制每层内能同时动作的神经元数,亦可以把每层内的神经元分为若干组,让每组作为一个整体来动作。例如,可以利用同层内神经元间横向抑制的机制把层内具有最大输出的神经元挑选出来,而使其它神经元处于无输出的状态。图3层内有互连的网络(4)互连网络。在这种网络中,任意两个神经元之间都可以有连接,如图4所示。在无反馈的前向网络中,信息一旦通过某个神经元,过程就结束了,而在该网络中,信息可以在神经元之间反复往返地传递,网络一直处在一种改变状态的动态变化之中。从某初态开始,经过若干次的变比,才会到达某种平衡状态,根据网络的结构及神经元的特性,有时还有可能进入周期振荡或其它状态。 图4互连网络三、 人工神经网络的特征及分类 1、人工神经网络有以下主要特征: (1)能较好地模拟人的形象思维。逻辑思维与形象思维是人类思维中两种最重要的思维方式,人工神经网络是对人脑神经系统结构及功能的模拟,以信息分布与并行处理为其主要特色,因而可以实现对形象思维的模拟。 (2) 具有大规模并行协同处理能力。在人工神经网络中,每一个神经元的功能和结构都是很简单的,但由于神经元的数量巨大,而且神经元之间可以并行、协同地工作,进行集体计算,这就在整体上使网络具有很强的处理能力。另外,由于人工神经元通常都很简单,这就为大规模集成的实现提供了方便。(3)具有较强的容错能力和联想能力。在人工神经网辂中,任何一个神经元及任何一个连接对网络整体功能的影响都是十分微小的,网络的行为取决于多个神经元协同行动的结果,其可靠性来自这些神经元统计行为的稳定性,具有统计规律性。因此,当少量神经元或它们的连接发生故障时,对网络功能的影响是很微小的这正如人脑中经常有脑细胞死亡,但并未影响入脑的记忆、思维等功能一样。神经网络的这一特性使得网络在整体上具有较强的鲁棒性(硬件的容错性)。另外,在神经网络中,信息的存储与处理(计算)是合二为一的,即信息的存储体现在神经元互连的分布上。这种分布式的存储,不仅在某一部分受到损坏时不会使信息遭到破坏,得以尽快恢复,增强网络的容错性,而且能使网络对带有噪声或缺损的输入有较强的适应能力,增强网络的联想及全息记忆能力。(4)具有较强的学习能力。它能根据外界环境的变化修改自己的行为,并且能依据一定的学习算法自动地从训练实例中学习。它的学习主要有两种方式,即有教师的学习与无教师的学习。所谓有教师的学习是指,由环境向网络提供一组样例,每一个样例部包括输入及标准输出两部分,如果网络对输入的响应不一致,则通过调节连接权值使之逐步接近样例的标准输出,直到它们的误差小于某个预先指定的阈值为止。所谓无教师的学习是指,事先不给出标准样例,直接将网络置于环境之中。学习阶段与工作阶段融为一体这种边学习边工作的特征与人的学习过程类似。2、人工神经网络的分类迄今为止,已经开发出了几十种神经网络模型,从不同角度进行划分,可以得到不同的分类结果:l 若按网络的拓扑结构划分,则可分为无反馈网络与有反馈网络;l 若按网络的学习方法划分,则可分为有教师的学习网络与无教师的学习网络;l 若按网络的性能划分,则既可以分为连续型与离散型网络,又可分为确定型与随机型网络;l 若按连接突触的性质划分,则可分为一阶线性关联网络与高阶非线性关联网络。2.3.2 神经网络模型 网络模型是人工神经网络研究的一个重要方面,目前已经开发出了多种不同的模型。由于这些模型大都是针对各种具体应用开发的,因而差别较大,至今尚无一个通用的网络模型。本节将择其几种应用较多且较典型的进行讨论。一、 感知器罗森勃拉特于1957年提出的感知器模型把神经网络的研究从纯理论探讨引向了工程上的实现,在神经网络的发展史上占有重要的地位。尽管它有较大的局限性,甚至连简单的异或(XOR)逻辑运算都不能实现,但它毕竟是最先提出来的网络模型,而且它提出的自组织、自学习思想及收敛算法对后来发展起来的网络模型都产生了重要的影响,甚至可以说,后来发展的网络模型都是对它的改进与推广。最初的感知器是一个只有单层计算单元的前向神经网络,由线性阈值单元组成,称为单层感知器,后来针对其局限性进行了改进,提出了多层感知器。1、线性阈值单元线性阈值单元是前向网络(又称前馈网络)中最基本的计算单元,它具有n个输入(x1,x2,x n),一个输出(y),n个连接权值(w1,w2,wn。),且符合下式:如图所示:2、单层感知器及其算法单层感知器只有一个计算层,它以信号模板作为输入,经计算后汇总输出,层内无互连,从输出至输入无反馈,是一种典型的前向网络,如图所示。单层感知器在单层感知器中,当输入的加权和大于等于阈值时,输出为1,否则为0或-1。它与M-P模型的不同之处是假定神经元间的连接强度(即连接权值wij )是可变的,这样它就可以进行学习。罗森勃拉特于1959年给出了单层感知器的学习算法,学习的目的是调整连接权值,以使网络对任何输入都能得到所期望的输出。在以下的算法描述中,为清楚起见,只考虑仅有一个输出节点的情况,其中,xi是该输出节点的输入;wi 是相应的连接权值(i=1,2,n);y(t)是时刻t的输出;d是所期望的输出,它或者为1,或者为-1。学习算法如下:(1)给wi(0)(i=1,2,n)及阈值分别赋予一个较小的非零随机数作为初值;这里wi (0)表示在时刻t=0时第i个输入的连接权值。(2)输入一个样例X=x1,x2,xn和一个所期望的输出d。(3)计算网络的实际输出:(4)调整连接权值:此处01,它是一个增益因子,用于控制调整速度,通常不能太大,否则会影响wi(t)的稳定;也不能太小,否则wi(t)的收敛速度太慢。如果实际输出与已知的输出一致,表示网络已经作出了正确的决策,此时就无需改又wi(t)的值。(5)转到第(2)步,直到连接权值w,对一切样例均稳定不变时为止。3、多层感知器只要在输入层与输出层之间增加一层或多层隐层,就可得到多层感知器。下图是一个具有两个隐层的三层感知器。三层感知器异或问题的二层感知器模型二、B-P模型1、B-P(Back-Progagation)模型概念B-P模型是一种用于前向多层神经网络的反传学习算法,由鲁梅尔哈特(D.Ruvmelhar)和麦克莱伦德(McClelland)于1985年提出。B-P算法用于多层网络,网络中不仅有输入层节点及输出层节点,而且还有一层至多层隐层节点,如图所示。B-P 网络当有信息向网络输入时,信息首先由输入层传至隐层节点,经特性函数作用后,再传至下一隐层,直到最终传至输出层进行输出,其间每经过一层都要由相应的特性函数进行变换,节点的特性函数通常选用S型函数,例如:2、B-P算法的学习过程学习的目的是对网络的连接权值进行调整,使得对任一输入都能得到所期望的输出。学习的方法是用一组训练样例对网络进行训练,每一个样例都包括输入及期望的输出两部分。训练时,首先把样例的输入信息输入到网络中,由网络自第一个隐屋开始逐层地进行计算,并向下一层传递,直至传至输出层,其间每一层神经元只影响列下一层神经元的状态。然后,以其输出与样例的期望输出进行比较,如果它们的误差不能满足要求,则沿着原来的连接通路逐层返回,并利用两者的误差桉一定的原则对各层节点的连接权值进行调整,使误差逐步减小,直到满足要求时为止。l 反向传播的适用情况:由上述训练过程不难看出,B-P算法的学习过程是由正向传播与反向传播组成的。正向传播用于进行网络计算,对其一输入求出它的输出;反向传播用于逐层传递误差,修改连接权值,以使网络能进行正确的计算。一旦网络经过训练用于求解现实问题,则就只需正向传播,不需要再进行反向传播。l B-P算法学习的具体步骤: (1)从训练样例集中取一样例,把输入信息输入到网络中。 (2)由网络分别汁算各层节点的输出。 (3)计算网络的实际输出与期望输出的误差。 (4)从输出层反向计算到第一个隐层,按一定原则向减小误差方向调整网络的各个连接权值。 (5)对训练样例集中的每一个样例重复以上步骤,直到对整个训练样例集的误差达到要求时为止。 三、Hopfield模型前面讨论的两种模型都是前向神经网络,从输出层至输入层无反馈,这就不会使网络的输出陷入从一个状态到另一个状态的无限转换中,因而人们对它的研究着重是学习方法的研究而较少关心网络的稳定性。Hopfield模型是霍普菲尔特分别于1982年及1984年提出的两个神经网络模型,一个是离散的,一个是连续的,但它们都属于反馈网络,即它们从输入层至输出层都有反馈存在。下图是一个单层反馈神经网络。单层反馈神经网络在反馈网络中,由于网络的输出要反复地作为输入送人网络中,这就使得网络的状态在不断地改变,因而就提出了网络的稳定性问题。所谓一个网络是稳定的,是指从某一时刻开始,网络的状态不再改变。设用X(t)表示网络在时刻t的状态,如果从t0的任一初态X(0)开始,存在一个有限的时刻t,使得从此时刻开始神经网络的状态不再发生,即就称该网络是稳定的。霍普菲尔特提出的离散网络模型是一个离散时间系统,每个神经元只有两种状态,可用1和-1,或者1和0表示,由连接权值wij所构成的矩阵是一个零对角的对称矩阵,即在该网络中,每当有信息进入输入层时,在输入层不做任何计算,直接将输入信息分布地传递给下一层各有关节点。若用Xj(t)表示节点j在时刻t的状态则该节点在下一时刻(即t+1)的状态由下式决定:这里其中,wij为从节点i到节点j的连接权值;为节点j的阈值。整个网络的状态用X(t)表示,它是由各节点的状态所构成的向量。对于上图,若假设输出层只有两个节点,并用1和0分别表示每个节点的状态,则整个网络共有四种状态,分别为:00,01,10,11如果假设输出层有三个节点,则整个网络共有八种状态,每个状态是一个三位的二进制数,如图所示。在该图中,立方体的每一个顶角代表一个网络状态。一般来说,如果在输出层有n个神经元,则网络就有2n个状态,它可以与一个n维超立体的顶角相联系。当有一个输入向量输入到网络后,网络的迭代过程就不断地从一个项角转向另一个顶角,直至稳定于一个顶角为止。如果网络的输入不完全或只有部分正确,则网络将稳定于所期望顶角附近的一个顶角那里。三个神经元的状态下面给出霍普菲尔特模型的算法(1) 设置互连权值:其中,xsi 为s类样例的第i个分量,它可以为+1或-1(0),样例类别数为m,节点数为n(2) 未知类别样本初始化yi(0)=xi 1in 其中小yi(t)为节点i在t时刻的输出,当t0时,yi(0)就是节点i的初始值, xi为输入样本的第i个分量。(3) 迭代直到收敛。2.3.3 神经网络在医学专家系统中的应用1、 构造神经网络下面来看一个用于医疗诊断的例子。假设整个系统的简易诊断模型只有六种症状,两种疾病,三种冶疗方案。对网络的训练样例是选择一批合适的病人并从病历中采集如下信息: 症状:对每一症状只采集有、无及没有记录这三种信息。 疾病:对每一疾病也只采集有、无及没有记录这三种信息。 冶疗方案:对每一治疗方案只采集是否采用这两种信息。其中,对“有”“无”、“没有记录”分别用1、-1,0表示。这样对每一个病人就可以构成训练样例。假设根据症状、疾病及冶疗方案间的因果关系,以及通过训练样例对网络的训练得到了如图所示的神经网络。其中x1,x2,x6为症状;x7,x8为疾病名;x9,x10,x11为治疗方案;xa,xb,xc是附加层,这是由于学习算法的需要而增加的,在此网络中x1,x2,x6是输人层;x9,x10,x11是输出层;两者之间以疾病名作为中间层。医疗诊断系统连接模型对图有关问题说明如下:(1)这是一个带有正负权值的前向网络,由wij可构成相应的学习矩阵。在该矩阵中,当Ij时,wij=0;当ij且节点i与节点j之间不存在连接弧时,wij 也为0;其余为图中连接弧上所标出的数据,这个学习矩阵可用来表示相应的神经网络。(2) 神经元取值为+1,0,-1,特性函数为一离散型的阈值函数,计算公式为:其中,xJ表示节点j输入的加权和;xj为节点j的输出。另外,为计算方便,上式中增加了w0j项,x0的值为常数1,w0j的值标在节点的圆圈中,它实际上是-j,即w0j-j,j是节点J的阈值。(3)图中连接弧上标出的wij值是根据一组训练样例,通过运用某种学习算法(如B-P算法)对网络进行训练得到的,这就是神经网络专家系统所进行的知识获取。(4)由全体wij的值及各种症状、疾病、治疗方案名所构成的集合就形成了该疾病诊冶系统的知识库。2、基于神经网络的推理基于神经网络的推理是通过网络计算实现的。把用户提供的初始证据用作网络的输入,通过网络计算最终得到输出结果。例如诊治疾病的例子,若用户提供的证据x1=1(即病人有x1这个症状),x2=x3=-1(即病人没有x2与x3这两个症状),当把它们作为输入送入网络后,就可算出x7=1,这是由于:由此可知该病人患的疾病是x7。若再绐出进一步的证据,还可推出相应的冶疗方案。在这个例子中,如果病人的症状是x1=x31(即该病人有x1与x3这两个症状),此时即使不指出是否有x2这个症状,也能推出该病人患的疾病是x7,因为不管病人是否还有其它症状,都不会使x7的输入加权和为负值。由此可以看出,在用神经网络进行推理时,即使已知的信息不完全,照样可以进行推理。由以上例子可以看出网络推理的大致过程,一般来说,正向网络推理有如下步骤:(1)把已知数据作为输入赋予网络输入层的各个节点。(2)利用特性函数分别计算网络中各层的输出。计算中,前面一层的输出将作为后面一层有关节点的输入,逐层进行计算,直至计算出输出层的输出值。(3)用阈值函数对输出层的输出进行判定,从而得到输出结果。 上述推理具有如下特征:(1)同一层的处理单元(神经元)是完全并行的,但层间的信息传递是串行的。由于层中处理单元的数目要比网络的层数多得多,因此它是一种并行推理。(2)在网络推理中不会出现传统专家系统中推理的冲突问题。(4) 网络推理只与输入及网络自身的参数有关,而这些参数又是通过使用学习算法对网络进行训练得到的因此它是一种自适应推理。3、神经网络在医学中的应用实例l 北京市回龙观医院也把B-P神经网络技术与世界卫生组织(World Heahh Organizaton)推荐的复合性国际诊断问卷CIDI(Composite International Diagnostics Interview)相结合,开发出CIDI计算机神经网络诊断系统,对正常人、神经症患者和精神分裂症病人进行诊断分类,取得了很好的效果。该B-P神经网络的输入层有269个端点,对应CIDI的369个项目回答;输出层为三个端点,分别对厦正常人、神经症患者和精神分裂症患者三类诊断。B-P神经网络,广泛应用干医学图像处理的模式识别及专家系统。北京市妇产医院研制的“赵松泉老中医诊治女性不孕症专家系统”就是用的B-P神经网络。其

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论