第五章 第一节 思想和原理
第二节 模型和步骤
第三节 应用和案例
第一节 思想和原理
在当今社会,面临许许多多的选择或决策问题。人们通过分析各种影响因素,建立相应的数学模型,通过求解最优解来得到最佳方案。由于数学模型有较强的条件限制,导致得出的最佳方案与现实有较大误差。只有重新对各种因素进行分析,重新建立模型,这样存在许多重复的工作,而且以前的一些经验性的知识不能得到充分利用。为了解决这些问题,人们提出模拟人脑的神经网络工作原理,建立能够“学习”的模型,并能将经验性知识积累和充分利用,从而使求出的最佳解与实际值之间的误差最小化。通常把这种解决问题的方法称之为人工神经网络(Artificial
Neural Network)。
人工神经网络主要是由大量与自然神经细胞类似的人工神经元互联而成的网络。各种实验与研究表明:人类的大脑中存在着由巨量神经元细胞结合而成的神经网络,而且神经元之间以某种形式相互联系。人工神经网络的工作原理大致模拟人脑的工作原理,它主要根据所提供的数据,通过学习和训练,找出输入与输出之间的内在联系,从而求取问题的解。人工神经网络反映了人脑功能的基本特性,但并不是生物神经系统的逼真描述,只是一定层次和程度上的模仿和简化。强调大量神经元之间的协同作用和通过学习的方法解决问题是人工神经网络的重要特征。
人工神经网络是模仿生物神经网络功能的一种经验模型,首先根据输入的信息建立神经元,通过学习规则或自组织等过程建立相应的非线性数学模型,并不断进行修正,使输出结果与实际值之间差距不断缩小。人工神经网络通过样本的“学习和培训”,可记忆客观事物在空间、时间方面比较复杂的关系,它能够把问题的特征反映在神经元之间相互联系的权值中,所以,把实际问题特征参数输入后,神经网络输出端就能给出解决问题的结果。
神经网络的特点是,神经网络将信息或知识分布储存在大量的神经元或整个系统中。它具有全息联想的特征,具有高速运算的能力,具有很强的适应能力,具有自学习、自组织的潜力。另外,它有较强的容错能力,能够处理那些有噪声或不完全的数据。
基于人工神经网络的多指标综合评价方法通过神经网络的自学习、自适应能力和强容错性,建立更加接近人类思维模式的定性和定量相结合的综合评价模型。训练好的神经网络把专家的评价思想以连接权的方式赋予于网络上,这样该网络不仅可以模拟专家进行定量评价,而且避免了评价过程中的人为失误。由于模型的权值是通过实例学习得到的,这就避免了人为计取权重和相关系数的主观影响和不确定性。
反向传播(Back Propagation,
BP)神经网络是由Rumelhart等人于1985年提出,它是一种多层次反馈型网络。基于BP人工神经网络的综合评价方法具有运算速度快、问题求解效率高、自学习能力强、适应面宽等优点,较好地模拟了评价专家进行综合评价的过程,因而具有广阔的应用前景。
第二节 模型和步骤
一、模型介绍
人工神经网络是对生物神经机制研究基础上产生的智能仿生模型。处理单元,或称之为神经元,是神经网络的最基本的组成部分。一个神经网络系统中有许多处理单元,每个处理单元的具体操作都是从其相邻的其他单元中接受输入,然后产生输出送到与其相邻的单元中去。神经网络的处理单元可以分为三种类型:输入单元、输出单元和隐含单元。输入单元是从外界环境接受信息,输出单元则给出神经网络系统对外界环境的作用。隐含单元则处于神经网络之中,它从网络内部接受输入信息,所产生的输出则只作用于神经网络系统中的其它处理单元。隐含单元在神经网络中起着极为重要的作用。
最初的神经网络结构只由输入层和输出层。这种双层神经网络能力极为有限。后来在这种双层神经网络的基础上,引入了中间隐含层形成了三层神经网络模型,这种三层神经网络模型大大提高了神经网络的能力。
神经网络的卓越能力来自于神经网络中各神经元之间的连接权。连接权一般地不能预先准确地确定,故神经网络应具有学习功能,也即能根据样本模式逐渐调整权值,使神经网络具有卓越的处理信息的功能。
神经网络的工作过程具有循环特征。而在每个循环中又分为两个阶段,即工作期与学习期。在工作期期间,各神经元之间的连接权值不变,但计算单元的状态发生变化。此期间的特点是:进行速度快,故又称为快过程,并称此期间中的神经元处于短期记忆。在学习期期间,各计算单元的状态不变,但对连接权值作修改。此阶段速度要慢得多,故又称为慢过程,并称此期间中的神经元处于长期记忆。
对事物的判断分析必须经过一个学习和训练过程。1949年,Hebb率先提出了改变神经元连接强度的学习规则。其过程是;将样本(训练)数据赋予输入端,并将网络实际输出与期望输出相比较,得到误差信号,以此为依据来调整连接权值。重复此过程,直到收敛于稳态。
1985年,Rumelhart等人提出了误差反向传递学习算法(即BP算法),BP网络是一种具有三层或三层以上的层次结构网络,相邻上、下层之间各神经元实现权连接,即下层的每个神经元与上层的每个神经元都实现权连接,而每层各神经元之间无连接。换个角度看,BP算法不仅有输入层节点、输出层节点,还可有1个或多个隐含层节点。对于输入信号,要先向前传播到隐含层节点,经作用函数后,再把隐节点的输出信号传播到输出节点,最后给出输出结果。在BP算法中,节点的作用的激励函数通常选取S(Sigmoid函数)型函数。
对于BP模型的输入层神经元,其输出与输入相同。隐含层和输出层的神经元的操作规则如下:
BP网络的输入与输出的关系是一个“多输入——多输出”、且为高度非线性的影射关系。由于一般情况下难以写出其表达式,故这是一个“黑箱”。
增加层数主要可以进一步降低误差,提高精度,但同时使网络复杂化,从而增加了网络权值的训练时间。
误差精度的提高实际上也可以通过增加隐层中的神经元数目来获得,其训练效果也比增加层数更容易观察和调整,所以一般情况下,应先考虑增加隐层的神经元数目。
隐层单元数的选择是一个复杂的问题。隐层单元数过少不能识别以前没有看见过的样本,容错性差;但隐层单元数过多,又会使学习时间过长,误差也不一定最佳。通常做法是通过对不同神经元数进行训练对比,然后适当地加上一点余量。
BP算法的学习过程由正向传播和反向传播组成。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层。如果输出层得不到期望的输出,则转入反向传播,将误差信号沿原来的连接通道返回,通过修改各层神经元的权值,使得误差信号最小。
对多层网络进行训练时,首先要提供一组训练样本,其中的每个样本由输入样本和理想输出对组成。样本的实验输出作为期望输出(理想输出),计算得到的网络输出为模型输出(实际输出)。当网络的所有实际输出与理想输出一致时,表明训练结束。否则,通过修正权值,使网络的理想输出与实际输出一致。
假设BP网络每层有N个处理单元,训练集包含M个样本对。
对第p个学习样本(p=1,2,…,M),节点j的输入总和记为netpj,输出记为Opj,则:
对于每个输入样本p,网络输出与期望输出(dpj)间的误差为:
式中dpj 表示对第p个输入样本输出单元j的期望输出。
在BP网络学习过程中,输出层单元与隐单元的误差的计算是不同的。
BP网络的权值修正公式为:
Wji = Wji(t) + ηδpjOpj
对于输出节点:δpj = f′(netpj)(dpj – Opj)
对于输入节点:δpj = f′(netpj) Σδpk Wkj
上式中,引入学习速率η,是为了加快网络的收敛速度,但有时可能产生振荡。
通常权值修正公式中还需加一个惯性参数α,从而有:
上式中,α为常数项,称为势态因子,它决定上一次的权值对本次权值更新的影响程度。
权值修正是在误差反向传播过程中逐层完成的。由输出层误差修正各输出层单元的连接权值,再计算相连隐含层单元的误差量,并修正隐含层单元连接权值。如此继续,整个网络权值更新一次后,我们说网络经过一个学习周期。重复此过程,当各个训练模式都满足要求时,我们说BP网络已学习好了。
在网络的学习过程中,权重值是随着迭代的进行而更新的,并且一般是收敛的。
二、BP网络的学习算法步骤
1、初始化网络及学习参数,如设置网络初始权矩阵,学习因子η,势态因子α等;
2、提供训练模式,训练网络,直到满足学习要求;
3、前向传播过程:对给定训练模式输入,计算网络的输出模式,并与期望模式比较,若有误差,则执行(4);否则,返回(2);
4、反向传播过程:计算同一层单元的误差,修正权值和阈值,返回(2)。
网络的学习是通过用给定的训练集训练而实现的。通常用网络的均方根误差来定量地反映学习的性能。一般地,当网络的均方根误差值低于0.1时,则表明对给定训练集学习已满足要求了。
BP神经网络的实质就是依据所提供的样本数据,通过学习和训练,抽取样本所隐含的特征关系,以神经元间连接权值的形式存储专家的知识。具体地说,BP算法的基本思想是将每次迭代的误差信号由输出层经隐蔽层至输入层反向传播,调整各个神经元之间的连接权值,如此反复迭代,直到误差达到容许水平,这种调节过程具有自组织、自学习的特点。
基于BP网络的多指标综合评价神经网络模型的设计如下:
BP网络的结构包括网络层数、输入、输出节点和隐节点的个数、连接方式,其中输入层节点数m,即评价指标的个数;输出层节点数n为1,即评价结果;隐含层节点数L=(m*n)1/2。隐含层的输出函数为sigmoid变换函数,输入和输出层函数为线性函数。
具体地说,将用于多指标综合评价的评价指标属性值进行归一化处理后作为BP网络模型的输入,将评价结果作为BP网络模型的输出,用足够多的样本训练这个网络,使其获取评价专家的经验、知识、主观判断及对指标重要性的倾向。训练好的BP网络模型根据待评价对象各指标的属性值,就可得到对评价对象的评价结果,再现评价专家的经验、知识、主观判断及对指标重要性的倾向,实现定性与定量的有效结合,保证评价的客观性和一致性。
三、实例分析
现在用人工神经网络对电子行业企业的经济效益进行综合评价为例,讲解人工神经网络的BP模型。
首先要将描述电子行业企业经济效益综合的基础指标的属性值作为人工神经网络的输入向量,然后用足够多的企业样本向量训练这个网络,使不同的输入向量得到不同的输出值,经过学习后确定相应的内部组权系数,最后根据输入的企业经济效益指标向量,可以得出该企业的经济效益的综合评价结果。
对各指标量化后,并得到综合评价总指标的期望值。其中权重是由专家评判组反复斟酌而定,如表5-2所示
应用上述的基于人工神经网络多指标综合评价方法。本例的输入层共有7个结点,输出结点1个,隐层结点数选取10。将表5-2中的数据分为两部分,前15组数据用作学习样本,作为训练神经元连接权值用,学习精度ε=10-4,后10组数据作为检验用。经过5200次的学习,其学习结果见表5-3。
训练结束后,给训练好的BP网络分别输入校验数据,得到综合评价经济效益排序结果,见表5-4。
四、步骤总结
(1)确定评价指标集,指标个数为BP网络中输入节点的个数。
(2)确定BP网络的层数,一般采用具有一个输入层、一个隐含层和一个输出层的三层网络模型结构。
(3)明确评价结果,输出层的节点数为1。
(4)对指标值进行标准化处理。
(5)用随机数(一般为0-1之间的数)初试化网络节点的权值与网络阈值。
(6)将标准化以后的指标样本值输入网络,并给出相应的期望输出。
(7)正向传播,计算各层节点的输出。
(8)计算各层节点的误差。
(9)反向传播,修正权重。
(10)计算误差。当误差小于给定的拟合误差,网络训练结束,否则转到(7),继续训练。
(11)训练还的网络权重就可以用于正式的评价。
需要注意的是,在综合评价(决策)中,被评对象各个特征指标之间一般没有统一的度量标准,并且在很多场合下得到的特征指标是定性描述而不是量值,在进行综合评价前,应先对评价指标特征值进行量化处理,按某种隶属度函数将其归一化到某一无量纲区间。
具体的计算过程,可以采用神经网络的软件包,也可使用MATLAB等工具。
第三节 应用案例选粹
一、BP神经网络在城市投资环境评价中的应用
城市投资环境评价对于城市发挥其投资环境优势和制定投资环境改善对策措施是一项极为重要的工作。关于城市投资环境评价,不同专家学者给出了不同的评价方法,这些方法存在一些缺陷:或者缺乏自我学习能力,或者难以摆脱决策过程中的随机性、主观不确定性和认识的模糊性,或者未能充分利用评价指标体系包含的丰富信息等。针对此,这里引入基于BP神经网络的城市投资环境评价方法,通过对已有样本模式的学习,获取评价专家的知识、经验。
1、方法模型(1)BP神经网络模型
(2)评价指标标准化转换器
多目标决策的一个显著特点是目标间的不可公度性,在评价前,应对评价指标通过标准化转换器统一到[0,1]范围内。
城市投资环境评价指标根据其属性一般有以下几种类型:成本型、效益型、适度型和区间型。
成本型标准化函数:
效益型标准化函数:
适度型标准化函数:
对于区间型指标,设[q1,q2]为该指标的最佳区间:
(3)BP神经网络评价城市投资环境的算法 实现
在图5-2的BP神经网络中,每个节点的输出与输入之间的非线性关系用sigmoid函数描述,即
隐含层样本模式p的输出按下式计算,式中θk表示隐含层节点k的偏置值。
输出层样本模式p的输出按下式计算,式中θ表示输出层输出节点的偏置值。
BP网络的学习训练是一个误差反向传播与修正的过程,定义h个样本模式的实际输出 与期望输出 的总误差函数为
那么,神经网络对样本模式p的学习就是为了使(9)式的E极小化。
2、算法实现
下面运用该模型对我国35个主要城市的投资环境进行综合评价。
第一步,分析影响城市投资环境的因素,确定综合评价的BP网络结构参数,即各层神经元节点数。设评价指标论域为X={x1,x2,…,x37},则输入节点可定为37;根据文献得出隐含层节点与输入输出节点数的经验优化关系,确定隐含层节点数为59;这里仅就城市综合投资环境作评价,因此输出节点数为1。
第二步,为神经网络的连接权值wik(0),wk(0)和神经元节点偏置值θk (0)和θ (0)赋初值。
第三步,以中国35个主要城市作为神经网络学习训练的样本模式,其输入指标构成35×37阶矩阵[Upj]
35×37,而期望输出即城市投资环境综合评价结果(考虑到sigmoid函数的值域为(0,1),因此将其规范化值统一除以100使之转化到(0,1)范围内)构成向量B=(bl,b2,…,b35)T。
第四步,按指标的不同属性类型进行标准化转换得到评价矩阵。
第五步,启动BP神经网络进行学习训练。经学习训练后的神经网络输出结果见表1。
第六步,挑选一组人口规模50万人以上的大城市C={淄博,鞍山,唐山,包头,徐州,洛阳,无锡,苏州,株洲}加入到35个城市一并作为城市投资环境评价对象,利用BP网络方法进行评价,结果见表2。
3、结论
基于BP神经网络的评价方法同其他常规方法相比有其突出的优点:
(1)具有较强的自我学习能力。
(2)具有较强的容错能力。
(3)评价速度快。
应该指出,基于神经网络的评价方法并不能取代其他的评价方法如AHP、Fuzzy综合评判等。因为神经网络评价方法的学习训练样本模式需要来自这些方法所得的结果。而且当评价条件变化时(如改变评价指标体系)还必须借助传统方法来得到神经网络方法的训练样本模式。
练习案例BP神经网络在企业技术创新能力评价中的应用
企业技术创新是企业获得持续竞争力的源泉。企业要想在市场竞争中争取主动,关键在于企业技术创新能力的准确定位和及时提高。因此,科学.有效、客观地评价企业技术创新能力,对于企业准确定位自身的技术创新能力,获得持续竞争力,具有重要的意义。
企业技术创新能力是企业的核心能力,它是指企业依靠技术获得持续竞争力的能力,具体地说,是指引入或开发新技术,使企业满足或创造市场需求,增强企业竞争力,获得最佳经济效益和社会效益的能力。
1、企业技术创新能力指标体系的构建
根据技术创新能力的定义以及在遵循选择指标的全面性、科学性、客观性、可比性和简便可行性原则下,结合有关文献,对企业技术创新能力进行分解,建立如图所示的评价指标体系。
2、基于BP神经网络的企业技术创新能力评价模型
(1)人工神经网络方法。
典型的BP网络具有三层结构,即输入层、隐含层和输出层。
(2)评价指标的标准化。
由于评价指标体系中,既有定性指标又有定量指标,为使各指标在整个系统中具有可比性,必须对各指标进行标准化处理。
(3)评价模型结构设计
1)输入层。根据企业技术创新能力评价指标体系,可以将最低层指标数作为输入层神经元数,在这里为13,然后按上述方法将指标标准化处理。将标准化处理后的指标值作为BP网络的学习样本。
2)隐含层。在选取隐含层神经元数的时候,既要考虑到BP网络的精确度,又要兼顾网络的学习效率。一般地,隐含层神经元数为10~15。
3)输出层。将输出层神经元数设置一个。
(4)BP神经网络模型评价程序
1)BP网络学习。按照前述的指标体系,搜集学习样本即不同企业的指标值,进行标准化处理,输入BP神经网络,按照BP算法,确定各层神经元之间的权重Wji。
2)搜集评价企业的指标值{xi};
3)对{xi}进行规范化处理;
4)将处理过的{xi}输入BP神经网络,按照前面确定的权重Wji,计算输出;
5)根据输出按评价标准对企业技术创新能力下评价结论。