神经网络反向传播公式范文
时间:2023-11-01 17:23:45
导语:如何才能写好一篇神经网络反向传播公式,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
关键词: 神经网络;工程造价;Vague集贴近度
0 引言
对建筑工程造价进行科学有效的测算和控制,会使工程造价的组成比较合理,进而节约工程开销成本。现在,经典的建筑工程造价测算方法主要有下面几种:定额法、类比工程法、回归分析法和模糊数学法[1]。其中,定额法必须对定额成本、定额差异和定额变动差异进行单独核算,任务较重,现实中很难实施;类比工程法是通过类比工程的相似性实现工程造价的测算,该方法估算准确度不够高;回归分析法的估算准确度同样不高,该方法将很多重要因素忽略了;模糊数学法是通过模糊数学的思想对工程造价进行估算,该方法的不足主要是特征隶属度不好准确确定。由于人工神经网络可以自学并进行推理,本文通过人工神经网络和Vague集贴近度理论对住宅楼的工程造价进行估算和控制,可以为建筑工程造价估算提供很好的服务。
1 BP神经网络
BP神经网络是一种前馈型神经网络,包含三种层次或者多层次,各种层次之间相互连接,同一层次可以自由结合,BP神经网络的构成见图1。所属模型的神经元数量决定了BP神经网络的层数,各个层次之间通过相互的权值实现联接[2]。
人工神经元(Artificial Neuron)模型:
人工神经元是神经网络的基本元素,其原理可以用图2表示。
图中x1~xn是从其他神经元传来的输入信号,wij表示表示从神经元j到神经元i的连接权值,θ表示一个阈值(threshold),或称为偏置(bias)。则神经元i的输出与输入的关系表示为:
BP神经网络的结构非常简洁,包括正向传播和逆向传播。下面分别对BP神经网络信息的正向传播和误差信息的反向传播原理进行介绍。
1.1 信息的正向传播
式(1)中,n为信息的总个数。
1)输入向量为
多层神经元网络(BP网络图3)。
BP(Back Propagation)神经网络,即误差反传误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播两个过程组成。由图3可知,BP神经网络是一个三层的网络:
输入层(Input Layer):输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;
隐藏层(Hidden Layer):中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程;
输出层(Output Layer):顾名思义,输出层向外界输出信息处理结果。
2 建筑工程造价估算模型
2.1 BP神经网络训练 建立BP神经网络模型,对工程特征向量进行归一化处理,可以开始神经网络训练,目标是使网络性能函数极小化,实现非线性映射的目的。本文利用Nguyen-Widrow方法[5]对权值和阈值的初值进行确定。Nguyen-Widrow方法具体原理为
上式中,W是数值矩阵,θ是权值矩阵,S、N是节点的个数。rand(S,N)为s行n列的平均自由分布任意矩阵,I(S,N)为s行n列标准矩阵。
2.2 BP神经网络训练调整与测试 BP神经网络训练调整与测试连接强度加权值调整方法,具体公式为:
BP算法在按步骤经行的收敛过程中,每一步的学习率都将发生变化,而不是固定不变。此时BP神经网络不应用连接强度加权值的调整方法,同时也不使用误差函数对梯度调整和η调整方法;最终应用相对权重增加量Δwij进行网络调整与测试,权值wij的修正值Δwij,如下所示:
以上的分析表明,运用BP神经网络进行建筑工程单方造价估算是可行的,然而该方法对建筑工程项目总造价的估算还不够精确。当前建筑工程项目需要考虑的影响因素非常多,虽然可以引入大量的特征因素,然而里面有很多因素都非常模糊化;即使可以对特征因素进行具体说明,提高输入点的数量,这时样本数据会随着增加,此时神经网络将会复杂化,求解效率会降低。所以,本文通过以上运用BP神经网络对建筑工程项目单方造价的估算,采用Vague集贴近度对BP神经网络进行改进,对建筑工程总造价进行估算[3]。
2.3 加入Vague集贴近度改进BP神经网络 文献[4]采用普通模糊集理论来对工程隶属度进行确定。本文中建筑工程特征因素隶属度是指建筑工程特征值隶属于准备建设的项目特征值的大小程度:
3 实例分析
选取2013年西安市某工程项目数据进行实例分析,工程造价指数以2013年为基准,通过加权平均法求解造价年综合指数。通过选择,最后选取了二十个样本,前面十八个样本为训练样本,剩余的两个当作检测样本。神经网络训练数据见表1。
3.1 BP神经网络训练 采用BP神经网络对模型进行构建,对建筑工程特征向量数据处理结束后,可以开展神经网络训练。神经网络训练基本的训练公式为
net,tr=train(NET,P,T)
训练公式中net为最终的网络,tr为数值统计, P是输入矩阵,T是输出矩阵。
3.2 BP神经网络与Vague集贴近度预测 采用Vague集贴近度的数据,基于BP神经网络训练样本进行预测,通过训练好的网络对与本文样本数据相类似工程项目的单方造价进行预估,求得单方造价均值为1800元/m2。紧接着可以对建筑工程的总造价进行预估,通过对10项样本进行造价估算预测,采用BP神经网络和Vague集贴近度相结合的方法进行造价预估,估计误差在±10%范围内(见表2),造价估算结果非常准确。
4 结论
本文应用BP神经网络造价预测和Vague集贴近度理论,从理论和实际应用两方面对建筑工程造价估算进行了研究。文中的方法能更准确地反应工程造价的不确定性,为建筑工程项目造价估算方法研究提供了一种新的视角和方法。
参考文献:
[1]史峰.BP神经网络在工程量清单中快速估价的应用研究[M].北京航空航天大学出版社,2010.4.
[2]张风文.基于MATLAB神经网络的工程实例分析[J].华东交通大学学报,2010,8(3):26-33.
[3]郭一斌,王红革,王翔.基于Vague集贴近度的工程项目投资快速估算方法[J].现代经济信息,2011,12(2):50-55.
篇2
关键词: BP神经网络;价格预测;归一化处理
期货市场是一个不稳定的、非线性动态变化的复杂系统。市场上期货合约价格的变动受金融、经济、政治及投资者心理等众多因素的影响,其过程具有非线性、混沌性、长期记忆性等特点。传统的经济模型大部分是线性模型,具有一定的局限性.而人工神经网络则能很好地解决这个问题。
一、BP神经网络原理与过程
BP神经网络(反向传播网络Back Propagation)是一种多层前馈型神经网络,其神经元的激活函数是sigmoid函数,一般为log sigmoid 函数和tan sigoid 函数,函数的图形是S 型的,其值域是为0到1的连续区间。它是严格递增函数,在线性和非线之间有着较好的平衡性。
1.数据归一化处理
数据归一化方法是神经网络预测前对数据常做的一种处理方法。数据归一化处理把所有数据都使其落在[0,1]或[-1,1]之间,其目的是取消各维数据间数量级差别。避免因为输入输出数据数量级差别较大而造成网络预测误差较大。数据归一化的方法主要有以下两种。
(1)平均数方差法,其公式如下:
2.BP神经网络的学习过程
BP网络的学习过程由信号的正向传播和误差的反向传播两个过程组成。其基本原理是:网络先根据输出层的误差来调整输出层和隐含层的权值和阈值,再将部分误差分配置隐含层,然后根据误差来调整隐含层和输入层之间的权值和阈值,并不断地重复上述过程,直到网络的输出与目标之间的误差趋于最小,达到规定的要求。
一般地,BP网络的学习算法描述为如下步骤。
(1)初始化网络及学习参数,如设置网络初始权矩阵,给出学习速率和神经元激活函数等。
(2)提供训练模式,训练网络,直到满足学习要求。
(3)前向传播过程:对给定训练模式输入,计算网络的输出模式,并与期望模式比较,若有误差,若执行步骤(4),否则,返回步骤(2)。
(4)反向传播过程:计算同一层单元的误差,修正权值和阈值,返回步骤(2)。
二、玉米期货价格预测分析
美国是世界上玉米生产大国和消费大国,良好的现货基础为美国玉米期货市场的发展提供了优越条件。其中,以CBOT为代表的美国玉米期货市场同现货市场有效接轨,不仅在美国内玉米生产流通领域发挥了重要作用,而且在世界玉米市场上也影响巨大。
发现价格作为期货市场的基本功能之一,CBOT作为全球最大的玉米期货交易市场,其玉米期货价格的国际影响力是非常巨大的。目前,在国际玉米市场上,玉米贸易价格的形成和交易活动是以CBOT的玉米期货价格为中心展开的,该价格是国际玉米贸易中签约双方需要考虑的最重要的依据之一。美国已经通过芝加哥玉米期货市场取得国际玉米贸易的定价权,在国际玉米市场中发挥着主导作用,并且能够对本国和其他国家玉米产业的发展产生深刻影响。
本文研究所采取的样本来自WIND资讯金融终端,以2008年07月-2015年10月的CBOT的玉米期货为研究对象。共计100组样本数据,将其中92组数据作为训练数据。8组作为分析样本。本文从影响全球玉米的供需平衡的角度出发,从期初库存、产量、进口、饲料消费、国内消费总计、出口、期末库存、总供给、贸易量共九个因素进行分析研究,对玉米期货的价格进行预测。利用MATLAB软件训练生成BP神经网络并进行预测,将隐含层神经元设为20个,训练次数为100次,训练精度为0.00005。最后得到结果见表1。
从表1中可以看出,通过BP神经网络计算得出的预测值与实际值绝对误差相对较小,这说明通过BP神经网络预测模型产生的预测结果的精确度较高。具有较强的实用性。但是由于玉米期货除了受到供需因素的影响外,同时还受金融、经济、政治及投资者心理等众多因素的影响。所以本文的结果还带有一定的局限性。若把上述因素考虑进去,其精确度可能进一步提高。
三、结语
本文采用BP神经网络对美国玉米期货的价格进行了研究。使用了多因素BP神经网络预测模型,对玉米期货的价格进行预测,得到了拟合度在较高的预测值。这说明BP神经网络方法可以对玉米期货价格走势进行有效预测。通过预测,可以对投资者的投资行为进行指导,从而达到规避风险而获取较好的经济利益。
参考文献:
篇3
关键词:BP神经网络; 模糊矩阵; 教学评价
中图分类号:TP183 文献标识码:A文章编号:2095-2163(2013)06-0060-03
0引言
教师教学效果的审核评定是高校教学中的重要工作。传统的考核方法或者只是由学生填写调查表,给教师划分等级,进行定性描述,或者是由督导组根据几堂课的听评给教师的课堂教学打出一个分值。无论是哪种方法都不能全面客观地对教学工作做出科学评定。而且传统的考核方法受主观因素影响较大,学生在对教师的评判中常会加入多种因素,各种因素之间的影响也各不相同,仅以学生或仅凭督导团的评定来实施评判显然已不尽合理。因此, 建立一种能尽量排除各种主观因素的干扰,同时又具有完善且稳定的评价体系的评定方法则成为必要和重要的研究课题。
本文构建一种教学效果评价体系,即对教师的评价从“教学态度”、“教学内容”、“教授方法”、“课堂效果”四大方面分项进行,无论是学生还是督导组均可据此评价体系给出相应评分。本文提出使用BP反向传播神经网络来构建一个稳定的评分系统,各项评分指标为网络输入,使用已训练完成的BP神经网络来模拟一个专家的打分经验,由此输出一个终值。BP神经网络通常是指基于误差反向传播算法的多层前向神经网络,由于BP网络的神经元采用的传递函数是Sigmoid型可微函数,因而可以实现输入和输出间的任意非线性映射[1]。由于BP神经网络本身就是一种高度复杂的非线性动力系统的辨识模型,并且BP神经网络具有逼近任意非线性函数的能力[2],因此使用BP神经网络进行评价将使结果更具客观性,以此来模拟一个稳定的评分系统亦将具备了现实实现基础。在本文提出的系统中,系统将评价体系中各组评分的分值作为反向传播神经网络的输入,使用BP网络运算后得出一个综合性的评分,即整个过程好似系统模拟一个经验颇丰的专家进行打分。其后,本文又通过数据测试验证了模型的评价结果与实际相符。
1BP神经网络模型
BP(Back Propagation)神经网络是基于误差反向传播的多层前向神经网络,即权值和阈值的调节规则采用了误差反向传播算法,这是一个有导师的神经元网络学习算法[2]。BP网络能学习和存储大量的输入输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。该网络的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。其中的隐层可扩展为多层。只要在隐层中有足够数量的神经元,就可使用这种网络来逼近任何一个函数[3]。一个典型的BP网络结构如图1所示。
2评价模型的构建
本文构建了一套评价体系,使用一套客观标准进行量化表达,且该体系适用于大多数学校的教学评价。评价项目中,各项指标的取值范围为[0,10]。多位专家将根据评价体系方案为每一位参评教师填表打分,经过汇总后,每一个教师的教学情况评分将和一个评价矩阵A对应。列向量x为各个项目指标,行向量e为各位专家评出的各项指标分值。对列向量进行均值计算,则得到各个教师的教学效果指标向量S。所得教学效果指标向量S即是神经网络的输入。评价体系方案设计如表1所示。
表1教师教学评价体系
Tab.1 The system of teaching evaluation类别项目教学态度严谨负责x0; 思想教育x1;教学内容教学目标x2; 准确度x3; 熟练程度x4; 信息量x5;教授方法启发思维x6; 讲授思路x7;重点难点x8;联系实际x9;教学仪态x11;语言表述x12;媒体使用x14课堂效果课堂纪律x15;学生思维x16 图2则为一个由6名专家给出的某位教师教学效果的评分矩阵。
3BP网络模型的设计与实现
使用BP神经网络可以构建稳定的评分系统。人为打分时由于主观因素的影响,分值出入较大,往往不能准确地反映实际情况,为了避免对同一教师的教学评价出现较大反差,构建一个稳定的BP神经网络系统即已成为实践发展过程中的一个必然要求。在系统实现过程中,一位专家首先根据本文提出的评分系统给出各项成绩,并将此成绩作为神经网络的输入值。其后,这位专家再给出一个综合评分,作为神经网络的样本,即输出值,以此即可对BP网络进行训练。训练后的神经网络就可以模拟该专家的打分经验,由此构建形成一个稳定的评分系统。
根据BP神经网络模型的定理(Kolmogrov 定理):给定任一连续函数f:[0,1]nRn,f可以用一个三层前向神经网络来模拟实现。第一层,即输入层,有n个神经元;中间层,神经元个数可由经验公式实验得出;第三层,输出层有m个神经元。因此一个三层结构的、设有Sigmoid神经元,并具有足够隐节点的BP神经网络则可以逼近任何一个连续函数。本系统采用有三层结构的BP神经网络,其结构如图1所示。由于评价体系中有17个指标,因此网络的输入层有17个输入。系统的输出层则确定为1个节点。隐层神经元个数将根据实验结果而确定为11个。隐层传递函数可使用“lognsig”对数传递函数实现,输出层传递函数使用“pureline”纯线性传递函数实现。训练函数则使用“traingdm”动量梯度下降反向传播法对网络进行训练,另外,网络性能函数使用了默认的“mse”均方误差函数。MATLAB中的主要代码如下:
设有10位教师需要评分,因而使用10组分数即17×10的矩阵作为10个教师的教学效果矩阵。教学效果矩阵即是神经网络的输入矩阵,亦是训练样本,矩阵的行向量为各项评价指标,10个样本,即10位教师的最终评价结果则作为目标样本来训练神经网络,获取1×10矩阵为目标矩阵,即10位教师的最终得分。实验中运用Matlab编程建立三层BP神经网络,目标训练误差为0.1,最大训练次数为 3 000次。训练误差随训练次数的变化情况如图3所示,神经网络经过909步迭代达到精度要求。对应输出与目标的误差如图4所示。
训练样本的输出与专家打分结果比较如表2所示。
由表2可以看出,训练后的网络输出值与专家给出的终值之间的差异均在可接受的指标范围内,因此采用BP神经网络可以构建稳定的评分系统。
4结束语
在对教师教学效果的评价中存在着多种因素,本文构建了一套较为合理的评价体系,并且提出使用BP神经网络对专家评分进行模拟,利用神经网络可避免打分过程中出现的宽严不定的情况。实验证明,BP神经网络可以构建稳定的评分系统,并取得了良好的实验效果。
参考文献:
[1]许东. 吴铮. 基于Matlab 的系统分析与设计—神经网络[M]. 西安:西安电子科技大学出版社,2003:18-19.
[2]胡守仁. 神经网络导论[M] . 长沙:国防科技大学出版社,1993 :113 - 120.
[3]Martin T. Hagan, Howard B.demuth. 神经网络设计[M]. 北京:机械工业出版社 ,2002:227-255.
[4]郭齐胜. 系统建模原理方法[M]. 长沙:国防科技大学出版社,2003:172-173.
[5]袁剑. BP神经网络在学生综合考评中的应用[J]. 福建电脑,2010(6).
篇4
【关键词】时间序列预测;迟滞神经网络;商品价格预测
1.前言
本文提出将电生物学中的迟滞特性引入传统的神经网络中,构建前向型迟滞神经网络,以达到改善预测模型泛化能力和联想记忆能力的目的。
之后将迟滞神经网络模型应用到商品价格指数预测上,并得出更准确的预测效果。
商品零售价格指数是反映一定时期内城乡商品零售价格变动趋势和程度的相对数。商品零售价格指数的预测对企业的经营决策具有重要的参考价值。
2.前向型迟滞神经网络模型
2.1 前向型迟滞神经网络激励函数
将迟滞神经元引入前向型神经网络,同时使用两个Sigmoid函数组成激励函数如式所示:
其中,a、b作为Sigmoid函数的中心值,c1、c2表示函数图形。在神经元中包含的值在未来若是增加的话,激励函数取上升阶段的函数;反之,激励函数取下降阶段的函数。未来的值不变时,神经元出现跳变,避免出现驻留状态,从而提高学习效率。
2.2 前向型迟滞神经网络
迟滞神经元模型可以表述成公式:
其中,x是时间t的输出,I0表示二值神经元的输入,y表示神经元的状态,参数α表示自反馈的增益系数。将迟滞神经元应用在前向型神经网络中,前向型神经网络具有的特性在迟滞前向型神经网络中也具有。迟滞神经网络中a、b的值能提高神经网络的联想记忆能力和非线性性能。
激励函数由两个平移的Sigmoid函数组成,参数a和b是两个Sigmoid函数的中心参数,参数c1和c2是形状参数。上述激励函数在(-∞, +∞)区间内构成了一个迟滞环,激励函数的响应与历史输入有关,激励函数对历史状态具有记忆特性。当神经元的输入状态由增加变为减小,或由减小变为增加时,激励函数将在两条分支曲线间跳变,权值调节率较大,由此抑制了假饱和现象的发生,易于网络的训练和泛化能力的提高。
采用上述激励函数,构造与BP神经网络相似的迟滞前向型神经网络如图1所示:网络输入层神经元数量为m,输出层神经元数量为n,隐含层神经元数量为l,fi为迟滞函数,同时采用误差反向传播方法训练网络参数,进行时间序列预测分析。由此构造的神经网络具有良好的记忆特性体现出良好的泛化能力。
图1 迟滞前向型神经网络结构图
2.3 前向型迟滞神经网络流程
前向型迟滞神经网络采用误差反向传播算法,前向型迟滞神经网络的计算过程流程图如图2所示:
图2 前向型迟滞神经网络流程图
使用迟滞神经元组成的前向型迟滞神经网络的计算流程将普通的激励函数变成迟滞激励函数,再进行计算、网络训练等,直到误差达到要求。
3.迟滞神经网络在商品价格指数预测的应用
商品零售价格指数是反映一定时期内城乡商品零售价格变动趋势和程度的相对数。商品零售价格指数的预测对企业的经营决策具有重要意义。
采用上述迟滞神经网络对我国社会商品零售价格指数进行预测分析。令输入层神经元为10,输出层神经元为30,隐含层神经元为1。以1950年为基准折算获得的定基数据,将《中国统计年鉴》中的社会商品零售价格指数作为实验数据进行仿真实验。在实验过程中,将前30个数据作为训练样本进行训练,达到指定次数后,预测下一个数据,并根据预测误差重新进行训练,达到指定次数后再预测下一个数据,以此类推所得实验结果预测曲线如图3所示:
图3 我国商品零售价格指数预测结果
从实验结果可见,迟滞神经网络与传统神经网络对训练样本的逼近能力相差不多,对测试样本的泛化能力差别较大,迟滞神经网络具有更小的平均误差。在时间序列变化较为平缓的区间,两者预测误差都较小,在序列变化激烈的区间,预测误差变大。从总体效果来看,迟滞神经网络由于具有更好的存储记忆能力,更好的泛化能力和预测效果,能够有效地实现对商品零售价格指数的预测分析。
参考文献
[1]LI G C,WU T,XU S.Prediction model of population gross based on grey artificial neural network and its puter Engineering and Applications,2009,45(16):215-218.(李国成,吴涛,徐沈.灰色人工神经网络人口总量预测模型及应用[J].计算机工程与应用,2009,45(16):215-218).
篇5
关键词关键词:MATLAB编程;数字识别;图像处理;神经网络
DOIDOI:10.11907/rjdk.162852
中图分类号:TP319
文献标识码:A文章编号文章编号:16727800(2017)005004704
0引言
图像识别是一项利用计算机对图像进行处理、分析和理解,以识别各种不同模式目标和对象的技术[1]。图像识别技术目前还不能达到人类的认知水平,但在特定应用环境中,可以通过模式识别或者神经网络的方法来对图像中的事物进行分类判断。一般而言,一个数字字符识别系统主要由3个部分组成,如图1所示。
图1系统组成
其中,预处理模块将图片格式(例如JPG格式)转换为计算机能识别的二进制数据流;图像处理模块则实现图像采集与转换、边缘提取、归一化等功能;字符识别模块可以由两种方法实现:模式识别或者神经网络方式,本文系统采用神经网络方式。
1识别目标及预期结果
此系统识别目标是在没有强干扰下,系统能够准确识别出图片中的0~9这10个数字。示例图片如图2所示。
系统识别中所用到的含单个数字的图片取自图2,均为纯色背景(不一定必须为白色背景)图片,且图片中数字图像无较大噪声干扰。系统经过一系列处理后,能成功识别,给出识别结果,并且给出处理过程中各个阶段的图片,以便更好地理解图像处理过程。
2预处理
预处理是将图片二值化的过程。预处理的目的简单来说就是把彩色图片处理为计算机更好处理的二进制数据流。预处理的过程主要分两部分:彩色图转灰白图,灰白图转二进制矩阵形式数据。
目前用于彩色图转换为灰度图的基本算法主要有:最大值法、平均值法、加权法,本文采用加权法。加权法的主要思想是设当前像素的三分量分别为R,G,B,然后利用公式(1)得到转换后的像素分量值:
GRAY=0.3*R+0.59*G+0.11*B(1)
在MATLAB中,函数img2gray就是采用加权法实现的。图像二值化就是将图像像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。二值化的处理过程是将图像中有意义的特征和需要应用的特征进行分割,利用前景和背景灰度特性的差异,低于阈值的像素设定为一个灰度值,高于阈值的像素设定为另一个灰度值。这样可将前景色与背景色以明显差异的灰度级区分开来[2]。阈值选取有手动选取和自适应选取两种方法。MATLAB中图像二值化的实现主要依靠im2bw函数来实现。图像二值化过程中,最重要的是阈值变换。比如数组a=[120,254,0,200,99],设定一个阈值125,并对a进行阈值变换,那么a中凡是大于125的,则变为255,小于等于125的则变为0。具体对临界情况处理可能不同,不过MATLAB中im2bw函数是按照上述方法处理的。a经过阈值变换后变为[0,255,0,255,0]。在MATLAB中使用im2bw函数进行图像二值化处理时(将图像转换为二值图像),人为设定阈值并不总是十分有效。MATLAB工具箱提供了graythresh函数[3]。该函数使用最大类间方差法得到一个阈值,利用这个阈值进行图像二值化通常有效。
经过预处理后得到的二值化图像,还要经过一系列图像处理过程,才能用于神经网络训练。
3图像处理
图像处理的目的是将图片变为神经网络能处理的数据流。图像处理流程如下:
(1)利用梯度锐化。使得图像更加突出,以便分析。算法:当前点像素值与其下一个像素值之差的绝对值,加上当前点像素值与其下一行当前像素值之差的绝对值,如果结果大于阈值,则当前像素值置为此结果。
(2)去除离散噪声。利用递归方法查找当前像素8个方向是否存在黑色像素,这里设置连续长度为15,如果用递归方法得到连续像素值大于15,则认为不是噪声;相反,则认为是噪声,则置为白色像素。
(3)字符倾斜度调整。尽量保存每个字符的位置一致。
(4)分割字符。找出每个字符的区域,用矩形记录,记录每个字符矩形数据。
(5)字符归一化。根据图像预处理准备阶段设置的归一化标准,把每个字符的区域进行归一化,使得所有字符区域矩形一样大,只是位置不一样。
(6)字符紧密排列。把所有字符紧密排列,以备识别使用。
本文示例样本图片中只有单个数字,且无较大干扰,所以不需要去除离散噪声、字符倾斜度调整、分割字符和字符紧密排列等步骤。经过预处理的图像数据,只需要进行锐化和归一化处理,就可以用于神经网络训练。
图像梯度锐化的目的是使原来的模糊图像变得清晰。MATLAB中使用的梯度函数为gradient函数。Gradient(F)函数求的是数值上的梯度,计算规则:[Fx,Fy]=gradient(F),其中Fx为其水平方向上的梯度,Fy为其垂直方向上的梯度,Fx的第一列元素为原矩阵第二列与第一列元素之差,Fx的第二列元素为原矩阵第三列与第一列元素之差除以2,以此类推,如公式(2)。
最后一列则为最后两列之差。同理,可以得到Fy。
归一化就是把需要处理的数据经过处理后(通过某种算法)限制在要求范围内。对于图像处理中的w一化而言,就是将所有数字图像中的字符归化成为一个具有同一高度、同一宽度的图像,也即让其中的字符具有同样规格。MATLAB中用于实现图像矩阵归一化功能的函数是mat2gray函数[5]。该函数在数字图像处理中经常用到,归一化的具体流程如图4所示。
经过归一化处理之后的图片数据,将其存储在一个矩阵中,用于神经网络的训练。
4神经网络训练
人工神经网络算法主要有两种:一种是先对待识别字符进行特征提取,然后用所获得的特征来训练神经网络分类器[6];另一种方法是直接把待处理图像输入网络,由网络自动实现特征提取直至识别出结果。前一种方法识别结果与特征提取有关,而特征提取比较耗时。因此,特征提取是关键。后一种方法无需特征提取和模板匹配,随着相关技术的进步,这种方法更实用。
神经网络有许多种,在MATLAB中已经有集成神经网络工具箱。本文系统中,对数字图像的识别采用BP神经网络来进行训练。BP神经网络为前馈神经网络,网络的学习状态为有导师学习状态。它是一种具有学习能力和记忆能力的神经网络,主要由输入层、中间层、输出层3个部分组成。输入层、中间层和输出层可以具有不同数量的节点,具体数量随需求而定,没有具体的标准。单层神经网络结构如图6所示。
BP神经网络是误差反传误差反向传播算法的学习过程,由误差的反向传播和信息的正向传播两个过程组成[7]。输入层各神经元首先接收来自外界的输入信息,然后传递给中间层各神经元;输入信息经过中间层内部信息处理,实现信息变换,按照信息变化能力需要,中间层可以布局成多隐层或者单隐层结构;最后,一个隐层传递把信息传递给输出层,通过进一步处理,实现一次学习的正向传播处理过程,输出层把信息处理结果输向外界。当输出结果和预先期望效果不符时,就进行误差反向传播。误差通过输出层,根据误差梯度下降的方式改变各层权值,由隐层向输入层依次反传。多次交替的信息正向传播和误差反向传播过程,是各层连续修正的过程,也是神经网络学习训练的过程,这个步骤一直执行到最终输出的误差降低到能够接受的范围,或者预先输入的学习次数为止。
此系统中所使用的神经网络在中间层设置25个节点,1个输出节点。此系统采用三层神经网络来实现。采用s型对数函数logsig作为隐含层各神经元的传递函数,并采用纯线性函数purelin作为输出层各神经元的传递函数。此神经网络的训练函数采用traingdx,学习模式函数为learngdm。训练步数最长设为5 000,性能目标设为0.001。
神经网络模块的部分代码如下:
net=newff(pr,[25 1],{'logsig' 'purelin'},'traingdx','learngdm');
net.trainParam.epochs=5000;
net.trainParam.goal=0.001;
pr为前面图像处理所获得的矩阵数据。
神经网络的训练结果如图7所示。神经网络的性能曲线如图8所示。
5用艚换
考虑到该系统具有一定交互功能,让用户能自主选择需要识别的图片,向系统中添加如下代码段:
test=input('请输入用于测试的图片编号:','s');
x=imread(test,'jpg');
开始运行时,会提醒用户选择需要识别的图片编号,效果如图9所示。
用户输入需要识别的图片序号后,系统给出识别结果和图像处理各阶段中的图片,此处用subplot函数来实现一个窗口中显示多张图片的效果,部分代码如下:
6结语
通过样本识别验证,本文数字识别系统具有一定识别精度。本系统基本做到样本图片的100%识别,对于其它只有单数字的图片,经过训练之后,也能准确识别。本系统实现了部分人机交互功能,能让用户自主选择需要识别的图片,并输出识别结果和各个处理过程中的图片。
参考文献参考文献:
[1]冈萨雷斯.数字图像处理(MATLAB版)[M].阮秋琦,译.北京:电子工业出版社,2006.
[2]梁路宏,艾海舟,徐光佑,人脸检测研究综述[J].计算机学报,2002,25(5):449458.
[3]罗华飞.MATLAB GUI设计学习手记[M].北京:北京航空航天大学出版社,2009.
[4]聂影.MATLAB软件应用研究[J].软件导刊,2014,13(7):102104.
[5]赵春兰.《MATLAB软件应用》课程教学浅析[J].科技创新导报,2015(22):178179.
篇6
股票市场是一个非线性的系统,本文基于BP神经网络,以1998年~2008年的上证股市大盘增幅数据作为训练,对以后的一年多数据进行验证,以证实神经网络对股市的预测。
[关键词]BP神经网络股票市场预测验证
一、 神经网络概述
人工神经网络是由大量处理单元广泛互联而成的网络,是对人脑的抽象、简化和模拟,反映人脑的基本特性,它与人脑的相似之处概括为两个方面:一是通过学习过程利用神经网络从外部环境中获取知识;二是内部神经元(突触权值)用来存储获取的知识信息。
一般的神经网络都是可调节的,或者说可训练的,这样一个特定的输入便可得到要求的输出。如图1.1所示:
图1.1 输入/目标对应的方法图
1.人工神经元
人工神经元是生物神经元的模拟与抽象,是构成人工神经网络的基本单元,因此构造一个人工神经网络系统,首先要构造人工神经元模型。一个具有n个输入分量的单个神经元模型如图所示:
图1.2 单 个 人 工 神 经 元 模 型
人工神经元的三个基本要素:
(1)一组连接,连接强度由各连接上的权值表示,权值为正表示激活,为负表示抑制。
(2)一个求和单元,用于求取各输入信号的加权和。
(3)一个非线性激活函数,起非线性映射作用并将神经元输出幅度限制在一定范围内(一般限制在[0, 1或[-1, +1]之间)。
此外还有一个偏差,即与阈值θ
人工神经元相当于一个多输入单输出的非线性阈值器件。这里 的表示它的n个输入,表示与它相连的n个突触的连接强度,对应于生物神经细胞的膜电位;o表示这个人工神经元的输出;θ表示这个人工神经元的阈值.如果输入信号的加权和超过θ,则人工神经元被激活。这样,人工神经元的输出可描述为,式中,表示神经元的输入输出关系的函数称为激活函数或输出函数。
人工信息元的信息处理过程分为三个部分,首先完成输入信号与神经元连接强度的内积运算,然后再将结果通过激活函数,再经过阈值的判断,如果输入值大于阈值门限,则神经元被激活,否则处于抑制状态。
2.人工神经网络模型
人工神经网络是由大量的神经元按照一定的模式(层内连接、循环连接和层间连接)相互连接而成的。按一定规则将神经元连接而成神经网络,才能实现对复杂信息的处理与存储。经过几十年的兴衰,人们己经发展了上百种人工神经网络,但大部分网络都是几种典型网络的变形和组合。一般地说,人工神经网络的连接形式和拓扑结构可分为两大类:即分层型和互联型神经网络。分层型神经网络又分为简单的前馈网络、反馈型前馈网络、和内层互联前馈网络。
二、 BP网络理论
1.BP网络概述
目前,在众多神经网络中,误差反向传播(Error Back Propagation)网络由于其良好的逼近能力和成熟的训练方法而得到了最为广泛的应用。BP网络由Rumelhat等人于1985年建立,它是一种多层前馈神经网络,由一个输入层、一个输出层和若干个隐含层所组成。位于同一层的单元之间不允许有连接,各层的单元只能向高层的单元输出激活信号。BP算法是用于前馈多层网络的学习算法,前馈多层网络的结构一般如图2.1所示
BP网络含有输入层、输出层以及处于输入输出层之间的中间层。中间层有单层或多层,由于它们和外界没有直接的联系,故也称为隐层。在隐层中的神经元也称隐单元。隐层虽然和外界不连接.但是,它们的状态则影响输入输出之间的关系。这也是说,改变隐层的权系数,可以改变整个多层神经网络的性能。
2. BP网络的学习过程
BP网络采用有教师的学习规则,其算法的核心是通过一边向后传播误差,一边修正误差的方法来不断调节网络参数(权、阀值),以实现或逼近所希望的输入、输出映射关系。它对每一个学习过程进行两趟传播计算
(1)工作信号正向传播
输入信号从输入层经隐含层,在输出端产生输出信号。在信号的向前传递过程中网络的权值保持不变,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转入误差信号的反向传播。
(2)误差信号反向传播
网络的实际输出与期望输出之间差值即为误差信号,误差信号由输出端逐层向前传播。在误差信号反向传播的过程中,网络的权值由误差反馈进行调解。通过权值的不断修正使网络的实际输出更接近期望输出。
3.BP算法的改进
在实际应用中,传统的基于标准梯度下降法的BP算法在求解实际问题时很难胜任。为此,人们在标准BP算法的基础上进行了许多有益的改进,主要目标是为了加快训练速度,避免陷入局部极小值和改善其能力。改进后的BP网络的训练收敛速度比标准梯度下降法快数十倍乃至数百倍。
BP算法的改进分为两类,一类是基于标准梯度下降法的算法改进,如动量、自适应学习速率法、弹性BP法等;另一类是基于数值优化方法的改进,如共轭梯度法、拟牛顿法、LM算法等。这里介绍最常用的两种方法:动量法、自适应学习速率法。
(1)附加动量的BP算法
标准BP算法的权值调节公式为,式中,为本次权值校正量,k为训练次数,为学习速率,为节点误差,为该节点相应的输入值。
附加动量法每一次对连接权或输出阈值进行校正时,按一定比例加上前一次学习时的校正量,即动量项,由此加速网络学习的收敛速度。具体做法是,上式中,mc为动量因子(0
该方法是在反向传播法的基础上在每一个权值的变化上加上一项正比前次权值变化量的值,并根据反向传播法来产生新的权值变化。
附加动量法的实质是将最后一次权值的影响,通过一个动量因子来传递。当动量因子取值为零时,权值的变化仅是根据梯度下降法产生;当动量因子取值为1时,新的权值变化则是设置为最后一次权值的变化,而依梯度法产生的变化部分则被忽略掉了。以此方式,当增加了动量后,促使权值的调节向着误差曲面底部的平均方向变化,当网络权值进入误差曲面底部的平坦区时,将变得很小,于是,从而防止了的出现,有助于使网络从误差曲面的局部极小值中跳出。
根据附加动量法的设计原理,当修正的权值在误差中导致太大的增长结果是,新的权值应被取消而不被采用,并使动量作用停止下来,以使网络不进入较大误差曲面;当新的误差变化率对其旧值超过一个事先设定的最大误差变化率时,也得取消所计算的权值变化。其最大误差变化率可以是任何大于或等于1的值。典型的值取1.04。所以在进行附加动量法的训练程序设计时,必须加进条件判断。
训练程序中对采用动量法的判断条件为:
式中,k为训练次数,SSE为网络误差平方和。
附加动量的引入可使网络在修正其权值时,不仅考虑局部的梯度信息,而且考虑误差曲面最近的变化趋势,其作用如同一个低通滤波器,它允许网络忽略网络上的微小变化特性。在没有附加动量的作用下,网络可能陷入浅的局部极小值,利用附加动量的作用则有可能滑过这些极小值 。
(2)自适应学习率调整的BP算法
在标准BP算法的权值调节公式中, 是步长,表示学习速率,在训练过程中始终保持不变。对于一个特定的问题,要选择适当的学习速率不是一件容易的事情。通常是凭经验或实验获取,但即使这样,对训练开始初期功效较好的学习速率,不见得对后来的训练合适。为了解决这一问题,人们希望在训练过程中,自动调整学习速率。通常调节学习速率的准则是:检查权值的修正值是否真正降低了误差函数,如果确实如此 ,则说明所选取的学习速率可能小了,可以对其增加一个适当的量,若不是这样,而产生了过调,那么就应该减小学习速率的值。
自适应学习率调整的基本思想是:在保持训练稳定的前提下,使每次用于修正权值的迭代步长尽可能大。较大时,权值的修改量较大,学习的速率就比较快,但有时可能产生振荡,即误差 总不能小于某个特别小的值。而当取较小值时,学习的速率就较慢,但一般比较平稳,将使计算量变得很大。自适应学习率调整这一策略在误差增加不太大的范围内,能提高学习速率,在局部区域内获得有一个近最优的学习速率,从而得到比标准BP算法更快的收敛速度。
下式给出了一种自适应学习速率的调整公式
式中,k为训练次数,SSE为网络误差平方和。
初始学习速率的选取范围可以有很大的随意性。
与采用附加动量时的判断条件相仿,当新误差超过旧误差一定的倍数时,学习速率将减小,否则其学习速率保持不变;当新误差小于旧误差时,学习速率将被增加。此方法可以保证网络总是可以以最大可接受的学习速率进行训练。当一个较大的学习速率仍能够使用网络稳定学习,使其误差继续下降,则增加学习速率,使其以更大的学习速率进行学习。一旦学习速率调得过大,而不能保证误差继续减少,则减少学习速率直到使其学习过程稳定为止。
4.提高网络的推广能力
推广能力(Generalization)是衡量神经网络性能好坏的重要标志。所谓推广能力,就是指神经网络对训练样本以外的新样本数据的正确反映能力。一个“过度训练”(overtraining)的神经网络可能会对训练样本集达到较高的匹配效果,但对于一个新的输入样本矢量却可能会产生与目标矢量差别较大的输出,即神经网络不具有或具有较差的推广能力。
网络设计完成后,要运用样本集进行训练。对推广能力的测试不能用训练集的数据进行,而要用训练集以外的测试数据来进行检测。一般的做法是,将训练集的可用样本随机的分成两部份;一部分作为训练集,一部分作为测试集。隐层 结点数一定的情况下,为了获得好的推广能力存在一个最佳训练次数。
三、 基于BP神经网络的股市验证
我们选取上证股市大盘在1998年3月10号到2009年12月2号间的大盘每日涨幅数据作为训练样本和预测样本,训练样本区间选择1998年3月10日-2008年5月21号,共2466个大盘每日涨幅。预测样本为2008年5月22号-2009年12月2号的大盘每日涨幅,共375个数据。
为了加快网络的收敛性,我们对收益率数据进行归一化处理,采用MATLAB的premnmx函数,将收益率数据变成的取值为(-1,1)之间的数据。网络训练和仿真完成后再采用MATLAB的postmnmx函数将数据反归一化变成实际需要的收益率数据。
1.网络结构设计
神经网络结构设计主要需要确定输入输出的节点数、网络层数、隐层节点数等。由于上证综指收益率数据具有混沌特性,根据 《证综指日收益率的混沌特性》这个论文得相空
其中取时间延迟τ=25,嵌入维数m=12。网络的输入节点数取嵌入维数12,将作为输入。网络的输出节点数取1,目标输出
为。
网络层数:1989年Robert Hecht-Nielson证明了对于任何在闭区间内的一个连续函数都可以用一个隐层的BP网络来逼近,因而一个三层的BP网络可以完成任意的N维到M维的映射。基于以上定理我们一般选取一个隐层的BP网络就可以了。增加层数主要可以更进一步的降低误差,提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间。而误差精度的提高实际上也可以通过增加隐层中的神经元数目来获得,其训练效果也比增加层数更容易观察和调整。
隐层神经元的选取:隐层神经元的作用是从样本中提取并存储其内在规律,每个神经元有若干个权值,而每个权值都是增强网络映射能力的一个参数。网络训练精度的提高,可以通过采用一个隐层,而增加其神经元数的方法来获得。这在结构实现上,要比增加更多的隐层要简单的多。
那么究竟选取多少个隐层节点才合适?神经元数量太少,网络从样本中获取信息的能力就差,不足以概括和体现样本规律;神经元数量过多,又可能把样本中非规律性的内容,如噪声等也学会记牢,从而出现所谓“过度吻合”问题。因此,如何确定一个适当的神经元个数是我们要着重考虑的问题。Gorman曾认为隐点数s与模式数N的关系为s=log2N,但大多数情况并非如此,网络修剪与增长方法都是根据网络收敛性能的好坏来决定隐点节数的增减,不仅具有很大的盲目性,而且是很费时间的过程。江苏理工大学信息科学研究所的高大启教授在他的论文《有教师的线性基本函数前向三层神经网络结构研究》中给出了三层网络的隐点数经验公式,其中,s为隐点数,m为输入节点数,n为输出节点数。在实际应用,由这个公式确定的隐点数效果较好。本文中m=12,n=1,求出隐层节点数s=7。
网络激活函数的选取:由于归一化后的数据的取值范围在(-1,1)之间,所以本文采用双曲正切S型函数
网络的训练方法:采用将附加动量法和自适应学习率法结合起来使用的改进的BP算法。
2.网络训练与仿真
本文运用MATLAB程序对上文设计好的神经网络进行训练,训练样本区间选择1998年3月10日-2008年5月21号,共2466个大盘每日涨幅,如图1.10。
将训练好的神经网络模型用于仿真2008年5月22号-2009年12月2号的大盘每日涨幅,共375个数据。得到的预测值与真实值见附录,图形见图1.11。
图3.2 神经网络预测值与真实值图
四、 总结和展望
目前,非线性经济学在资本市场定价方面的研究仍在不断发展中,研究热点主要集中在两个方面:一是对股票价格是否存在非线性甚至是混沌的诊断研究;二是试图建立非线性模型来研究股票价格定价及其变动。迄今为止。资本市场上存在非线性的现象得到较广泛的实证支持。但是否存在混沌,还存在较多的疑问,并没有得到最终的定论。但无论如何。非线性经济学对传统经济学基础的挑战是不容忽视的,它为资本市场定价的研究开辟了一个新的视野,使资本市场的定价行为的研究更接近这种行为本身的真实状况。因此,它在很大程度上预示着资本市场定价理论的未来发展的一个方向。
参考文献:
[1]陈其安,杨秀苔:中国股市的收益分布特征[J]. 统计与决策. 2005,04: 110-112
[2]杜修立:涨跌幅限制对中国股市结构及有效性的经验分析[J]. 财经问题研究. 2006,12:54-58
[3]杨再斌:我国证券市场股价运动非线性特征检验[J]. 上海立信会计学院学报. 2006,7:78-83
[4]葛哲学孙志强:神经网络理论与matlab2007实现[M]. 电子工业出版社. 2008年5月
[5]黄诒荣:中国股市分形结构:理论与实证[M].中山大学出版社. 2006.3月
篇7
关键词:人工神经元网络;BP神经网络;matlab;识别分类
中图分类号:TP391.41文献标识码:A文章编号:1007-9599 (2010) 16-0000-02
Artificial Neural Network Application on Face Classification
Liang Xiaoli
(Heilongjiang Radio&TV University,Harbin150080,China)
Abstract:In the face recognition technology is developing continuously,people not limited to recognize the human face,but the main emphasis on the accuracy and efficiency of face recognition.
Face recognition is divided into three steps,face detection,feature extraction,recognition category,identification and classification of the methods in which the decision of whether to correctly identify the human face.BP neural network with forward propagation and back propagation characteristics,so as to ensure the accuracy of classif-
ication,Therefore,the main author of this article how to MATLAB,the BP neural network used in face recognition classification.
Keywords:Artificial neural network;BP neural network;Matlab;
Recognition category
人工神经元网络,又称为神经元网络,它是对人脑的简化、抽象和模拟,反映了人脑的基本特性神经元网络是由大量处理单元广泛互连而成的网络。神经网络研究的是模拟人脑信息处理的功能,从人脑的生理结构出发来研究人的智能行为。是依托于数学、神经科学、物理学、计算机科学及工程等学科的一种综合性技术。
一、人工神经网络的分类
我们可以对人工神经网络进行如下分类:
(一)单层的前向神经网络
这里所说的单层前向网络是指拥有单层的神经元是,作为源节点个数的“输入层”被看作是一层神经元,“输入层”是不具有计算功能。
(二)多层的前向神经网络
多层前向神经网络与单层前向神经网络的差别在于:多层的前向神经网络和单层前向神经网络的隐含层个数不同,在多层的前向神经网络中完成计算功能的节点被称为隐含单元(隐含神经元)。由于隐层的数量不同,使网络能进行更高序的统计,尤其当输入层规模庞大时,隐层神经元提取高序统计数据的能力便显得非常重要。
(三)反馈网络
反馈网络指在网络中最少含有一个反馈回路的神经网络。反馈网络中包含一个单层神经元,在这一层中的所有的神经元将自身的输出信号反馈给其他所有神经元作为输入。
(四)随机神经网络
随机神经网络是在神经网络中引入了随机概念,每个神经元都是按照概率的原理在工作,这样每个神经元兴奋或抑制具有随机性,其概率取决于神经元的输入值。
(五)竞争神经网络
竞争神经网络最显著的特点是它的输出神经元之间相互竞争以确定胜出者,胜出者指出哪一种原型模式最能代表输入模式。
二、神经网络的学习
神经网络的学习又被称为训练,所指的是通过神经网络所在外界环境的刺激下调整神经网络的参数,使得神经网络以一种调整好的方式对外部环境做出反应的过程。从环境中学习和在学习中提高自身性能是神经网络最有意义的特征了。
学习方式可分为:有师学习和无师学习。有师学习又称为有监督学习,在学习时需要给出指导信号(又可称为期望输出或者响应)。神经网络对外部环境是未知的,但可以将指导信号看作对外部环境的了解,由输入―输出样本集合来表示。指导信号或期望输出代表了神经网络执行情况的最佳结果,即对于网络输入调整网络参数,使得网络输出逼近期望的输出值。无师学习包括强化学习与无监督学习(可以被称为自组织学习)。在强化学习中,对输出的学习是通过与外界环境的连续作用最小化完成的。
三、BP神经网络
BP(Back Propagation)神经网络,就是指包含信息正向传播和误差反向传播算法的学习过程。输入层的每一个神经元负责接收来自外界的输入信息,并传递给中间层中的每一个神经元;中间层的各个神经元是内部信息处理层,负责信息变换,可以设计为单隐层或者多隐层结构;最后隐含层传递到输出层的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不相符时,进入误差的反向传播阶段。误差通过输出层作用于输入层,按误差梯度下降的方式分别修正各层权值,逐渐向隐含层和输入层反传。多次的经过信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也就是神经网络学习训练的过程,此过程一直进行到网络的输出误差减少到可以被接受的程度,或者达到预先设定的学习次数才会停止。
四、实验过程及结果
本文中假设已经用奇异值分解得到人脸特征点的数据,每个人脸划分为五部分,每部分又得到5个特征值,所以也就是25个的特征值。本文采集了50个人人脸,每人采集10张不同姿态下的照片,也就是500张照片,对这些照片进行人脸检测并进行奇异值分解,得到每张照片对应的25个特征值,从每人10张照片中随机抽出5张用于训练出不同的姿态下的人脸,另外的5张用作测试样本。
(一)实验过程
由于数据过长,本文只以2个人,每人2张照片作为的训练样本数据为例来说明。
第一步:训练样本(每人25个特征值),在p是一个25行,4列的矩阵,每一列代表一个人的25个特征值,属于一个样本;列数4表示样本总数;
p=[ 7.4264 9.0728 7.9825 9.5632;
7.5719 7.8115 6.5564 7.8561;
12.8074 12.7073 12.4536 11.5423;
9.0284 10.3744 8.7569 9.9965;
7.0083 9.0284 7.1254 8.8876;
1.2597 2.1578 1.3556 3.0112;
0.6896 0.7835 0.7859 0.9658;
0.7814 0.8818 0.7568 0.8213;
1.0248 1.6783 1.1542 1.5234;
1.0112 1.0248 0.9568 0.9652;
1.0427 1.0813 1.0425 0.9568;
0.5970 0.5886 0.5968 0.5889;
0.4928 0.5969 0.3569 0.6012;
0.6438 0.6417 0.6589 0.5612;
0.3563 0.6438 0.2534 0.6689;
0.4474 0.4235 0.4568 0.4236;
0.2483 0.2282 0.2253 0.2259;
0.3633 0.4616 0.3102 0.4556;
0.3383 0.4167 0.3561 0.3456;
0.3130 0.3383 0.3302 0.3359;
0.3378 0.3313 0.3219 0.3569;
0.1916 0.1767 0.1564 0.1952;
0.2356 0.3422 0.2355 0.3012;
0.2088 0.3268 0.1958 0.3568;
0.1858 0.2088 0.0956 0.1968;];
第二步:目标输出矩阵
因为就两个人,所以采用一位二进制编码就可以,在这里定义第一类样本的编码为0;第二类样本的输出编码为1。
t=[0 1 0 1];
第三步:使用MATLAB建立网络结构
net1=newff(minmax(p),[25,9,1],{'tansig','tansig','hardlim'},'traingdm');
说明:[25,10,1]表示该网络的输入结点为25个值,输出结果为1为二进制编码的值,中间层由经验公式 (rnd为0-1之间的随机数),所以本文选取5-15之间数分别作为隐含层的神经元个数,得出的结论是9的收敛速度最快。
第四步:对网络进行训练
[net1,tr]=train(net1,p,t);
第五步:保存网络
save aa net1
则文件会以aa.mat的格式保存,保存了训练好的网络以及权值。
第六步:输入测试样本
先加载上一步中保存好的网络,本实验中只输入一个测试样本,下面的数据代表测试样本的特征值,共25个。
load aa.mat
p1=[7.8115;0.7835;0.5886;0.2282;0.1767;1.0197;0.7896;0.6814;1.1238;1.1114;0.9427;0.5970;0.4569;0.5438;0.4563;0.1983;0.4632;0.3383;0.3130;0.4377;0.1817;0.2256;0.2088;0.2854;0.2812];
第六步:网络仿真
a=hardlim(sim(net1,p1)-0.5)
(二)实验结果
根据上述实验过程,得出的结果是:
下图是执行了10次中的一次算法模拟情况。
Elapsed time is 0.469seconds
网络仿真的输出结果是:a=0
本文中测试的数据来源于训练样本中输出为0的样本,识别结果正确。换了10个测试样本,其中识别正确的是6个,也就是正确率大约在60%。
然后,采用相同的办法,在实验中把训练样本由每人两个不同姿态下的样本增加到了3个,也就是输入向量的p由4列增加到6列,其他的均不变,网络的训练时间为0.471 seconds。还是使用上面的10个测试样本,其中识别正确的达到了8个,正确率提高到了80%左右。
在样本量扩大到250时,这些样本是来自于,50个人,每人拍摄10张不同姿态下的照片,也就是500张,然后从其中随机的取出每个人对应的5张照片作为训练样本,然后再把从剩余的250张作为测试样本,进行测试。输入结点数为250,每个结点对应的特征向量为25;输出值用二进制的编码表示,由于后面要实现的人脸识别系统中要应用在一个只有50人的环境下,所以采用二进制编码6位就够了,但是为了系统的可扩展性,所以采用7位二进制编码来设计输出结点的值,bp网络就是25维输出7维输出。此时测试的250个数据中只有一组数据是错误的,原因是照片中的人嘴和鼻子被口罩遮住了。
样本量增加后网络训练到一个样本测试仿真所有的时间是1.936seconds。
五、小结
本文介绍了基于BP神经网络的人脸识别分类方法,先用matlab设计了一个模拟程序,然后不断的增加训练样本中同一人样本的样本数,训练后用10个人分别测试两个网络的正确率,当同一人的样本数增加到3时,正确率由60%提高到了80%。可以证明网络训练样本的增加有利于提高识别的正确率。把在上一章中采集到的50个人所对应的500张照片作为标准样本库,从中随机取出250张作为训练样本,然后设定输出值,输出的值应该有50类,采用二进制的编码构成,然后再实用剩余的250张照片作为测试样本,进行测试。
篇8
关键词:参考作物腾发量 Elman神经网络
1 前言
目前,中国人均水资源占有量不足世界人均水平的四分之一,耕地平均每公顷水资源占有量也仅为世界平均水平的四分之五。农业用水占到我国总用水量的约70%,农业用水浪费现象普遍存在,21世纪中国农业水资源供需矛盾将更加突出。因此以提高农业用水效率为目的节水高效农业对于缓解水资源紧缺的现状、实现水资源可持续利用和农业的可持续发展都有着极为重要的意义。
参考作物腾发量是估算作物蒸发蒸腾量的关键参数,它的准确性直接影响着作物需水预报的精度,进而影响到区域水资源的优化配置。而作物蒸发蒸腾量是农业方面最主要的水分消耗部分,是确定作物灌溉制度和地区灌溉水量的基础,是制定流域规划、地区水利规划,灌溉工程规划、设计、管理和农田排灌实施的依据。因此参考作物腾发量的预测显得尤为重要,它对正确估算作物蒸发蒸腾量,提高农业用水效率,发展节水农业有着十分重要的意义。
2 国内外研究现状
2.1 ET0的估算方法的研究
参考作物腾发量(ET0)的概念由彭曼于1948年首先提出。1979年FAO(联合国粮农组织)对其进行了定义。1990年联合国粮农组织在意大利罗马召开的作物需水量计算方法专题研讨会上,推荐使用penman-monteith公式计算参考作物蒸散量。1998年FAO推荐penman-monteith公式作为计算参考作物腾发量的唯一标准方法。
参考作物腾发量的估算方法大致可划分为蒸渗仪测定、蒸发皿估测以及利用气象观测数据通过公式计算等三种途径。利用气象数据通过公式计算参考作物腾发量的方法又可归纳为经验公式和理论方法两类。经验公式中常采用辐射、温度、水汽压、相对湿度、风速及日照时数等气象观测数据作参数,按照某种与参考作物腾发量的经验函数关系进行估算。如Blaney-Criddle(1950),Ture(1961),FAO-24Radiation(1977),Hargreaves(1985),理论公式法主要有penman法和penman-montieth方法等。penman-montieth方法是目前世界范围内广泛采用的计算参考作物腾发量的方法。国内在参考作物腾发量估算方面的研究多是基于国外的计算公式进行地区性修正或应用比较,penman-montieth方法是国内计算参考作物腾发量普遍采用的方法。
2.2 ET0预测方法的研究
通常ET0的预测有神经网络、随机过程、时间序列、灰色系统,以及多元线性、非线性回归等方法。多学科的交叉是现代数据分析发展的重要方向,模糊逻辑、神经网络、粗集理论、遗传算法以及支持向量机都是目前常用的融合协作算法,探讨它们之间的相互结合可以取长补短,对改进或提高系统整体性能,具有非常重要的实际意义,近几年国内外对此方面的研究逐渐深入。本文尝试将动态神经网络方法应用在参考作物需水量预测上,并取得了理想效果。
3 Elman神经网络预测方法
3.1 Elman神经网络简介
Elman神经网络是Elman于1990年提出的,是一种动态神经网络。此网络是在BP网络基本结构的基础上,通过存储内部状态使其具备映射动态特性的功能,从而使系统具有适应时变特性的能力。
Elman网络模型除了普通的输入层、隐含层和输出层外,还有一个特别的承接层,其网络结构如图1所示。其输入层、隐含层和输出层的连接类似于前馈网络,输入层单元仅起信号传输作用;输出层单元起线性加权的作用;隐含层单元的传递函数可以采用线性或非线性函数;而承接层单元用来记忆隐含层单元前一时刻的输出值,可认为是一步时延算子。
具体地说,网络在k时刻的输入不仅包括目前的输入值,而且还包括隐含层前一时刻的输出值,这时网络可视为普通的前馈网络,而且可以用BP算法进行训练。训练结束后,k时刻隐含层的输出值将通过递归连接部分反馈回上下文层单元,并保留到K+1时刻。其中,反馈连接的权值不能调整。根据回归连接的结构不同,可以将回归网络分为部分回归和完全回归。第一类网络只是选择那些特别有意义的反馈连接。由一个正切s形隐层和一个纯线性输出层组成的Elman网络,能够逼近任何连续函数。由于它有反馈连接,因此通过学习可产生时间模式和空间模式。而且不必先假定系统的数学模型形式,不必考虑外部噪声对系统影响的具体形式,若能给出系统的输入、输出数据时,就可以利用Elman神经网络对系统进行建模。Elman神经网络还能够体现效应量与影响因子的非线性关系。
3.2 Elman神经网络的优点
近年来,人工神经网络技术在水利众多领域得到了广泛的应用。由于神经网络具有并行处理、联想记忆、分布式知识存储、鲁棒性强等特点,尤其是它的自组织、自适应、自学习功能,从而在复杂非线性系统的分析和预测中得到了广泛应用。目前非线性系统辨识中普遍采用的是BP网络,但BP网络是静态网络,它只是实现一一对应的静态非线性映射关系,不适合动态系统的实时辨识。BP网络模型随系统阶次的增加,迅速扩大的网络结构使网络学习收敛速度减慢,并造成网络输入节点过多、训练困难及对外部噪声敏感等弊病。
相比之下,动态回归神经网络(RNN)提供了一种极具潜力的选择,它能够更生动、更直接地反映系统的动态特性。Elman 型回归神经网络是一种典型的动态神经元网络,它是在BP网络基本结构的基础上,通过存储内部状态使其具备映射动态特征的功能,从而使系统具有适应时变特性的能力。
3.3 Elman神经网络模型在MATLAB中的实现
在MATLAB神经网络工具箱中Elman网络的工具箱函数是用newelm(网络函数)生成一个Elman递归网络。格式为net=newelm(PR,[S1S2,...,SM],{TF1TF2…TFM},BTF,BLF,PF),Elman网络由N1层组成(一般两层即可),其权函数用dotprod函数,输入函数用netsum函数,以及用一些特殊的函数作为其传递函数。每层权和阈值初始化用initnw进行操作。其中PR为输入元素的最大和最小值的矩阵(其维数为:R×2),Si为第i层的神经元个数。TFi为第i层的传递函数,缺省时TFi=‘tansig’;BTF为反向传播网络的训练函数(BTF可以是trainged,traindm,traingda,traingdx等函数), 缺省时BTF=‘traingdx’;BLF为反向传播权,也称阈值学习函数(BLF可以是learngd或learndm),缺省时BLF=‘learngdm’;PF为性能分析函数(PF可以是mse或msereg),缺省时PF=‘mse’。具体采用什么函数应根据算例情况及试算来确定。
3.4 Elman神经网络的应用
本文利用600组蒸发皿估测数据,建立了动态Elman-ET0预测模型,利用12组数据检测模型预测精度,结果显示该模型的对ET0的预测误差均小于20%,Elman神经网络可以应用在参考作物腾发量预测中。
4 结语
通过收集和阅读大量文献,比较已使用的ET0预测方法,认为人工神经网络及一些融合协作算法的预测效果较好,但算法比较复杂。
考虑到参考作物腾发量主要受气象因子影响,一般为非线性函数,随时间存在一定的变化趋势,本文引用了动态Elman神经网络对参考作物腾发量进行建模和预测,结果显示该方法是可行的。
参考文献
[1]郭冬冬,周新国,孙景生,卢闻航.时间序列法在参考作物腾发量分析与拟中的应用[J].中国农村水利水电,2004,(8):4-7.
[2]李晓军,李取生.东北地区参考作物蒸散确定方法研究[J].地理科学,2004,24(2):212-216.
[3]刘志武,倪广恒,雷志栋,杜卫东.计算逐日潜在腾发量的BP神经网络方法[J].灌溉排水学报,2004,23(4):75-77.
[4]蒋任飞,阮本清,韩宇平,孙静. 基于BP神经网络的参照腾发量预测模型[J] .中国水利水电科学研究院学报,2005,3 (4):308-311.
[5]徐俊增等.基于天气预报的参考作物蒸发蒸腾量的神经网络预测模型[J] .水利学报.2006,37(3):376-379.
[6]蔡甲冰等.应用自适应神经模糊推理系统的ET0预测[J],农业工程学报,2004,20(4):13-16.
[7]蔡甲冰等.根据天气预报估算参照腾法量的模糊神经网络方法[J].农业工程学报,2005,21(12):108-111.
[8]崔远来,马承新,沈细中,马吉刚. 基于进化神经网络的参考作物腾发量预测[J] .水科学进展,2005,16 (1):76-81.
[9]高瑞忠,朝伦巴根,于婵,朱仲元,柴建华. 基于随机样本的神经网络模型估算参考作物腾发量[J].农业工程学报,2006,22(2):42-45.
[10] 顾世祥,王士武,袁宏源.参考作物腾发量预测的径向基函数法[J].水科学进展,1999,(2):123-128.
[11] 刘丙军,邵东国,沈新平.基于小波变换的 BP神经网络参考作物腾发量预测模型[J].武汉大学学报,2007,40(1):69-73.
[12] 罗玉峰 ,崔远来,蔡学良.参考作物腾发量预报的傅立叶级数模型[J].武汉大学学报,2005,38(6):45-52.
[13] 段春青,邱林,黄强,陈晓楠. 基于混沌遗传程序设计的参考作物腾发量预测模型[J].水利学报,2006,37(4):499-503.
[14] 常秀华,迟道才,李宇,马宪伟.基于SPSS的抚顺地区参考作物需水量的区域分析[J].中国农村水利水电,2005,(5):21-26.
[15] 胡庆芳,尚松浩,温守光,孟宝泉.基于投影寻踪的径向基函数网络在参考腾发量预测中的应用[J] .水利学报,2006,37(9):1151-1154.
[16]彭世彰,徐俊增.参考作物蒸发蒸腾量计算方法的应用比较[J].灌溉排水学报,2004,23(6):5-9.
[17]张兵,袁寿其,成立等.基于L-M 优化算法的BP神经网络的作物需水量预测模型[J].农业工程学报,2004,20(6):73-76.
篇9
1986年,rumelhart提出了反向传播学习算法,即bp(backpropagation)算法。反向传播bp(back propagation)神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一[1]。这种算法可以对网络中各层的权系数进行修正,故适用于多层网络学习。bp算法是目前应用最广泛的神经网络学习算法之一,在自动控制中是最有用的学习算法,它含有输人层、输出层以及处于输入输出层之间的中间层。中间层有单层或多层,由于它们和外界没有直接的联系,故也称为隐层。在隐层中的神经元也称隐单元。隐层虽然和外界不连接,但是,它们的状态影响着输入输出之间的关系。也就是说,改变隐层的权系数,可以改变整个多层神经网络的性能[2]。
1bp 神经网络模型
bp 神经网络模型由一个输入层、一个输出层以及一个或多个隐含层构成,同一层中各神经元之间相互独立。输入信号从输入层神经元开始依次通过各个隐含层神经元,最后传递到输出层神经元, 图1给出了包含一个隐含层的bp网络模型结构,隐含层神经元个数为m。理论研究表明:具有一个输入层,一个线性输出层以及sigmoid 型激活函数的隐含层bp 网络能够以任意精度逼近任何连续可微函数[3]。
三层感知器中,输入向量为x=(x1,x2…xi…xn)t,图1中x0=-1是为隐层神经元引入阈值而设置的,隐层输入向量为y=(y1,y2…yj…ym,)t,图中y0=-1是为输出层神经元引入阈值而设置的;输出层输出向量o=(o1,o2, …,ok,ol)t,期望输出向量为d=(d1,d2, …,dk,dl)t,输入层到隐层之间的权值矩阵用v表示,v=(v1,v2, …,vj, …vm)t,隐层到输入层之间的权值矩阵用w表示,w=(w1,w2, …,w,k …wl)t,下面分析各层信号之间的关系[4]。
图1三层bp网络
对于输入层:
ok=f(netk) k=1,2, …,l,netk=∑mj=0wjkyj k=1,2, …,l;
对于隐层:
yj=f(netj)j=1,2, …,m,netj=∑ni=0vijxij=1,2, …,m;
以上两式中,激活函数都是sigmoid函数。
f(x)=11+e-x,f(x)具有连续、可导的特点且f’(x)= f(x)[1- f(x)]。
根据以上公式,我们可以推导出权值调整量δwjk和δvjk分别是:
δwjk=ηδokyj=η(dk-ok)ok(1-ok)yj,δvij=ηδyjxi=η(∑lk=1δokwjk)yj(1-yj)xi
2智能公交实时调度模型总体设计
公交公司的行车计划一般在年初就制定完成,调度员根据行车计划进行调度,遇到节假日、雨天等突况时,就凭调度员的工作经验调度。因此,可以考虑使用bp神经网络算法,在智能公交实时调度中加入误差反向传播算法,利用误差反向传播算法超强的学习能力和泛化能力,通过对公交海量历史调度数据的学习,建立公交车到达目的站点的预测模型。通过实时gps数据,就可以预测车辆到达目的地的大概时间,为建立智能公交调度提供极大的方便。智能公交实时调度模型如图2所示。
图2智能公交实时调度模型
从图2可以看出,智能公交实时调度模型分为3个主要模块。
(1)数据处理分析模块。智能公交实时调度模型的基础模块,数据来源于两个部分:一是公交历史行车数据,包括发车时间、天气等数据;二是gps定位系统采集的实时数据,主要是各个时刻采集的运行数据。该模块根据各预测模型的需要,选择合理的数据输入,并对数据进行处理。
(2)预测模型模块。通过对现有数据的分析、预测,得到车辆到达调度站的运行时间预测结果。
(3)智能实时调度模块。输入预测模型可以得到车辆运行时间,根据公交历史调度计划以及公交客流数据,可以适当改变当前调度计划,临时下达调度指令,为建立与实际客流相结合的调度方法提供决策支持。
(4)基于bp神经网络的预测模型。公交车辆的运行时间总的来说还是比较固定的,但是有时候会随着道路拥挤情况、节假日、天气情况等有所改变。由于神经网络具备以任意精度逼近连续函数功能,具有较强的自我学习能力和泛化能力,能够充分体现输入数据与输出数据之间复杂的映射关系。因此,本文采用bp神经网络来预测车辆到达时间。
2.1输入变量对公交运行时间的影响
把公交车运行时间分
为几个阶段,车辆到达目的地所需要的时间往往与该公交车处于的阶段有着某种必然的联系,根据车辆实时gps数据及车辆运行过程中所处的时间,设ti为公交车实时时间,所以ti在那个阶段对车辆运行有直接影响, ti可以根据gps数据实时取得。
车辆位置:车辆在运行过程中所处的位置对公交车到达目的站有着一定的影响,根据gps实时数据,可以计算出车辆离终点站有多少距离,将车辆在ti时刻距调度站的距离作为影响因素。
天气情况:天气的好坏对公共汽车的运行产生比较大的影响,一般情况下,公交车在晴天的运行时间要比雨天少,车速比雨天快。
星期情况:从周一到周日,不同日子有着不同的客流,所以星期情况对公交的运行产生一定的影响。
节日:重大节日客流量明显增多,车辆的运行时间也会有所延长。
2.2变量获取
bp神经网络需要大量数据作为输入、输出样本,因此在构建bp神经网络前,首先要做的工作就是获取这些数据。利用先进的信息技术,可以获取公交车辆运行的gps数据,而天气、星期情况、是否节假日这些变量则可以在大量的历史数据中获得。
2.3基于神经网络的车辆预测模型
预测模型将采用三层bp神经网络,即一个输入层,一个隐层以及一个输出层,输入层一共有5个变量,分别是时间、车辆位置、天气情况、星期情况以及节假日。隐含层节点数目一共有11个节点。输出层为1个节点,采用有导师的学习方法。至此本文建立的bp网络结构为5×11×1,bp网络结构如图3所示。
图3bp神经网络结构
bp神经网络的车辆运行时间测算模型如图4所示。
其中:t 为当前时刻,w(t-t),当前时刻t之前t时刻神经网络输入层与隐层以及隐层与输出层之间的权值矩阵。
f(t):车辆从起始站到当前时刻车辆的运行时间。
f’(t):预测样本的输出时间。
xi(t):t时刻的第i个输入向量,i∈[0,1],其中xi为车辆在t时刻到达调度站的距离的输入向量,x2为天气情况输入向量,x3为车辆运行所处的星期输入向量,x4为车辆运行当天是否节日的输入向量,x5为gps采集数据的时刻向量。
图4bp神经网络的车辆运行时间测算模型
2.4样本数据取值及归一化方法
(1)gps定位数据。在车辆运行过程中,对车载gps数据进行采集,采集完成后通过一定的方法进行计算,从而得出车辆离到达站的距离,设该距离为一对一使用归一化处理,使得转换后的数值就落在(0,1)上。
(2)天气情况。在一段时间内,公交车会碰到不同的天气,不同的天气对公交的运行产生不同的影响。我们把天气进行分类,一共分为7种状况,分别是大雨、小雨、雪、大雾、小雾、晴天和阴天,用不同的数字来表示这7种天气情况。
(3)星期情况。对于不同的星期采用不同的分类方法表示,从星期一到星期日也采用不同的数字表示。
(4)节假日。节假日可以用布尔变量来表示,true是节假日,false为非节假日。
3结语
国内大多数公交调度优化研究都是着眼于静态调度,而本文将研究重点放在了实时调度方面,在智能公交实时调度中加入bp神经网络技术,用误差反向传播算法超强的学习能力和泛化能力,通过对公交海量历史调度数据的学习,建立公交车到达目的站点的预测模型。通过实时gps数据,就可以预测车辆到达目的地的大概时间,为建立智能公交调度提供极大的方便。
参考文献参考文献:
\[1\]李翔,朱全银.adaboost算法改进bp神经网络预测研究[j].计算机工程与科学,2013(8).
篇10
[关键词]人工神经网络湖南人均GDP预测
GDP反应某地区在核算期内生产活动的最终成果及衡量国民经济发展规模、速度、结构、效益的代表性指标,也是制定经济发展战略目标的主要指标。湖南省作为中部的一个省份,通过对“十一五”期间湖南省人均GDP的预测,可以分析全省的劳动量、资本量和技术知识的存量,利用GDP的存量功能,可以获得资源与要素的信息,并据此推算湖南省的经济增长的潜力,从而有利于政府部门制定更合理的经济政策。
一、问题的分析与模型的建立
经济预报是一个复杂的非线性系统,且系统的内部时时刻刻在发生变化,我们希望能够建立一个参数随预测环境的变化而改变的非线性模型,国内外对经济的预测进行了大量的研究,提出了许多预测的方法,其中神经网络被认为是一种较好的非线性预测方法,尤其是BP神经网络。BP神经网络结构简单,非线性处理能力却很强大。
1.BP网络模型
BP网络是一种单向传播的多层前向网络,其结构如图1
BP网络是一种具有三层或三层以上的神经网络,包括输入层、中间层(隐层)和输出层。上、下层之间实现联接,而每层神经元之间无联接。当一对学习样本提供给网络后,神经元的激活值,从输入层经各中间层,向输出层传播,在输出层的各神经元获得网络的输入响应。接下来,按照减少目标输出与实际值的误差的方向,从输出层经过各中间层逐层修正各联接权值,最后回到输入层,这种算法称为“误差逆传播算法”,即BP算法。随着这种误差逆传播修正不断进行,网络对输入模式响应的正确率也不断上升。
图1为常用的三层BP网络结构,如果输入层、隐含层和输出层的单元个数分别为n、q、m,则该三层网络可表示BP(n,q,m),利用该网络可实现n维输入向量Xn=(X1,X2…Xn)到m维输出向量Ym=(Y1,Y2…Ym)T的非线性映射。m,n根据具体问题确定,而隐含层单元数q的确定尚无成熟的方法,一般可设定不同的q值,根据训练结果进行选择。网络结构BP(n,q,m)确定后,网络参数包括输入层第i单元到隐含层第j单元的权重Wij(i=1...n,j=1...q),隐层第i单元到输出层第k单元的权重Wiko(j=1...q,k=1...m);隐含层第j单元的激活阈值(j=1...q)及输出层第k单元的激活阈值(k=1...m),以上权值和阈值的初值在网络训练之前随机生成;假设共有p个训练样本,输入的第p个训练样本信息首先向前传播到隐含层单元上,经过激活函数f(u)的作用得到隐含层的输出信息: (1)
激活函数f(u)采用s(0,1)型函数,即 (2)
隐含层的输出信息传到输出层,可得到最终输入结果为
BP算法的基本思想是学习过程由信号的正向传播与误差的反向传播两个过程组成。以上过程为网络学习的信息正向传播过程;如果网络输出与期望输出存在误差,则将误差反向传播,误差的反射传播是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,以误差信号作为修正各单元权值的依据,可以利用(4)来调节网络权重和阈值。
其中为W(t)次训练,η,α分别为比例系数和动量系数,E为误差平方和反复运用以上两个过程,一直进行到网络输出的误差减少到可接近的程度或进行到预先设定的学习次数为止()。
通常,经过训练的网络还应该进行性能的测试,测试的方面就是选择样本向量,将其提供给网络,检验网络对其分类的正确性,测试样本向量中应包括今后网络应用过程中可能的主要典型模式;样本可以直接测取得到,也可以通过仿真得到,在样本数据较少或者较难得到时,也可以通过对学习样本加上适当的噪声或按照一定的规则插值得到,总之,一个良好的测试样本集中,不应该包括和学习完全相同的模式。
2.BP神经网络在经济预报模型中的应用
采用神经网络进行经济预测,以湖南省1978~1999年的经济数据作为训练样本,2000年~2004年GDP进行预测仿真试验。
GDP预测指标体系就包含第一产业(x1)、第二产业(x2)、第三产业(x3)。在考虑诸年数据的可比性,在应用神经网络之前,采用如下方法对数据环比处理:
式中,x为指标的环比值;y为指标的原始数据值;w为物价指数,t和t-1分别代表当年度和上年度。采用BP神经网络进行预测,即用上一年的经济数据作为输入,下一年的GDP作为输出。因此GDP预测模型可以描述为:
y1=f(x1(t-1),x2(t-1),x3(t-1))
设置L―M算法BP神经网络的计算误差为10-4,最大计算步数为10000,计算结果见图2:
预测的结果见下表
从表中预测的结果,可以看出,模型拟合得到的数据与真实值是比较吻合的,预测的效果比较好,完全能满足实际应用的需要。如果我们对神经网络训练的精度作更高的要求,还可进一步降低预测的误差。
参考文献:
[1]Martin T.Hagan.神经网络设计.机械工业出版社,2005
[2]王振龙:时间序列分析.中国统计出版社.2003
[3]伍卫国:数值方法和Matlab实现与应用.机械工业出版社,2004
- 上一篇:古典经济学的政策主张
- 下一篇:车船税的特点