bp神经网络范文
时间:2023-03-26 02:00:50
导语:如何才能写好一篇bp神经网络,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
1、bp(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。
2、BP神经网络算法是在BP神经网络现有算法的基础上提出的,是通过任意选定一组权值,将给定的目标输出直接作为线性方程的代数和来建立线性方程组,解得待求权,不存在传统方法的局部极小及收敛速度慢的问题,且更易理解。
(来源:文章屋网 )
篇2
关键字神经网络,BP模型,预测
1引言
在系统建模、辨识和预测中,对于线性系统,在频域,传递函数矩阵可以很好地表达系统的黑箱式输入输出模型;在时域,Box-Jenkins方法、回归分析方法、ARMA模型等,通过各种参数估计方法也可以给出描述。对于非线性时间序列预测系统,双线性模型、门限自回归模型、ARCH模型都需要在对数据的内在规律知道不多的情况下对序列间关系进行假定。可以说传统的非线性系统预测,在理论研究和实际应用方面,都存在极大的困难。相比之下,神经网络可以在不了解输入或输出变量间关系的前提下完成非线性建模[4,6]。神经元、神经网络都有非线性、非局域性、非定常性、非凸性和混沌等特性,与各种预测方法有机结合具有很好的发展前景,也给预测系统带来了新的方向与突破。建模算法和预测系统的稳定性、动态性等研究成为当今热点问题。目前在系统建模与预测中,应用最多的是静态的多层前向神经网络,这主要是因为这种网络具有通过学习逼近任意非线性映射的能力。利用静态的多层前向神经网络建立系统的输入/输出模型,本质上就是基于网络逼近能力,通过学习获知系统差分方程中的非线性函数。但在实际应用中,需要建模和预测的多为非线性动态系统,利用静态的多层前向神经网络必须事先给定模型的阶次,即预先确定系统的模型,这一点非常难做到。近来,有关基于动态网络的建模和预测的研究,代表了神经网络建模和预测新的发展方向。
2BP神经网络模型
BP网络是采用Widrow-Hoff学习算法和非线性可微转移函数的多层网络。典型的BP算法采用梯度下降法,也就是Widrow-Hoff算法。现在有许多基本的优化算法,例如变尺度算法和牛顿算法。如图1所示,BP神经网络包括以下单元:①处理单元(神经元)(图中用圆圈表示),即神经网络的基本组成部分。输入层的处理单元只是将输入值转入相邻的联接权重,隐层和输出层的处理单元将它们的输入值求和并根据转移函数计算输出值。②联接权重(图中如V,W)。它将神经网络中的处理单元联系起来,其值随各处理单元的联接程度而变化。③层。神经网络一般具有输入层x、隐层y和输出层o。④阈值。其值可为恒值或可变值,它可使网络能更自由地获取所要描述的函数关系。⑤转移函数F。它是将输入的数据转化为输出的处理单元,通常为非线性函数。
2.1基本算法
BP算法主要包含4步,分为向前传播和向后传播两个阶段:
1)向前传播阶段
(1)从样本集中取一个样本(Xp,Yp),将Xp输入网络;
(2)计算相应的实际输出Op
在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时的执行过程。
2)向后传播阶段
(1)计算实际输出Op与相应的理想输出Yp的差;
(2)按极小化误差的方式调整权矩阵。
这两个阶段的工作受到精度要求的控制,在这里取作为网络关于第p个样本的误差测度,而将网络关于整个样本集的误差测度定义为。图2是基本BP算法的流程图。
2.2动态BP神经网络预测算法
在经典的BP算法以及其他的训练算法中都有很多变量,这些训练算法可以确定一个ANN结构,它们只训练固定结构的ANN权值(包括联接权值和结点转换函数)。在自动设计ANN结构方面,也已有较多的尝试,比如构造性算法和剪枝算法。前一种是先随机化网络,然后在训练过程中有必要地增加新的层和结点;而剪枝法则正好相反。文献[2]中提出了演化神经网络的理念,并把EP算法与BP进行了组合演化;也有很多学者把遗传算法和BP进行结合,但这些算法都以时间复杂度以及空间复杂度的增加为代价。根据Kolmogorov定理,对于任意给定的L2型连续函数f:[0,1]nRm,f可以精确地用一个三层前向神经网络来实现,因而可以只考虑演化网络的权值和结点数而不影响演化结果。基于此,在BP原有算法的基础上,增加结点数演化因子,然后记录每层因子各异时演化出的结构,最后选取最优的因子及其网络结构,这样就可以避免由于增加或剪枝得到的局部最优。根据实验得知,不同的预测精度也影响网络层神经元的结点数,所以可根据要求动态地建立预测系统。具体步骤如下:
(1)将输入向量和目标向量进行归一化处理。
(2)读取输入向量、目标向量,记录输入维数m、输出层结点数n。
(3)当训练集确定之后,输入层结点数和输出层结点数随之而确定,首先遇到的一个十分重要而又困难的问题是如何优化隐层结点数和隐层数。实验表明,如果隐层结点数过少,网络不能具有必要的学习能力和信息处理能力。反之,若过多,不仅会大大增加网络结构的复杂性(这一点对硬件实现的网络尤其重要),网络在学习过程中更易陷入局部极小点,而且会使网络的学习速度变得很慢。隐层结点数的选择问题一直受到神经网络研究工作者的高度重视。Gorman指出隐层结点数s与模式数N的关系是:s=log2N;Kolmogorov定理表明,隐层结点数s=2n+1(n为输入层结点数);而根据文献[7]:s=sqrt(0.43mn+0.12nn+2.54m+0.77n+0.35)+0.51[7]。
(4)设置结点数演化因子a。为了快速建立网络,可以对其向量初始化,并从小到大排序[4,7]。
(5)建立BP神经网络。隐含层传递函数用tansig,输出层用logsig,训练函数采用动态自适应BP算法,并制订停止准则:目标误差精度以及训练代数。
(6)初始化网络。
(7)训练网络直到满足停止判断准则。
(8)用测试向量对网络进行预测,并记录误差和逼近曲线,评估其网络的适应性。其适应度函数采取规则化均方误差函数。
(9)转到(5),选取下一个演化因子,动态增加隐含层结点数,直到最后得到最佳预测网络。
3基于神经网络的预测原理[4]
3.1正向建模
正向建模是指训练一个神经网络表达系统正向动态的过程,这一过程建立的神经网络模型称为正向模型,其结构如图3所示。其中,神经网络与待辨识的系统并联,两者的输出误差用做网络的训练信号。显然,这是一个典型的有导师学习问题,实际系统作为教师,向神经网络提供算法所需要的期望输出。当系统是被控对象或传统控制器时,神经网络多采用多层前向网络的形式,可直接选用BP网络或它的各种变形。而当系统为性能评价器时,则可选择再励学习算法,这时网络既可以采用具有全局逼近能力的网络(如多层感知器),也可选用具有局部逼近能力的网络(如小脑模型控制器等)。3.2逆向建模
建立动态系统的逆模型,在神经网络中起着关键作用,并且得到了广泛的应用。其中,比较简单的是直接逆建模法,也称为广义逆学习。其结构如图4所示,拟预报的系统输出作为网络的输入,网络输出与系统输入比较,相应的输入误差用于训练,因而网络将通过学习建立系统的逆模型。但是,如果所辨识的非线性系统是不可逆的,利用上述方法将得到一个不正确的逆模型。因此,在建立系统时,可逆性应该先有所保证。
4应用实例分析
以我国西南某地震常发地区的地震资料作为样本来源,实现基于动态神经网络的地震预报。根据资料,提取出7个预报因子和实际发生的震级M作为输入和目标向量。预报因子为半年内M>=3的地震累计频度、半年内能量释放积累值、b值、异常地震群个数、地震条带个数、是否处于活动期内以及相关地震区地震级。在训练前,对数据进行归一化处理。由于输入样本为7维的输入向量,一般情况下输入层设7个神经元。根据实际情况,输出层神经元个数为1。隐含层神经元的传递函数为S型正切函数,输出层也可以动态选择传递函数。实例数据来自文献[4],将数据集分为训练集、测试集和确定集。表1中的7×7数组表示归一化后的训练向量,第一个7表示预报因子数,第二个7表示样本数。
表1归一化后的训练向量
在不同神经元数情况下,对网络进行训练和仿真,得到如图5所示的一组预测误差曲线。其中,曲线A表示隐层结点数为6时的预测误差曲线,曲线B表示隐含层结点数为3时的预测误差曲线,曲线C表示隐含层结点数为5时的预测误差曲线,曲线D表示隐含层结点数为4时的预测误差曲线。将五种情况下的误差进行对比,曲线C表示的网络预测性能最好,其隐含层神经元数为5,图中曲线E表示的是隐含层结点数为15时的预测误差曲线(文献[4]中的最好结果)。同时也证明,在设计BP网络时,不能无限制地增加层神经元的个数。若过多,不仅会大大增加网络结构的复杂性,网络在学习过程中更易陷入局部极小点,而且会使网络的学习速度、预测速度变得很慢。
5结论
本文针对基本的BP神经网络,提出了可动态改变神经元数(与精度相关)的BP神经网络预测方法,可以根据实际情况建立预测系统。用此种方法可以建立最好的神经网络,不会有多余的神经元,也不会让网络在学习过程中过早陷于局部极小点。
参考文献
[1]YaoX,LiuY.FastEvolutionaryProgramming.inEvolutionaryProgrammingⅤ:Proc.5thAnnu.Conf.EvolutionaryProgram,L.Fogel,P.AngelineandT.Bäck,Eds.Cambridge,MA:MITPress,1996,451-460
[2]XinYao,YongLiu,ANewEvolutionarySystemforEvolvingArtificialNeuralNetworksIEEETRANSACTIONSONNEURALNETWORKS,VOL8,NO.31997,694-714
[3]潘正君,康立山,陈毓屏.演化计算[M].北京:清华大学出版社,1998
[4]飞思科技产品研发中心.神经网络理论与实现.北京:电子工业出版社,2005
[5]蔡晓芬,方建斌.演化神经网络算法.江汉大学学报,第33卷第3期,2005.9
篇3
[关键词]数据挖掘 BP神经网络 CPI预测
一、引言
目前,随着居民收入的快速增长,中国居民消费能力不断升级,尤其是近期我国居民消费价格总水平出现了明显上涨,其中粮食、猪肉等食品价格屡创新高。对于相关部门来说,应努力做到关注国际形势的同时,根据市场价格的变化情况进行科学分析,最终制定合理的综合性措施。应用现代技术对CPI进行预测在当前来说是很有意义的,国内很多专家学者在这方面都做了研究。以往学者对CPI的预测更多的是运用计量经济学方法,而通过数据挖掘方法进行CPI预测的研究不多,值得我们进一步探讨。
BP神经网络是一种应用最广泛的人工神经预测网络,它独有的容错性和泛化能力能较好地进行预测。本文选用SPSS公司的Clementine来进行BP网络模型的实现,Clementine中的工具箱使BP网络的建立、训练以及预测都变得非常简单,而且训练过程及效果非常直观,使神经网络应用于实际具有更大的可行性。
二、BP神经网络概述
BP网络是在1974年由Worbos提出,1986年Rumelhart和McCelland等人对具有非线性连续转移函数的多层前馈网络的误差反向传播(Error Back Proragation)算法进行了详尽的分析,实现了Minsky关于多层前馈网络的设想。
BP算法基本思想:学习过程由信号的正向传播与误差的逆向传播两个过程组成,正向传播时,模式作用于输入层,经隐层处理后,传向输出层。若输出层未能得到期望的输出,则转入误差的逆向传播阶段,将输出误差按某种形式通过隐层向输入层逐层返回,并分摊给各层的所有单元,从而获得各层单元的误差信号,以作为修改各单元权值的依据,这种信号正向传播与误差逆向传播的各层权矩阵的修改过程是周而复始地进行的。权值不断修改的过程,也就是网络的学习过程。此过程一直进行到网络输出的误差逐渐减少到可接受的程度或达到设定的学习次数为止。BP神经网络在进行设计时,主要考虑以下因素。
1.网络层数。一般BP网络由一个输入层,一个输出层,及若干隐含层构成。实际应用中,通常利用一个隐含层就基本上能满足大部分应用问题的需求,因为两层的神经网络可以逼近任何非线性函数。而盲目地增加隐含层层数,往往会使学习速度变慢,同时增加了结构的复杂性。
2.输入层节点数。输入层节点数由影响输出变量的变量个数来决定,一般来说有几个变量对输出变量的结果有影响就选择几个输入层节点。输入网络的节点过少,会使得网络不能很好地获得输入与输出数据的非线性关系,如果过多,就会增加过度适应的危险和增大了训练集的大小。
3.输出层节点数。输出层节点数取决于输出数据类型和表示该类型所需的具体数据。
4.隐层节点数。一个具有无限隐层节点的两层BP网络可以逼近任何非线性函数,但对于输入与输出均为有限个的网络,并不需要无限个隐层节点,这就涉及到如何选择隐层节点数的问题,而这一问题的复杂性,使得至今为止,尚未找到一个很好的解析式,隐层节点数往往根据前人设计所得的经验和自己进行试验来确定,也可从1、2、3开始。一般认为,隐层节点数与数据、寻找的模式以及网络的类型都有直接的关系。另外,隐层节点数太多会导致学习时间过长;而隐层节点数太少,容错性差,识别未经学习的样本能力低,所以必须综合多方面的因素进行设计。
隐层节点数的初始值可由(1)式来确定:
式中:m、n分别为输入层结点数与输出层结点数,l为隐层节点数。
5.传递函数。BP神经网络中的传递函数通常采用S(sigmoid)型函数,即
上式中x为前面组合函数的结果,一般取进入单元的输入加权和。
三、BP网络在CPI预测中的应用实例
我国的CPI由食品、烟酒及用品、衣着、家庭设备用品及服务、医疗保健及个人用品、交通和通信、娱乐教育文化用品及服务、居住等类构成。CPI具有较强的非线性特性,要对其进行较为准确的预测,就应该采用能捕捉非线性变化规律的方法。笔者将BP神经网络引入到CPI预测中来,用历史数据预测未来CPI相对增长率,弥补传统预测方法的不足。显然,CPI相对增长率与类别各自的增长率有关,在本文中正是从这类别对CPI的影响来进行模型的构建。
1.数据读取
本实例选取国家统计局的统计数据进行研究,同时采用Access作为数据库平台,前八个字段为当月CPI构成的类别指数,第九个字段为下月CPI,取部分记录显示,见表1:
表1 居民消费价格指数表
2.数据预处理
数据预处理对于数据挖掘是一个重要的问题,因为现实中的数据多半是不完整的、有噪声的和不一致的。数据预处理包括数据清理、数据集成、数据变换和数据归约。数据清理可以去掉数据中的脏数据,纠正不一致,包括空值处理、规范化数据格式、拆分数据等。数据集成将数据由多个源合并成一致的数据存储。数据归约可以通过聚集、删除冗余特性或聚类等方法来压缩数据。本文中数据预处理主要是对各输入指标进行归一化处理,以便进行BP神经网络模型构建。即将数值限定在[0,1]区间内,归一化公式为:
该步骤在Clementine中通过Field Ops部分的Derive组件实现。
3.模型构建及应用分析
本研究采用只含一隐层的BP网络,选取输入层节点数为8(分别为某个月的8个类别各自的相对增长率);输出层节点数为1(为下个月的居民消费价格指数的相对增长率),同时根据前述经验公式,选取隐层节点数为3,而传递函数则选取默认的S型函数。在本模型中,还需设置以下参数,动量因子0.8,初始学习速率0.4,最大训练步数300。以上参数的选取以及模型的构建均在Clementine中实现,流程如图1所示。
在本模型中,随机抽取数据的70%作为训练样本,30%作为验证样本,来进行神经网络模型的训练,训练过程见图2。
图1 模型流程图
图2 模型训练过程
从图2中可以看到该模型的准确度较高,误差在允许的范围内波动,故将该模型应用于CPI预测是切实可行的。紧接着,将上文构建出的神经网络模型应用于2007年10月CPI预测中,因前半部分流程同图1,故从居民消费指数节点开始截取,流程如图3所示。
图3 预测过程
表2 2007年10月CPI预测结果
通过模型应用,预测结果如表2所示。从表2的$N-下月居民消费价格指数归一值字段中可以看到,2007年10月,居民消费价格指数归一值为0.968,通过公式(3)逆推算出当月CPI原值为106.25。该值在一定程度上反应了近期宏观政策制定的效果,从近期政策面及各方面反应来看,该预测结果基本符合该月的真实情况。总的来说,该模型的性能比较良好,可以达到对CPI进行预测的目的。
四、结论
通过上文我们能够看到,BP神经网络在CPI预测中具有较高的精度,在已知上月类别指数的情况下,通过该模型能够很快地计算出较准确的当月CPI指数,这能够给相关部门进行综合性措施的制定提供较大的帮助,同时能够提供较为科学的依据。本文初步尝试采用CPI近几年数据建立BP神经网络模型,旨在提出一种进行CPI预测的新思路。但由于CPI指数近几年来才按现行的标准进行统计,数据量有限,加上政策的制定对CPI的直接影响,所以在应用该模型进行预测时可能会出现一些大的误差,但总体来说,该模型已基本能够对CPI进行预测。当然,在应用该模型时,应随着新数据的进一步加入调整模型的各项参数,以使模型训练及预测能够达到最理想的效果。
参考文献:
[1]黄章树,王前辉.基于数据挖掘的电信增值业务营销策略研究[J].福州大学学报(社科版),2005,(4).
[2]黄章树,王凤英.基于决策树技术的福州市居民出行特征分析[J].重庆工商大学学报(自然科学版),2007,(3).
篇4
【关键词】BP神经网络 管道缺陷 缺陷分类
目前,通过图像处理的方式进行模式识别已成为新的研究热点,并广泛应用于识别汽车车牌、手写汉字、水位线、水稻品质及各种工业产品等领域。在城市管道检测技术方面,现多采用由管道机器人对待测管道进行内部信息采集,再由人工进行实时的观测并进行判断。但是,由人工对管道内部问题进行判断,其判断的主观性与遗漏的可能性都是难以避免的。针对这一情况,通过人工智能算法―BP神经网络对已获取的图像信息进行处理,从而得到管道内部的缺陷类型,不仅降低了系统操作人员的劳动强度,而且从整体上提高了缺陷分类软件的易用性和可移植性。
监控中视频处理的过程如图1所示,本项目将在图像处理技术的基础上通过BP神经网络着重对分类识别的部分进行研究,以达到机器智能检测的目的。
1 图像的预处理
1.1 管道内部缺陷样本的采集
建立管道内部缺陷库,是进行管道内部缺陷识别的必要条件。同时也是对识别方法进行客观测试,估计其性能,评价其优缺点的根本依据。采集样本时应符合大多数管道问题的实际情况,反映各种管道材料、直径、形状的特征等。
较差的学习样本不但会导致网络的错误映射关系,而且还可能会使该网络的学习过程不收敛, 因此采集学习样本对于BP神经网络系统的学习和训练尤为重要。本实验采集学习样本的原则为:
1.1.1 代表性
所用样本需要起到以点带面的作用,应当体现出输入输出关系,如选用特征突出的样本,只有通过具有代表性的学习样本所训练出来的BP神经网络才能很好的映射输入输出的关系。
1.1.2 广泛性
所用样本应能提供该BP网络各种情况下的输入,广泛的样本可使训练出来的BP网络具有良好的适应力,这对于管道内部缺陷识别与分类来说是非常重要的。
1.1.3 紧凑性
若学习样本含有较多的无效成分会导致学习过程难以收敛,从而导致训练出来的网络会产生错误的映射,使网络输出过多偏向无效学习成分所形成的错误的映射关系。
1.2 归一化处理
管道缺陷种类繁杂,缺陷特征各不相同,即使是常见缺陷也会因大小和分布的不同而有所差异,所以在进行缺陷识别前需要对其进行归一化处理。缺陷的归一化处理可分为线性和非线性两种。进行归一化处理是为了是消除由于管道自身缺陷而带来的识别问题,从而进一步的为提取特征和分类器识别打下良好的基础。
通过线性归一化的方式将其归一化为统一大小的图像,归一化后的图像可以表示为:
其中,width和height分别表示未归一化时原图像的宽与高,W与H则表示规一化后图像所对应的宽和高,A(水平)、B(垂直)分别表示原图像的左上角与规一化后矩形框左上角的距离。
线性归一化算法较为简单,即将图像按一定比例线性调整为同一尺寸,可以保有原图像的形状与特征(几乎无失真),但是无法改变图像的亮度与清晰度等属性;非线性归一化是按照管道内部的特征分布来处理、调整清晰度,削弱那些偏亮、偏暗的区域,或是像素密集的区域,压缩像素分散的区域。
1.3 平滑去噪处理
各N噪声可能存在于样本图像中,如高斯噪声、白噪声等。图像的平滑化,即消除样本图像中的噪声成分,是图像增强技术中的一种。该操作可达到两个目的:
(1)按特定的需要突出图像中的特定信息;
(2)消除视频图像在输入时混入的噪声,以适应计算机的处理。
图像平滑化处理的要求有:
(1)不能损坏图像的边缘轮廓及线条等重要信息;
(2)使图像清晰。
平滑处理的方法分为:
(1)空间域法(时域),其中空间域法又分为线性和非线性滤波器;
(2)频域法一般需要对图像进行一次正向的数学变换(通常离散傅立叶变换,也可以为拉氏变换或Z变换)和一次反向的数学逆变换。
2 BP神经网络的运用
许多学者对BP神经网络的算法及结构进行过优化,有人提出:神经网络好比是一种自适应机器,神经网络是一个由若干简单处理单元所共同组成的大型分布式处理器,因此具有存储经验知识(记忆性)和使之可用(有用性)的特性。神经网络与人脑的相似之处有两个:
(1)所获取的知识都由外界环境学习而来;
(2)突触权值(神经元间的相互连接强度)用于储存所获取的知识。
2.1 BP神经网络的简介
人工神经网络是根据模仿动物神经网络的行为特征,进行分布式并行处理算法的一种数学模型。这种网络在处理信息时是通过调整内部大量节点之间相互连接的关系所实现的。而BP(Back Propagation)神经网络模型是由Rumelhart和Mccdknd为首的科学家小组提出是一种按误差逆传播算法训练的多层前馈网络。其凭借着强大的联想能力、容错能力以及自组织能力,成为现阶段应用最为广泛的神经网络之一 。BP神经网络最大特点仅依靠样本输入、输出数据,不借助系统的基本物理定律,就能实现由Rn空间(n个输入节点)到Rm空间(m个输出节点)的高度非线性映射。
2.2 BP网络模型
BP神经网络是一种反馈前向型的神经网络,也是一种典型的多层前向型网络,通过网络内各层之间的权值与结构表示出复杂的非线性1/0映射关系,BP神经网络同时具有较好的自我学习功能,能够通过误差的反馈算法,比照已有的样本进行重复训练,调整网络内各层间的权值,直到该网络的1/0关系在某个训练指标下与样本最为接近。一个典型的BP神经网络应包含输入层、中间层(也称隐层)和输出层,不同层之间相互连接,层内神经元之间无连接。其中隐含层可以为一层或多层。每一层都由互不连接的若干个神经元组成。相邻两层的每一个神经元之间的关系由权值所决定,权值的大小直观地反映了两个神经元间的连接强弱,整个BP网络的计算流程是由输入层-中间层-输出层单向前进,因而属于前向型网络。
2.3 BP网络原理
典型的BP网络分为三层,即输入层、隐含层和输出层。其算法主要由以下四部分组成,即模式顺传播――误差逆传播――记忆训练――学习收敛。
2.3.1 模式顺传播
2.3.2 误差的逆传播
根据输出层产生的误差,经中间层向输入层传播,在这个过程中,按照梯度下降原则对各层的权值和阈值进行误差校正。
所以,按照梯度下降原则,可得到输出层各单元的阈值调整量为:
(1)中间层到输入层计算:
权值调整量计算:
按照梯度下降原则,可得到连接权值的调整量为:
阈值调整量计算:
按照梯度下降原则,可得到输出层各单元的阈值调整量为:
以上的推导为标准差逆传递的算法,其中各连接权值的改变量分别与各个学习模式所对应的误差Ek成比例变化。而相对于全局误差
的连接权调整,需要在完成m个学习模式后统一进行,这是累积误差逆传递的算法。一般来讲,当样本较少时,累积误差传递算法要比标准误差传递算法速度快。
2.3.3 记忆训练
给出一组样板反复进行学习,调整权值和阈值的大小以使输出值满足一定的精度要求。
2.3.4 网络收敛
经由多次训练,BP神经网络的整体误差趋向于最小值。
由于BP算法采用了按误差函数梯度下降的方向进行收敛,因此,可能使迭代陷入局部极小点,BP网络收敛依赖于样本的初始位置,适当改变隐层单元个数,或给每个权值加上一个很小的随机数,都可使收敛过程避免局部极小点。
3 结语
本文提出的基于图像处理和BP神经网络技术的管道缺陷识别方法,可以通过BP神经网络完成机器视觉的学习,使管道机器人能够自主判断出管道内部是否存在缺陷,并进一步区分出管道接口渗漏、错口、管道腐蚀、管身穿孔、支管、淤积、结垢、障碍物等缺陷类型,完成整个智能检测。同时,该方法也存在一定的误识别率,这与训练样本的丰富程度与待测管道的内部环境密切相关。
参考文献
[1]张小伟,解智强,侯至群,等.一种基于BP神经网络耦合排水管线信息的城市河道风险评价研究[J].测绘通报,2014(12):93-96.
[2]彭向前.产品表面缺陷在线检测方法研究及系统实现[D].华中科技大学,2008.
[3]王雪梅.基于神经网络的冷轧带钢表面缺陷识别分类技术研究[D].电子科技大学,2006.
[4]吴斌,齐文博,何存富,等.基于神经网络的超声导波钢杆缺陷识别[J].工程力学,2013(02):470-476.
[5]童文俊.BP神经网络在板形缺陷识别中的应用[D].江南大学,2008.
[6]刘彩红.BP神经网络学习算法的研究[J].西安工业大学学报,2012,32(09):723-727.
[7]弦.基于数据并行的BP神经网络训练算法[D].华中科技大学,2008.
[8]黄良炯.供水管道表面损伤特征提取及其评价技术研究[D].哈尔滨工业大学,2008.
[9]王赓.基于BP神经网络的脱机手写汉字识别研究[D].天津师范大学,2009.
[10]余本国.BP神经网络局限性及其改进的研究[J].山西农业大学学报:自然科学版,2009,29(01):89-93.
[11]李炯城,黄汉雄.一种新的快速BP神经网络算法――QLMBP[J].华南理工大学学报:自然科学版,2006,34(06):49-54.
[12]吴凌云.BP神经网络学习算法的改进及其应用[J].信息技术,2003,27(07):42-44.
[13]彭松,方祖祥.BP神经网络学习算法的联合优化[J].电路与系统学报,2000,5(03):26-30.
篇5
关键词:BP神经网络;人脸识别;奇异值
中图分类号:TP391 文献标识码:A文章编号:1007-9599 (2011) 13-0000-01
Face Recognition Based on the BP Neural Network
Liu Weiwei
(Chinese People's Public Security University,Beijing100872,China)
Abstract:In order to achieve the purpose of face recognition by classifying the feature vector of face image,a new methods for face recognition on neural networks is presented in this paper.Singular values features of face image matrix are used as features,Back-Propagation(BP)networks are used as recognition.Through the experiments,it show that the method of face recognition is reliable and have a ability of high maneuverability.
Kewwords:BP neural network;Face recognition;Singular values
一、引言
人脸识别的发展应用广泛,利用人脸图像进行识别身份容易被接受,具有非打扰性、直接性、唯一性。人脸识别主要是对人脸特征向量分类识别。神经网络可以用做人脸特征的分类器。它是一种模拟人类大脑的思维方式和组织形式而建立的数学模型。具有强大的自适应、自学习、高度容错能力,因此成功运用在模式识别和预测等领域。BP网络是神经网络中最完美的,采用BP神经网络可以进行人脸特征向量识别分类。
二、BP神经网络
BP网络是一种单向传播的多层前馈神经网络,它包括一个输入层、若干隐含层和一个输出层,上下层之间实现全连接,而每层神经元之间没有连接。利用BP神经网络可以实现输入向量 到输出向量 的非线性映射。该网络的前层和后层都有连接权值 ,每一层有阈值 ,这些值在初始时刻是随机生成的。在具体的应用中,将特征值向量作为输入向量,特征值所对应的结果作为输出向量,BP网络载入这些数据训练和学习,从而对连接权值和阈值不断进行修正,使网络达到的最优状态,完成网络的学习和训练过程,为后续的数据分类做准备。因此可以将BP神经网络作为人脸特征向量的分类器,以达到人脸识别的目的。
三、基于BP神经网络的人脸识别
人脸识别是基于人脸的唯一性进行识别,这里采用奇异值分解的方法提取人脸特征向量。本实验的数据取自ORL人脸数据库,该库由40人、每人10幅、共400幅人脸图像组成。这些照片包含测试者的不同面部表情。本实验选择两个测试者进行识别,每个测试者的十幅图像作为一个类,每个类的前九幅图像的特征向量作为网络的学习训练样本,第十幅图像的特征向量作为测试数据。
(一)样本数据的获取
采用奇异值分解的方法提取人脸图像的特征向量,这些特征向量作为BP网络的学习和训练样本数据,对样本数据进行归一化后得到。例如 =(0.55650.53230.36750.40620.35990.38540.37030.3062)表示第一个测试者的第一副图像的特征向量,在BP网络中对应的输出向量为(1,0)。
(二)BP神经网络的建立
第一,确定隐含层的层数。对于一般的模式识别问题,三层网络可以有效的解决此问题。本试验采用三层网络,输入层的神经元个数为特征向量的维数n=8,隐含层的神经元个数为p=2n+1=17,输出层的神经元个数为输出向量的维数为m=2。隐含层神经元传递函数选用tansig,输出层神经元传递函数选用logsig。输出向量为(1,0)和(0,1)表示为第一个和第二个测试者。
第二,载入样本数据学习和训练。样本数据包括输入向量和输出向量,通过学习和训练不断的修正网络中的权值和阈值。训练曲线的收敛情况如图2.
在matlab环境下运行,采用测试样本进行测试,实验结果输出为(0.98490.0027);(0.00270.9547),试验结果接近(1,0)和(0,1),分别为一号和二号测试者,实验达到预期结果。
图1.训练曲线
四、结语
运用BP人工神经网络建立了人脸识别模型,解决了对人脸特征向量进行分类识别的问题,从而达到对人脸识别这一最终目的。识别结果表明,在小样本空间下,运用BP神经网络的人脸识别运算速度快、操作简单、识别率高,BP神经网络可以用于人脸识别系统中的识别部分,并且可以扩展到其他模式识别问题。
参考文献:
[1]郝文化.MATLAB图像图像应用教程[M].中国水利水电出版社,2004
[2]邵拥军等.基于BP神经网络的湘西金矿成矿预测[J].中南大学学报,2007
[3]高全学等.SVD用于人脸识别存在的问题及解决方法[J].中国图象图形学报,2006
[4]杨天军,张晓春等.基于BP神经网络的城市道路交通安全评价研究[J].中国矿业大学学报,2005
篇6
【关键词】弹性模量 力学分析 神经网络 matlab
【中图分类号】G250.72【文献标识码】A【文章编号】1672-5158(2013)07-0465-01
1 研究背景
本文所研究的梁的模型为伯努利梁,基于神经网络对函数具有很好的逼近这一特性,希望能借助神经网络获得梁的挠度与弹性模量的对应关系。
2 问题的描述?即悬臂梁的受力模型和几个参数是已知的,当悬臂梁采用不用的材料时,悬臂梁的变形情况是不同的,现在已知在几种不同弹性模量E的情况下所对应的最右端的挠度值:
现在面临的问题是,在不知道最右端挠度值和E、M、I关系的情形下,能利用的条件只有表1的一组数据,在已经测量到最右端挠度值w=0.0198的情况下,想预测材料的弹性模量E的数值。
3 BP网络求解过程
上述问题可以通过神经网络对数据的分析和预测来求解,利用挠度w作为网络的输入,E作为网络的输出,构建神经网络,利用这一神经网络来模拟w、E、M、I的相互关系,当有一个新的w输入的情况下,神经网络可以产生一个对应的输出,比较这一输出和通过计算所获得解析解的误差来分析神经网络的预测能力。
用BP神经网络求解问题的过程,可以分成如下步骤:1)原始数据输入;2)数据的归一化;3)网络建立;4)对已有数据进行仿真;5)将仿真结果与实际结果对比并修正网络;6)对新数据进行仿真。
下面给出具体程序,并对程序添加了注释
P=[ 0.2500 0.2380 0.2270 0.2170 0.2080 0.2000 0.1920 0. 1850 0.1790 0.1720 0.1670];%以挠度w作为输入矩阵,为了提高神经网络隐含层函数对数据的识别能力,把挠度值w写为w*10
T=[2.0000 2.1000 2.2000 2.3000 2.4000 2.5000 2.6000 2. 7000 2.8000 2.9000 3.0000]; %以弹性模量E作为目标矩阵,单位为E+11Pa
net=newff([0.1670 0.2500],[10 1],{’tansig’ ’purelin’});
net.trainParam.epochs=10000;
net=train(net,P,T);
x=[0.198];
y=sim(net,x)
TRAINLM, Epoch 0/10000, MSE 9.68058/0, Gradient 66. 1516/1e-010
TRAINLM, Epoch 4/10000, MSE 1.15301e-022/0, Gradient 5.68978e-012/1e-010
TRAINLM, Minimum gradient reached, performance goal was not met.
y=2.5132图2 神经网络训练情况
上述y=2.5193即为神经网络所预测得到的弹性模量数值,可以看到神经网络仅仅训练了4步,网络的总体误差为:MSE 1.15301e-022,下面分析这一网络的预测精度。根据计算悬臂梁最右端挠度的计算公式得到
参考文献
[1] 丛爽.面向Matlab工具箱的神经网络理论与应用 中国科学技术大学出版社.2008.09
篇7
关于隐含层节点数的确定没有一个明确的规定,需要进行实际的网络训练。隐含层节点数应选取在输入层节点数与输出层节点数之间,且更加靠近输入层,这样更有助于提高网络收敛速度。隐含层节点数过多,会导致学习时间过长,且网络容易训练过度,降低网络的总体性能。隐含层节点数过少,学习过程不收敛。因此为了选取最佳的隐含层神经元数,可以参考以下求取隐含层节点数的经验公式。
2输出节点的选择
输出节点应该对应于评价结果,因此需要先预测样本的期望输出。本文运用变权评价方法确定样本的期望输出,将风险预警程度作为预测输出值,并设定绿灯代表风险预警程度轻,蓝灯代表风险预警程度中等,黄灯代表风险预警程度较差,红灯代表风险预警程度差。风险预警程度为[08,1]表示为绿灯,[06,08)表示为蓝灯,[03,06)表示为黄灯,[0,03)表示为红灯。
3模型应用
以俄罗斯为例,根据海外矿业投资金融风险预警指标体系,运用变权评价方法确定风险等级F,具体数据见表3。根据(2)式和(3)式进行归一化处理,使数据在[0,1]内,具体数据见表4。对数据进行归一化处理后进行BP神经网络的训练与预测。运用Matlab软件的神经网络对海外矿业投资金融风险预警模型进行学习训练,以2009—2012年的为验证样本,2009年前10年历史数据为训练样本,隐含层节点数为5,建立3层神经网络进行运算,目标平均误差0001,当训练周期达到1000次时达到标准误差。根据预警得出结论,以2012年数据为例进行预测值与实际值的对比(图2)。可以看出,两者的一致性比较好,预测较准确,说明网络训练良好,可以用于海外矿业投资金融风险的预警与分析。利用上述经过监测已经训练好的BP神经网络模型,对未来一些年份的俄罗斯海外矿业投资金融风险状况进行预警分析(表5)。将实际数据值输入BP神经网络中进行预测,得出风险预警程度的仿真输出,2014年和2015年的分别为0934、0953,通过(4)式反归一化后得出2014年、2015年风险预警程度预测值分别为0649、0661,均处于蓝灯的状态下,说明俄罗斯在未来的金融风险预警还是处于较轻的程度。用BP神经网络对2015年其他主要投资目的国家进行风险预警分析,预警输出结果如表6。反归一化后加拿大的风险预警程度为0679,澳大利亚的为0684,南非的为0563,印度的为0506,巴西的为0558。对应风险预警等级可以看出,加拿大和澳大利亚的风险预警等级处于蓝灯的程度,说明未来几年加拿大与澳大利亚的金融环境较为安全。南非、印度、巴西的风险预警等级都处在黄灯的程度,表明这3个国家的金融环境需要引起投资者的注意。本文来自于《资源与产业》杂志。资源与产业杂志简介详见
4结论
篇8
关键词:BP神经网络 动量因子法 变步长法 学习速率
1.引言
人工神经网络(Artificial Neural Networks,ANN)是通过对人脑神经元建模、联结模拟生物脑或世界系统的网络模型,是一种具有学习、记忆和模式识别等智能信息处理功能的人工系统。通常研究和使用的十种神经网络模型中,人们较多用的是Hopfield网络、BP网络、Kohonen网络和ART网络模型。其中的BP神经网络是基于反向传播(BackPropagation)的网络,也是神经网络领域中研究最多、应用最广的网络模型。它采用最小均方差的学习方式,可用于函数逼近及语言综合、识别和自适应控制等。
2.标准BP神经网络算法
BP算法作为前馈网络的主要学习算法,对神经网络的推广应用起了举足轻重的促进作用。标准的BP网络,优化计算的方法很多,比较典型的是采用一阶梯度法,即最速下降法。在BP神经网络训练中,主要是针对一定的输入,所得到的输出是否与期望输出接近,即误差的代价函数达到最小。其简单的实现步骤为:(1)通过网络输入反向传播;(2)通过网络将敏感性反向传播;(3)使用近似均方误差的BP算法更新权值和偏置值。
标准的BP算法因具有简单、易行、计算量小及并行性强等优点,是目前神经网络训练采用最多、最成熟的训练算法。由于BP网络中待寻优的参数太多,往往导致算法收敛速度慢。对于复杂问题,训练过程需迭代几千、几万次才能收敛到期望的精度。因此,标准的BP网络在很大程度上实用性不强,尤其对于实时性很强的系统而言。
3.BP算法的改进
BP多层前馈网络已成为神经网络的重要模型之一,但实际上的BP多层前馈网络并不是利用标准的BP算法对网络进行训练的,而是对BP算法进行了启发式改进。
(1)增加动量因子法
BP算法的神经网络的误差曲面具有不同的区域有不同的误差改变率的特点。假若开始训练的学习速率较高,那么算法的收敛速度可能很快。但当迭代进入的区域包含极小点时,此时算法发散,来回振荡,收敛不到极小值点。如果用平均改变参数的方法进行轨迹的过滤,就可以对震荡进行平滑并可产生稳定的轨迹。当动量滤波器的参数得到了改变,获取反向传播的动量,使用了动量项,可以在保证算法较为稳定的前提下,在网络训练进入局部最小值时产生一个继续向前的正向斜率运动,使得搜索能够跳出较浅的峰值;当网络搜索位于误差曲面平坦区的区域时,该方法能够较快地提高训练速度。
(2)变步长法
变步长法通过调整网络训练的学习率,故也称为可变学习速率的方法。BP算法中对连接权值的调整,取决于两个因子,即学习速率和梯度。其中通过调整学习速率提高算法收敛收率的方法,是当前认为最简单、有效的方法。学习率不能随意选取,选得太小,收敛会变慢;选得太大,可能调整过多,使得算法振荡或发散。所以,在对学习率进行调整时,一般遵循的准则是:首先检查修正值,看该值是否明显降低了误差。如果降低了,则学习率的值选取偏小,可以作为对学习率调整的参考;否则,学习率值调整过大,就应该对该值进行减小。增加可变速率参数后,得到改进的BP算法如下:
①如果整个训练集上的均方误差权值在更新后增加的,且该值超过了预设的某个百分数,如:1%~5%,则不对权值进行更新。学习速率被乘以一个大于零且小于1的因子,并且动量系数被设置为0。
②如果均方误差在权值更新后变小了,则接受权值更新。学习速度将被乘以一个大于1的因子。假若学习率被设置为0,则恢复之原来的值。
③如果均方误差的增长变小,则权值更新被接受,但学习速度保持不变。如果学习率过去被设置为0,则恢复到以前的值。
4.实验结果
分别对目标误差为0.001的网络训练。实验结果如下:
(1)采用标准BP网对样本进行训练,迭代次数近5000次尚未收敛。
(2)采用增加动量法,迭代375次,学习过程收敛。
(3)采用变步长法,迭代1728次收敛。
由此可见,未改进的标准BP学习算法存在收敛速度慢的缺陷;改进后的BP学习算法都从不同程度上提高了算法的收敛速度,训练的次数大大减小了。对BP算法采用启发式改进措施后,明显提高了学习速度。
篇9
关键词:模式识别;Bp神经网络
中图分类号:TP18 文献标识码:A文章编号:1009-3044(2011)07-1543-03
On BP Neural Network in Pattern Recognition Application
LIN Jia-xiang, GE Yuan
(Information Engineering College, Shanghai Maritime University, Shanghai 200135, China)
Abstract: Pattern recognition technology, widely used in all works. Automatic detection of industrial and medical equipment on the inspection of samples, military satellites detect Police, intelligence has a pivotal role. This article describes the pattern recognition based on BP neural network method. Based on the use of BP Improved neural network algorithm, will be based learning is introduced into pattern recognition, data on the sample study and training, to form a good network Contact, and finally with the already trained network to test the whole process, because to a certain accuracy, to avoid the traditional method of calculating property Weight problems.
Key words: pattern recognition; BP neural network
模式识别作为一门新的学科,从1960年代开始逐渐应用于各科技及工业领域。尤其,人脸识别、声音识别、指纹识别、医学诊断领域的研究应用,使模式识别成为一门热门的学科。模式识别,研究的内容是让机器通过学习自动识别事物。但传统的模式识别方法,很难完成人脸识别、声音识别等需要直接感知外界信息领域的识别任务。因此,近些年来结合神经网络来研究模式识别成为一个新的课题。
神经科学作为一门科学起始于19世纪末。近几十年来,神经科学和脑功能研究的发展极为迅速。人工神经网络由于其自组织和非算法特性,在模式识别应用方面有很大的发展潜力。在神经网络模式识别系统中,用得最广泛的要算是BP神经网络。1986年,Rumelhart等人在多层神经网络模型的基础上,提出了多层神经网络模型的反向传播学习算法,它是基于误差前向传播(Error Back Propagation,简称BP)算法的一种具有非线性连续转移函数的多层前馈网络。BP算法,解决了多层前向神经网络的学习问题,证明了多层神经网络具有很强的学习能力,它可以完成许多学习任务,解决了许多实际的问题。
本文主要介绍BP神经网络在模式识别中的应用,并结合实例予以说明。
1 模式识别概述
1.1 模式识别研究内容
人类在长期的生活实践和科学研究中,逐渐积累起来了通过感觉器官辨别不同事物的能力。例如,人们可以根据物体的形状、颜色、质地、组成以及各部分的结构关系把不同物体区别开来;可以根据人的高矮、胖瘦、性别、年龄、肤色、脸型把不同的人区分开来。人们之所以能进行这样的辨别,重要的原因在于不同事物具有不同的特征,包括物理特征及结构特征。由此使人们想到,如果能把事物的关键特征抽取出来,以不同的特征组合代表不同的事物,并且用适当的让计算机能接受的形式表示出来,这样就有可能使计算机具有识别能力,使它能区分不同的事物。像这样用事物的特征所构成的数据结构就成为相应事物的模式,或者说模式是对事物定量的或结构的描述。由具有共同属性的模式所构成的集合称为模式类,它是一个抽象出各有关模式的共同属性而废弃各具体模式不同属性的分类概念。识别能力原本是人类和其他生物的一种基本属性,人们通过模式感知外部世界的各种事物,这是获取知识、概念和作出反应的基础,是一种思维和抽象过程。而在人工智能或信息科学范畴内,模式识别是指用数学、物理方法和技术实现对模式的自动处理、描述、分类和解释,目的在于用机器部分实现人的这种智能活动,所以在目前模式识别所研究的内容可以分为两类:一是对人类和其他生物识别能力及其机理的研究。二是对满足某些应用需要的识别装置的理论和技术的研究。
前者研究的内容主要涉及神经机理和认知心理等方面,往往是它的研究为后者提供理论基础和模仿的依据。而第二个课题主要是通过工程、计算机和其他信息科学等方面的技术和知识,达到以机器模拟或局部超过人的识别能力的目的。它在技术上的提高不但验证了前者的结论,而且为其进一步的研究提供了手段。可以看出在人工智能或信息科学范畴内,所谓的模式识别(Patten Recognition)是研究一种自动技术,依靠这种技术,机器将自动地把待识别模式根据其特征分到各自的模式类中去。
1.2 模式识别系统的结构
计算机对识别对象进行识别的过程实际上是一个决策过程,它根据一定的识别规则对识别模式的特征进行判定,从而决定它所属的模式类。一个典型的模式识别系统,分别由数据获取、预处理、特征提取、分类决策、和分类器设计五步骤组成。通常一个完整的系统分为两个部分,第一部分是用来完成未知类别的模式分类。第二部分是训练分类器设计,确定分类器各项参数。模式识别系统结构如图1所示。
以下简要说明模式识别系统各组成部分功能:
1)数据提取: 计算机提取的数据通常有三种类型。第一种是一维波型信息,如心电图、气象信息图等。第二种是二维图像信息,如图片、指纹、文字等。每三种是物理参数,如气温参数、水文参数等。
2)数据预处理:计算机对初步提取的数据信息进行去除噪声、复原、提取相关参数信息。
3)数据特征提取:对预处理提取的数据信息,进行变换处理,获取反映分类本质的特征。对原始数据的高维数测量空间,进行转换,形成反映分类识别的低维数特征空间。
4)分类器设计:对特征空间的识别对象进行分类。训练样本,确定分类器判别函数,并不断改进判别函数和误差检验。
2 BP神经网络的模型
2.1 BP神经网络的结构
BP神经网络 (Back-Propagation) ,又称误差反向传递神经网络。它是人工神经网络(ANN)中的一种模型,是利用率很高的一种神经网络,约有80%的神经网络属于BP神经网络。BP神经网络是一种依靠反馈值来不断调整节点之间的连接权值而构建的一种网络模型。图2显示了一个3层BP神经网络的体系结构,它分为输入层、隐含层和输出层,其中隐含层根据具体情况的需要,可以是一层结构也可以为多层结构。
设输入层有n个神经元节点,隐含层有q个神经元节点,输出层有m个神经元节点。利用该网络可实现n维输入向量Xn=(X1,…,Xn)T到m维输出向量Ym=(Y1,…,Ym)T的非线性映射。输入层和输出层的单元数n、m根据具体问题确定,而隐含层单元数q的确定尚无成熟的方法,一般可设定不同的q值根据训练结果来进行选择。
BP神经网络结构(n、q、m)确定后,神经网络还包括的参数有:
wij:输入层第i单元到隐含层第i单元的权重,其中i=1,…,n;j=1,…,q。
wjk:隐含层第j单元到输出层第k单元的权重,其中j=1,…,n;k=1,…,m。
θj:隐含层第j单元的激活阈值,j=1,…,q。
θk:输出层第k单元的激活阈值,k=1,…,m。
以上权重和阈值的初值在网络训练之前随机生成。
f(x):激活函数一般采用Sigmoid型函数,即f(x)1/[1+exp(-x)]。
2.2 BP神经网络的学习算法
2.2.1 BP神经网络的学习过程
1)输入模式正向传播:输入模式由输入层经中间层向输出层的模式正向传播过程。
2)输出误差反向传播:网络的期望输出与网络实际输出之间的误差,由输出层经中间层传向输入层的误差反向传播过程。
3)循环记忆训练:模式正向传播与误差反向传播的计算过程反复交替循环进行。
4)学习结果判别:判定网络的全局误差是否趋向极小值的学习收敛过程。
2.2.2 BP算法
3层BP神经网络,输入节点xi,隐层节点yj,输出节点zk。输入节点与隐层节点间的网络权值为wij,隐层节点与输出节点间的网络权值为wjk,如图3所示。
当输出节点的期望值为dk时,BP算法如下:
1)隐含层节点的计算输出:
2)输出层节点的计算输出:
输出节点误差为:
3)输出单元的权值对误差的影响:
4)隐含层节点对误差函数的影响:
5)由于权值的修正Δwij,Δwij正比于误差函数沿梯度下降,则有:
6)阈值的修正。阈值θ也是变化值,在修正权值的同时也需要修正,原理同权值修正一样。
输出层阈值修正:θk(t+1)= θk(t)+ ηδk
隐含层阈值修正:θj(t+1)= θj(t)+ η'δj
传递函数f(x)的导数:采用S型函数f(x)=1/(1+e-x)
f'(netk)=zk(1-zk),f'(netj)=yj(1-yj)
以上式子中出现的η(η>0)为学习参数。
3 应用BP神经网络进行字符特征识别的仿真实验
运用matlab7.0建立BP神经网络,并通过样本训练,完成对26个英文字母的识别仿真实验。
3.1 建立BP网络
通过5*7像素的二值数字图像来表示英文字母的对应图像。以字符的35个布尔数值作为BP网络输入。以26个字符的所在位置作为输出向量。现实中的字符图像不一定很精确,所以要求BP网络要有一定的容错能力。
利用newff函数设计一个两层的BP神经网络。以logsig传递函数,建立第一、第二层的神经元。
3.2 训练BP神经网络
设定训练函数和训练样本。先使用无噪声的信号对BP网络进行训练,一直到1000个时间单位和误差小于0.1时,完成BP网络训练。BP网络训练的误差变化情况如图4所示。
再对BP网络进行含噪声的样本训练,重复训练10次。使含噪声样本训练后的BP网络可以准确识别无噪声或含噪声的输入样本。
3.3 进行仿真实验并测试输出
利用输入样本,对BP网络进行仿真。仿真实验测试结果如图5所示。
图5中,虚线表示无噪声样本训练的网络,实线表示含噪声样本训练的网络。从图可以看到,输入噪声指标低于0.1情况时,两个网络对字符识别的能力都很高。当输入噪声指标大于0.1的情况下,经过含噪声样本训练的网络,容错能力比较高。因此,网络训练中增加噪声样本的比重可以提高网络的容错能力。
4 小结
BP(Back Propagation)神经网络,是能实现映射变换的前馈网络中最常用的一类网络,它是一种典型的误差修正方法,具有理论上能逼近任意非线性连续函数的能力,且结构简单,易于编程,在众多的领域得到了广泛的应用。本文应用matlab建立BP神经网络,并通过样本训练,仿真对字符的识别。从中可知,相对于传统模式识别方法,BP神经网络对字符识别准确度高,容错能力强。BP神经网络在模式识别中应用十分广泛,但也存在一些问题有待解决:1)局部极小点问题。BP神经网络不能保证使权值收敛于全局最小点;2)收敛速度问题。对于复杂的问题,网络训练时间较长;3)稳定性问题。增加训练样本,网络对训练好的权值和阈值无记忆能力,要重新开始训练。
参考文献:
[1] Theodoridis S,Koutrourmbas K.模式识别[M].北京:机械工业出版社,2009.
[2] 边肇祺,张学工.模式识别[M].北京:清华大学出版社,2000.
[3] 丁永生.计算智能-理论、技术与应用[M].北京:科学出版社,2004.
[4] 褚蕾蕾,陈绥阳,周梦.计算智能的数学基础[M].北京:科学出版社,2002
篇10
关键词BP神经网络;汽车故障率;神经元;梯度下降
中图分类号U2 文献标识码A 文章编号2095―6363(2017)03―0063―02
随着互联网、数据库、云计算、移动通信技术的快速发展和进步,促进了其在多领域得到广泛普及,开发电子政务、电子商务、在线学习、物流仓储、智能家居、金融证券等领域得到广泛普及和使用,已经积累了海量的应用数据资源,并且持续呈现几何级数增长。汽车是信息化普及和使用的一个重要方向,汽车生产制造、保养修复、运行监控等都开发了先进的智能管理系统,这些系统运行也积累了海量数据,可以采用分类算法挖掘潜在有价值信息,形成一个个的数据类别,这些数据类别内部具有高度相似性,类别之间高度相异,因此就可以根据用户输入的信息主体划分数据资源,提供一个合理的知识解释和决策信息。
1 BP神经网络理论
目前,汽车故障数据分析主要包括2个类别,一是有监督学习方法,比如BP神经网络、支持向量机、贝叶斯理论;一种是无监督学习方法,比如谱聚类、密度聚类、K均值、信息等方法。有监督大数据分析方法需要利用人们的经验,预先构建一个分析模型,然后尽可能提高这个学习模型的准确性,从而保证类别分析的精确度;无监督学习方法却不需要任何先验知识,系统自动的将数据按照不同的关注角度进行分类。
BP神经网络能够按照统计学规则,实现误差逆传播,是一种多层次的前馈神经网络,目前已经在多个机器学习和模式识别领域得到广泛普及。BP神经网络可以学习和存储海量的数据信息,并且经过自学习形成一个强大的支持网络结构,并且利用当前最为流行的梯度下降方法,不断调整网络的结构、权值和阈值,降低网络的误差平方和,准确提取相关的数据隐含模式信息。汽车运行数据处理过程中,输入层可以接收所有数据,并且将这些数据传输给中间层的神经元,神经元可以负责数据信息处理、变换,并且能够根据信息变化能力的需求,改变和整合中间层结构汽车运行数据流经过识别和处理之后,就可以从中间层分发到输出层,这样就可以完成一次学习过程,将BP神经网络训练成为一个准确度非常高的模型,还可以通过误差梯度下降等修正各个层次的权值,向隐藏层逐级反馈,实现反向传播和修正,提高汽车运行数据识别精确度。
2汽车故障率预测模型设计
汽车故障是指企业部分组件或全部组件丧失工作能力,也即是零部件机器相互配合的状态发生了异常变化,汽车故障广泛地发生于生产制造、运行使用、修理维护等全过程,因此每一个环节都需要非常小心和注意,尤其是在汽车使用故障发生时,一定要及时发现故障类型,及时排除故障内容,才能够保证汽车使用中尽量降低事故发生率。目前,汽车故障形成具有很多原因,具体原因如下所述。
1)汽车组成部件自身质量差异。汽车及其自身组件由于生产厂家、生产批次均不同,因此不可避免的存在许多质量差异,原厂配件在使用过程中将会出现很多问题,协作厂和不合格的配件装配到汽车上之后将会出现很多问题,对于不同批次、规格相同的部件来讲,可以将其划分为好中差3个层次,权值因子设置为0.95、0.8和0.6。
2)汽车消耗品质量差异。汽车运行中,消耗品包括燃油、油等,这些消耗品的自身质量将会影响汽车运行性能和使用寿命,非常容易的导致企业发生故障。目前汽车常用的燃油包括90#、95#和97#。
3)汽车使用环境影响。汽车使用环境复杂,路面易发生各类型事故,同时山区、城市、丘陵等地带由于地势不同,耗费的动力也是不同,汽车使用环境复杂多变,容易诱发汽车故障,将使用环境划分为3个方面,分别是好良中,权值因子设置为I/0.8和0.5。
4)汽车故障诊断和维修的影响。汽车运行中,需要定期对其进行保养,以便能够准确诊断故障,才能够将这些内容修复完毕。汽车运行维护、故障诊断、维修服务中需要较高的技术,因此为了提高这些技术产品的应用性,可以将汽车定期维护程度划分为多个时间长短的内容,分别是0-3/4-6/7-9三个阶段。
5)汽车的自然损耗。汽车各个组件会随着运行公里的增加逐渐衰弱,汽车自燃损耗越多,产生故障的概率就越大,因此汽车的自然损耗也是一个关键因素。
基于BP神经网络的汽车故障率预测模式可以利用管理系统、传感器等采集上述5个方面的数据信息,将这些信息输入到BP网络的输入层,输入层接收道数据之后,将其按照权值因子进行整合,输入到隐藏层网络,隐藏藏网络利用梯度下降、多层反馈等关键技术,对BP神经网络进行训练和学习,通过对此类标签对比,不断拟合调整网络权值,形成一个强大的故障率预测网络结构,这样就可以准确预测网络结构,将其输出到显示器上,具体的BP神经网络运行如图1所示。