首页 > 文章中心 > 神经网络的训练算法

神经网络的训练算法

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇神经网络的训练算法范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

神经网络的训练算法

神经网络的训练算法范文第1篇

关键词:BP神经网络; 遗传算法; 神经网络集成; 人耳识别

中图分类号:TP183文献标识码:B

文章编号:1004-373X(2010)08-0148-03

Application of Neural Network Ensemble Based on Genetic Algorithm in Ear Recognition

CHEN Chun-lan1, ZENG Huang-lin2, XU Li-zhi2

(1. Luzhou Vocational and Technical College, Luzhou 646005, China; 2. Sichuan University of Science & Engineering, Zigong 643000, China)

Abstract:Since the constringency of the BP neural network algorithm is too slow and generalization capability of neural network is not ideal, the disadvantageseffect the classification identification. A method of theneural network ensemble based on the genetic algorithm is introduced for improving the classification accuracy and generalization of neural network, the way which trains several individual BP neural networks, selects those who have great variance each other to perform the neural network ensemble by means of the genetic algorithm, and then carries out the classification identification with the neural network ensemble. The experimental result shows that themethod can improve the identification rate.

Keywords:BP neural network; genetic algorithm; neural network ensemble; ear recognition

传统的BP神经网络虽然具有在线学习,非线性映射能力,不需要精确的数学模型,擅长从输入/输出数据中学习有用的知识,容易实现并行计算,由于神经网络由大量的简单计算单元组成,因而具有易于用软、硬件实现等优点。但是该学习算法是一个非线性优化问题,存在局部极小;BP算法使用的是最速下降法,学习算法的收敛速度很慢;最重要的是网络的泛化能力差。当图像数据较大时,影响分类识别能力。1990年,Hansen和Salamon开创性地提出了神经网络集成(Neural Network Ensemble)方法,通过训练多个神经网络,并将其结果进行合并,显著地提高了神经网络系统的泛化能力[1]。在此,采用Bagging方法训练个体神经网络,用遗传算法选择最优的个体网络用于神经网络集成。实验表明,这种方法可以提高人耳的识别率。

1 基于遗传算法的神经网络集成

1.1 神经网络集成

当神经网络集成用于分类器时,通过Bagging算法训练多个个体神经网络,通常集成的输出由个体网络的输出投票产生,采用绝对多数投票法(某分类成为最终结果,当且仅当有超过半数的神经网络输出结果为该分类),提高网络的泛化能力和分类能力[1]。Bagging算法思想实现过程如图1所示。

图1 Bagging算法思想实现过程

Bagging基本思想如下:

(1) 给定一个弱学习算法和一个训练集;

(2) 单个弱学习算法准确率不高;

(3) 将该学习算法使用多次,得出预测函数序列,进行投票;

(4) 最后结果准确率将得到提高。

Bagging算法:

For t = 1, 2, …, T;

从数据集S中取样(放回选样);

训练得到模型Ht;

对未知样本X分类时,每个模型Ht都得出一个分类,得票最高的即为未知样本X的分类[1]。

1.2 遗传算法用于神经网络集成

当神经网络集成中的个体网络差异较大时,集成的效果较好,但是如何获得差异较大的个体网络以及如何评价多个网络之间的差异度,目前仍然没有较好的方法。Bagging算法通过训练数据的随机性及独立性来提供集成的差异性,尽管这种方法非常流行,但是他的鲁棒性较差,而且当数据量不足时,该方法的执行效果也差[1]。

遗传算法作为一种可以全局收敛的方法,理论上可以在一定的遗传步骤后达到全局或者接近全局最优。这里考虑用遗传算法作为Bagging算法中最终集成权值的优化方法。

假设已经独立训练出N个神经网络f1,f2,…,fN,使用简均方法组成神经网络集成,考虑去除神经网络fN后,由f1,f2,…,fN-1使用简均方法组成神经网络集成′,满足:

ИА(x)=∑N-1i=1\(1)

定义神经网络fi与fjУ南喙囟任:

Cij=∫p(x)\\dx(2)

有Cii=Ei,Cij=Cj。в捎:

И(x)-d(x)=∑Ni=1\/NИ

因此有:

ИE=∑Ni=1∑Nj=1Cij/N2(3)

考虑У姆夯误差E与′的泛化误差E′的大小关系,根据式(3),′У姆夯误差为:

ИE′=∑N-1i=1∑N-1j=1Cij/(N-1)2(4)

(N-1)2N2(E′-E)=(2N-1)∑N-1i=1∑N-1j=1Cij-

2(N-1)2∑N-1i=1CiN-(N-1)2CNN(5)

(2N-1)∑N-1i=1∑N-1j=1Cij

(N-1)2CNN(6)

根据式(5),当式(6)满足时,E′

使用遗传算法来解决神经网络选取的问题。若某遗传个体与{f1,f2,…,fN}的子集S相对应,假设验证集为V,用验证集V 计算的神经网络fi与fjУ南喙囟裙兰浦滴:

ИCVij=∑X∈V\\/|V|(7)

从而根据式(7),与S对应的神经网络集成在验证集V上的平均误差为:

И(∑fi,fj∈SCVij)/|S|2(8)И

将该误差的倒数作为遗传算法的适应度值[2]。

2 基于遗传算法的神经网络集成用于人耳识别

采用Carreira-Perpinan建立的人耳图像库(如图2所示部分人耳图像),该图像包括了17人,每人6幅,共102幅人耳图像[3]。由于该人耳图像库中的所有图像已经经过剪裁和旋转,长宽比例为1∶6(这是由人耳的结构特点决定的,人耳长宽比例的均值大致在1∶6附近),且进行了亮化处理,因此图像较理想,本文不在进行图像的预处理。本实验在Matlab 7.1环境下进行。

图2 Carreira-Perpinan部分人耳图像

2.1 融合特征提取

将图像库中每人前三幅图像组成训练样本集,其余图像组成测试样本集。

采用Zernike矩方法提取的图像具有旋转不变性的人耳几何特征,其稳定性强,有利于分类识别,但是当人耳图像受到其他因素如光照影响时,这种识别率就会降低。改进的非负矩阵分解是将线性判别融入到传统的非负矩阵分解方法中,通过最大化样本类间差异,最小化样本类内差异,提取具有判别能力的低维人耳特征,对光照等不敏感。将这两种具有互补性的特征串性融合,得到一个分类能力更强的特征[4-5]。将15维Zernike矩特征和16维子空间投影系数特征串行组合,得到一个31维的人耳特征向量。

2.2 Bagging算法生成个体网络

本文采用Bagging算法生成个体网络(如图3所示),每次从训练样本集中随机抽取2/3个样本进行训练,得到一个神经网络分类器,神经网络的输入是以上提取的31维人耳特征向量。输出为7维的样本类别向量(1个隐层,6个神经元)。神经网络集成的规模(训练神经网络集成中神经网络的个数)为10。

图3 Bagging算法生成个体神经网络集成

2.3 基于遗传算法的神经网络集成用于人耳识别

个体网络的选择:典型的神经网络集成方法可能生成彼此很相似的个体神经网络,这种网络不一定能够促使集成泛化误差的降低,还可能起到相反的作用。基于遗传算法的神经网络集成方法从训练好的10个BP网络中选择部分网络进行集成。实验中的参数设置:每个遗传个体的染色体长度为10(网络个数为10),遗传算法的群体规模为40,选择概率为0.5,交叉概率为0.8,变异概率为0.05,遗传算法的最大代数为50代,适应度函数选择式(8),精英变异位数量为6,变异范围是全体个体。神经网络的集成,将上步选择的神经网络组成集成,采用投票方法进行结果集成。输入测试样本,训练好的神经网络集成模型进行人耳识别,结果如表1所示。

表1 神经网络集成人耳识别实验结果比较

特征单个BP神经网络分类识别/%基于遗传算法的神经网络集成分类识别/%

融合特征88.394.2

从表1可以知道,使用单一BP神经网络作为分类器的识别率低于采用神经网络集成分类的识别率。

3 结 语

由于单一BP网络的泛化能力差和网络的不稳定,当图像数据较大时,影响分类识别能力。这里介绍了一种基于遗传算法的神经网络集成用于人耳识别,实验结果表明,使用采用神经网络集成可以提高人耳识别率。

参考文献

[1]周志华,陈世福. 神经网络集成[J]. 计算机学报, 2002, 25(1): 1-8.

[2]吴建鑫,周志华,沈学华,等. 一种选择性神经网络集成构造方法[J]. 计算机研究与发展, 2000, 37(9): 1039-1045.

[3]LAMMI H K. Ear biometrics[EB/OL]. \. http: // it. lut. fi/kurssit/03-04/010970000/seminars/Lammi. pdf.

[4]张志伟,夏克文,杨帆,等. 一种改进NMF算法及其在人脸识别中的应用[J]. 光电工程, 2007, 34(8): 121-126.

[5]张伟伟, 夏利民. 基于多特征融合和Bagging神经网络的人耳识别[J]. 计算机应用, 2006, 26(8): 1870-1872.

[6]张兆礼,赵春晖,梅晓丹. 现代图像处理技术及Matlab实现[M]. 北京:人民邮电出版社, 2001.

[7]於时才, 陈涓, 马宁. 一种提高神经网络集成系统泛化能力的方法[J]. 微电子学与计算机, 2009, 26(4): 105-107.

[8]李敏强,寇纪凇,林丹, 等. 遗传算法的基本理论与应用[M]. 北京:科学出版社, 2002.

[9]朱人杰,田雨波,贾则. 混沌搜索神经网络集成求解广义异或分类问题[J]. 微电子学与计算机, 2009, 26(5): 99-102.

[10]刘茂福,胡慧君,何炎祥. 主成分分析在图像Zernike矩特征降维中的应用[J]. 计算机应用, 2007, 27(3): 696-700.

神经网络的训练算法范文第2篇

关键词:BP算法;神经网络;模型参考自适应控制;激励函数;Matlab仿真

中图分类号:TP183

文献标识码:A

DOI:10.3969/j.issn.1003-6970.2015.07.024

0 引言

在现代实际工业生产中,被控对象存在各种不确定性和时变性,因而使得工业控制过程变得繁琐复杂,针对线性时变系统或非线性系统的控制,人们不断的研究其解决方法,Nare ndra等人提出了神经网络控制和模型参考自适应控制相结合的神经网络模型参考自适应控制(Neural Network Model Reference AdaptiveControlˉˉˉNNMRAC)方法。近来神经网络的研究已成为智能控制研究的热点,因其自身具有自学习的特点,可以有效地解决不确定和复杂的非线性控制系统控制问题。因此将神经网络与模型参考自适应控制相结合,组成基于神经网络的模型参考自适应控制系统,进而使其在复杂非线性过程控制中具有不可替代的优势。目前神经网络模型参考自适应控制系统中应用最广泛的神经网络是BP神经网络。

BP神经网络(Back Propagation Network)是一种多层前向型神经网络也被称为反向传播网络,在BP网络中信号是前向传播的,而误差是反向传播。一般三层BP网络结构就可以使其对有限个不连续点的函数进行逼近,也可以逼近任意非线性映射关系。然而,传统BP神经网络算法存在很多缺点,各种优化改进的BP算法也层出不穷。就目前的BP优化算法,常常忽略算法本身存在的自适应、自学习等特点,改进算法如蚁群算法和粒子群算法大都是直接对BP神经网络中的参数进行训练。文中采用基于激励函数自寻优的方法改进BP神经网络模型参考自适应系统的控制方法,改进后的BP神经网络模型参考自适应控制方法收敛速度快、精度高,系统控制过程中被控对象的输出能够很好地跟随参考模型的输出,具有很好的控制效果,在实际工程中也可以得到很好的验证和应用。

1 BP神经网络结构及其算法改进

BP神经网络已经被证明具有很强的学习能力,能够逼近任意连续有界的非线性函数。一般的BP神经网络包括输入层、隐含层、输出层,其中隐含层可以有多个。其中隐含层和输出层的激励函数通常直接采用Sigmoid函数,其函数表达式为:

上式中β称为Sigmoid函数的斜率参数,不同的β取值,引起曲线的弯曲程度不同,β越大,f(x)图形越陡峭。当斜率参数β接近无穷大时,Sigmoid函数将转化成简单的阶跃函数。但与阶跃函数不同,Sigmoid函数对应于0~1之间的一个连续取值区域,但阶跃函数只对应0和1两个取值。

一般的三层前馈神经网络拓扑结构如图1所示。

输入向量为Xi=(Xl,X2…,Xn)T,i=1,2,…,n,n表示输入神经元的个数,隐含层的输出向量为yj= (Y1,y2,…,ym),j=l,2,…,m,输出层的输出向量为Ok= (Ol,O2….,ol),k=l,2,…,l。每层之间的权值用w表示,Wij为隐含层和输入层之间的权值,Wjk为输出层和隐含层之间的权值。

这里对上述BP算法的改进,也就是通过改进激励函数f(x),进而优化神经网络,最终使得基于神经网络的模型参考自适应控制在不增加复杂性及确保精度的情况下,系统性能进一步得到提高改善。由于BP神经网络产生局部极小值的一个重要原因就是误差函数是一个以Sigmoid函数为自变量的非线性函数,而Sigmoid函数存在饱和区,所以改进和优化激励函数对于BP算法的应用是至关重要的。通过实验发现,在函数表达式中增加一个控制参数η,可以控制激励函数的压缩程度。改进的激励函数形式如下:

上式描述的f(x)的定义域为(-∞,+∞),值域为(0,1),函数也是单调的,满足激励函数的条件。

以往出现的改进BP算法学习过程中,η和β的赋值都是经验值,本文使得η是一个可以自适应的参数,就是通过判断网络不断学习过后的权值能否减小网络误差来自动的调整η的值,其调整方法为:

其中,al,E为网络误差,f指迭代次数。在误差信号反向传播时,自适应参数η是随着误差信号不断进行修正的。

此算法可以提高BP网络的收敛速度,同时也避免了陷入局部极小值。文中使其结合模型模型参考自适应控制明显提高了系统的整体控制效果,进一步验证了算法改进的实用性,与传统BP算法相比,改进后的算法在实际运用中更具有意义。

2 神经网络模型参考自适应控制系统结构

典型的神经网络模型参考自适应控制系统结构如图2所示。

图2中NNC( Neural Network Controller)为神经网络控制器,NNI( Neural Network Identifier)为神经网络辨识器,r为参考输入,u为NNC的输出,Ym和y分别为参考模型和被控对象的输出,ec是参考模型输出和被控对象输出之差,ei是被控对象输出和辨识器输出之差,NNC的权值修正目标是使ec达到系统设定值(理想值为零),NNI的目标也是使ei尽可能最小(理想值为零),且为NNC传递梯度信息。

神经网络辨识器NNI的训练误差表示为 ,其中,y(k)当前k时刻被控对象的输出数据, 为下一时刻的预测输出数据。则辨识器的调整规则就是使误差Ei尽可能小,Ei表示为:

神经网络模型参考自适应控制系统的控制目标在于使被控对象的输出y与参考模型的输出Ym渐近的匹配,即

其中,s为一个给定的小正数。

神经网络控制器NNC的训练则由误差ec=ym-y来训练,训练准则如上式(8),控制系统中神经网络辨识器和控制器的学习算法就采用改进后的BP算法。

在神经网络模型参考自适应控制系统的控制策略设计中,改进的BP算法能够在满足系统控制规律符合要求的情况下,使得神经网络模型参考自适应控制效果更好。虽然改进的BP算法是激励函数自寻优的自适应方法,不能够使神经网络辨识器NNI进行离线训练,但是快速的BP算法仍然可以使网络具有很好的实时性。首先在线训练辨识器,待参数训练好以后,再进行控制器NNC的训练,最终可以保证被控对象的输出y很好的跟踪参考模型的输出Y。

3 仿真实例研究

3.1 改进的BP算法验证

本文采用BP神经网络进行预测控制来验证改进算法的有效性。利用简单的一组样本训练集和样本目标集进行神经网络的训练,再给定一组输入样本数据,观测输出层输出数据和误差。分析样本数据设计BP神经网络结构为3个输入、2个输出、隐含层的神经元数目为8。网络学习次数为100次,目标误差设置为0.001。

使用MATLAB软件进行网络训练,传统BP算法的网络训练过程收敛情况如图3所示,经过56步循环达到了网络误差要求的精度。改进的BP算法网络收敛情况如图4所示,仅需要10步就达到了误差精度要求,其中a和b取值分别为0.9和1.5。输出误差和网络实际输出数据在表1中展示,直观的看出,改进后的BP网络可以得到更有效的输出。

根据得到的误差收敛曲线比较看出,改进后的BP算法所用训练步数少即需要的训练时间少,说明收敛速度明显加快。

测试输出结果如表1所示。

从表中可以直观清晰看出改进后的BP算法实际输出误差明显减小,提高了算法精度。

3.2 改进的神经网络模型参考自适应控制仿真实例

结合参考文献中提到的污水处理的例子进行改进算法的验证。污水处理系统结构图如图5所示,

在污水处理系统控制结果是否达标,主要是通过需氧量(OD)、溶解氧(DO)等几个重要参数来衡量。本例中为了提高污水处理效果,系统控制目标设置为使误差ec控制在±0.05mg/L以内,污水处理控制系统中采

用离散的参考模型:

ym(k)= 0.375 ym(k-1)+0.623r(k)

其中,控制输入r(k)=2为系统给定的阶跃信号。

污水处理系统的实验仿真中,BP网络辨识器设定4个输入变量和1个输出变量,隐含层包含10个隐节点,对于BP网络控制器取3个输入层节点,隐含层的节点数为6。根据BP神经网络控制器和辨识器的改进算法,采用MATLAB进行仿真,取采样周期ts=0.OOls,这里a取0.8,6取1.5,仿真结果如图6所示。

在图6 (a)中第一条线为控制输入r,中间的第二条曲线代表参考模型的输出Ym,最下边的曲线代表污水被控对象的输出y,图6 (b)中的曲线代表误差ec(系统实际输出与参考模型输出之差)的变化。从图中可以分析看出,改进后模型参考自适应控制方法在该控制系统中的控制效果很好,氧的溶解浓度(DO)保持在2mg/L左右,参考输出和实际输出最终相吻合,误差ec控制在±0.05mg/L以内,因此仿真结果满足控制系统的控制要求。

神经网络的训练算法范文第3篇

[关键词]小生境遗传算法神经网络股票预测

一、引言

股票和股票市场对国家企业的经济发展起到了积极的作用,如可以为投资者开拓投资渠道,增强投资的流动性和灵活性等。但股票价格的形成机制是颇为复杂的,股票价格既受到多种因素,诸如:政治,经济,市场因素的影响,亦受技术和投资者行为因素的影响,个别因素的波动作用都可能会影响到股票价格的剧烈波动。因此,股票价格和各影响因素之间很难直接建立明确的函数关系表达式。针对这一情况,将可有效处理非线性问题的神经网络引入到股票价格的预测中来,但神经网络收敛慢,易陷入局部极小点,出现振荡,鲁棒性差。所以有的学者用遗传算法(GA)来优化神经网络,这种神经网络可能获得个别的甚至局部的最优解,即GA早熟现象。本文引进能较有效地保持种群多样性的小生境遗传算法(NGA),采用NGA优化与用GA优化的BP网络权值进行对比,证实了NGA的判别准确性和寻优能力。

二、小生境遗传算法优化的神经网络

1.BP神经网络

反向传播(BP)算法又称为误差逆传播校正方法,它是1974年P.Werbos(哈佛大学)提出的。BP算法用来训练多层前馈神经网络,属于监督学习算法。BP网络具有结构清晰,易实现,计算功能强大等特点。因而是目前最常见,使用最广泛的一种神经网络。但是在实际应用中,传统的BP算法存在以下问题:收敛速度慢;若加快收敛速度易产生振荡;存在局部极小和平台问题;泛化能力差;隐节点数和初始值的选取缺乏理论指导;未考虑样本选择对系统学习的影响等。所以很多学者提出许多改进的方法,用小生境遗传算法优化神经网络权值的神经网络来预测股票价格。

2.小生境遗传算法

小生境遗传算法(IcheGeneticalGorihm)的基本思想是:首先比较任意两个个体间的距离与给定值的大小,若该距离小于给定值,则比较其适应值大小。对适应值较小的个体施加一个较强的惩罚,极大地降低其适应值。也就是说,在距离L内将只有一个优良个体,从而既维护了群体的多样性,又使得各个体之间保持一定的距离,并使得个体能够在整个约束空间中分散开来。

3.神经网络连接权的优化

用小生境遗传算法可以优化神经网络连接权,神经网络结构,学习规则等,这里我们对神经网络的连接权进行优化,具体步骤如下:

(1)随机产生一组权值分布,采用某种编码方案对该组中的每个权值(或阈值)进行编码,进而构造出一个码串(每个码串代表网络的一种权值分布),在网络结构和学习规则已确定的前提下,该码串就对应一个权值和阈值取特定值的一个神经网络。

(2)对所产生的神经网络计算它的误差函数,从而确定其适应度函数值,误差越大,则适应度越小。

(3)选择若干适应度函数值最大的个体,直接遗传给下一代。

(4)利用交叉和变异等遗传操作算子对当前一代群体进行处理,产生下一代群体。

(5)重复(2)(3)(4),使初始确定的一组权值分布得到不断地进化,直到训练目标得到满足为止。

这种由小生境遗传算法训练神经网络的方法也可以称做混和训练法。将基于小生境遗传算法的遗传进化方法和基于梯度下降的反传训练相结合,这种训练方法吸取两种方法的各自特点,所以收敛速度快。

三、股票价格预测仿真

根据经验选取输入预测日前四天开盘价、收盘价归一化后做为作为输入量,输出为第五天收盘价归一化数值。所以,本文采用神经网络结构为(8,5,1),即网络的输入层6个节点,隐含层9个节点,输出层1个节点。本文选择了“XDG新梅(600732)”从2006年3月14日到2006年7月1日数据进行了仿真。利用MATLAB6.5编程,取70组训练样本和30组测试样本。如图(1)表示用遗传算法和小生境遗传算法对神经网络的权值进行优化时,误差曲线变化;从图中可以看出,小生境遗传算法收敛速度要快;图(2)表示股票预测值和实际值比较,从图中可以看出,遗传算法和小生境遗传算法对神经网络的权值的模型进行股票价格的预测,都能预测出股票走向趋势,但是,后者的预测精度显然要比前者高。

四、结束语

股票市场的不确定因素太多,股票的价格更是多种因素影响的集合体,是典型的非线性动力学问题。股票价格的中长期准确预测很难。本文建立了用小生境遗传算来优化神经网络模型来预测股票价格,结果表明,这种方法比单用遗传算法优化的神经网络收敛速度快,预测精度高。对于股票价格预测具有较好的应用价值。

参考文献:

[1]龙建成李小平:基于神经网络的股票市场趋势预测[J].西安电子科技大学学报(自然科学版.2005.3(32):460-463

[2]王波张凤玲:神经网络与时间序列模型在股票预测中的比较[J].第27卷第6期武汉理工大学学报·信息与管理工程版.2005.9(27):69-72

神经网络的训练算法范文第4篇

关键字 :神经网络,BP模型,预测

中图分类号:TP183文献标识码: A

1 引言

在系统建模、辨识和预测中,对于线性系统,在频域,传递函数矩阵可以很好地表达系统的黑箱式输入输出模型;在时域,Box-Jenkins方法、回归分析方法、ARMA模型等,通过各种参数估计方法也可以给出描述。对于非线性时间序列预测系统,双线性模型、门限自回归模型、ARCH模型都需要在对数据的内在规律知道不多的情况下对序列间关系进行假定。可以说传统的非线性系统预测,在理论研究和实际应用方面,都存在极大的困难。相比之下,神经网络可以在不了解输入或输出变量间关系的前提下完成非线性建模[4,6]。神经元、神经网络都有非线性、非局域性、非定常性、非凸性和混沌等特性,与各种预测方法有机结合具有很好的发展前景,也给预测系统带来了新的方向与突破。建模算法和预测系统的稳定性、动态性等研究成为当今热点问题。目前在系统建模与预测中,应用最多的是静态的多层前向神经网络,这主要是因为这种网络具有通过学习逼近任意非线性映射的能力。利用静态的多层前向神经网络建立系统的输入/输出模型,本质上就是基于网络逼近能力,通过学习获知系统差分方程中的非线性函数。但在实际应用中,需要建模和预测的多为非线性动态系统,利用静态的多层前向神经网络必须事先给定模型的阶次,即预先确定系统的模型,这一点非常难做到。近来,有关基于动态网络的建模和预测的研究,代表了神经网络建模和预测新的发展方向。

2 BP神经网络模型

BP网络是采用Widrow-Hoff学习算法和非线性可微转移函数的多层网络。典型的BP算法采用梯度下降法,也就是Widrow-Hoff算法。现在有许多基本的优化算法,例如变尺度算法和牛顿算法。如图1所示,BP神经网络包括以下单元:①处理单元(神经元)(图中用圆圈表示),即神经网络的基本组成部分。输入层的处理单元只是将输入值转入相邻的联接权重,隐层和输出层的处理单元将它们的输入值求和并根据转移函数计算输出值。②联接权重(图中如V,W)。它将神经网络中的处理单元联系起来,其值随各处理单元的联接程度而变化。③层。神经网络一般具有输入层x、隐层y和输出层o。④阈值。其值可为恒值或可变值,它可使网络能更自由地获取所要描述的函数关系。⑤转移函数F。它是将输入的数据转化为输出的处理单元,通常为非线性函数。

图1 BP神经网络结构

2.1 基本算法

BP算法主要包含4步,分为向前传播和向后传播两个阶段:

1)向前传播阶段

(1)从样本集中取一个样本(Xp,Yp),将Xp输入网络;

(2)计算相应的实际输出Op

在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时的执行过程。

2)向后传播阶段

(1)计算实际输出Op与相应的理想输出Yp的差;

(2)按极小化误差的方式调整权矩阵。

这两个阶段的工作受到精度要求的控制,在这里取 作为网络关于第p个样本的误差测度,而将网络关于整个样本集的误差测度定义为 。图2是基本BP算法的流程图。

图2 BP基本算法流程

2.2 动态BP神经网络预测算法

在经典的BP算法以及其他的训练算法中都有很多变量,这些训练算法可以确定一个ANN结构,它们只训练固定结构的ANN权值(包括联接权值和结点转换函数)。在自动设计ANN结构方面,也已有较多的尝试,比如构造性算法和剪枝算法。前一种是先随机化网络,然后在训练过程中有必要地增加新的层和结点;而剪枝法则正好相反。文献[2]中提出了演化神经网络的理念,并把EP算法与BP进行了组合演化;也有很多学者把遗传算法和BP进行结合,但这些算法都以时间复杂度以及空间复杂度的增加为代价。根据Kolmogorov定理,对于任意给定的L2型连续函数f: [ 0, 1 ]n Rm , 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 正向建模结构

3.2 逆向建模

建立动态系统的逆模型,在神经网络中起着关键作用,并且得到了广泛的应用。其中,比较简单的是直接逆建模法,也称为广义逆学习。其结构如图4所示,拟预报的系统输出作为网络的输入,网络输出与系统输入比较,相应的输入误差用于训练,因而网络将通过学习建立系统的逆模型。但是,如果所辨识的非线性系统是不可逆的,利用上述方法将得到一个不正确的逆模型。因此,在建立系统时,可逆性应该先有所保证。

图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 不同神经元数预测误差对比曲线

5 结论

本文针对基本的BP神经网络,提出了可动态改变神经元数(与精度相关)的BP神经网络预测方法,可以根据实际情况建立预测系统。用此种方法可以建立最好的神经网络,不会有多余的神经元,也不会让网络在学习过程中过早陷于局部极小点。

参考文献

[1]潘正君,康立山,陈毓屏. 演化计算[M ]. 北京:清华大学出版社,1998

[2]飞思科技产品研发中心. 神经网络理论与实现. 北京:电子工业出版社,2005

[3]蔡晓芬,方建斌. 演化神经网络算法. 江汉大学学报,第33卷第3期,2005.9

神经网络的训练算法范文第5篇

[关键词]BP神经网络农业工程农业管理农业决策

一、引言

采用神经网络算法的信息处理技术,以其较强的计算性和学习性,现如今已经在各工程领域内得到了广泛应用。随着科技不断的发展和研究的不断深入,农业系统中采用的传统分析和管理的方法已经不能满足农业工程领域快速发展的需要。在农业系统中采用神经网络技术可在一定程度上可弥补传统方法的不足,现已成为实现农业现代化的一个重要途径。神经网络现已在农业生产的各个环节得到广泛的应用,从作物营养控制、作物疾病诊断、产量预测到产品分级,显示了巨大的潜力,并正以很快的速度与生产实际相结合。目前应用比较多的BP神经网络,可通过学习以任意精度逼近任何连续映射,在农业生产与科研中展示出了广阔的应用前景。

BP人工神经网络方法。人工神经网络是对生物神经网络的简化和模拟的一种信息处理系统,具有很强的信息存贮能力和计算能力,属于一种非经典的数值算法。通常可分为前向神经网络、反馈神经网络和自组织映射神经网络。BP神经网络(Backpropugation Neura1 Network)是一种单向传播的多层前向神经网络,可通过连续不断的在相对于误差函数斜率下降的方向上计算网络权值以及偏差的变化而逐渐逼近目标值,每一次数字和偏差的变化都与网络误差的影响成正比,并以反向传播的方式传递到每一层,从而实现了神经网络的学习过程。BP人工神经网络的结构如图所示,BP神经网络可分为输入层、中间层(隐含层)和输出层,其中输入和输出都只有一层,中间层可有一层或多层。同层的网络结点之间没有连接。每个网络结点表示一个神经元,其传递函数通常采用Sigmoid型函数。BP神经网络相当于从输入到输出的高度非线性映射,对于样本输入和输出,可以认为存在某一映射函数g,使得y0=g(xi),i=1,2,3,…,m,其中m为样本数,xi为输入样本,yo为输出结果。

BP神经网络的一个显著优点就是其可进行自学习,能够通过训练得到预期的效果。其学习过程由正向传播和反向传播组成,神经网络的输入值经过非线性变换从输入层经隐含层神经元的逐层处理传向输出层,此为正向传播过程。每一层神经元的状态将影响到下一层神经元状态。如果输出层得到的数值与期望输出有一定的偏差,则转入反向传播过程。神经网络通过对输入值和希望的输出值(教师值)进行比较,根据两者之间的差的函数来调整神经网络的各层的连接权值和各个神经元的阈值,最终使误差函数达到最小。其调整的过程是由后向前进行的,称为误差反向传播BP算法。具体学习过程如下:

(1)随机给各个权值赋一个初始权值,要求各个权值互不相等,且均为较小的非零数。

(2)输入样本集中每一个样本值,确定相应的网络实际输出值。

(3)计算实际的输出值与相应的样本集中的相应输出值的差值。

(4)按极小误差方式调整权值矩阵。

(5)判断网络误差是否小于训练前人为设定的一个较小的值,若小于,则跳出运算,此时的结果为神经网络的最终训练结果;若大于,则继续计算。

(6)判断最大迭代次数是否大于预先设定的数,若小于,返回(2);若大于,则中止运算,其结果为神经网络的最终训练结果。

上述的计算过程循环进行,直到完成给定的训练次数或达到设定的误差终止值。

二、BP神经网络在农业工程领域中的应用

1.在农业生产管理与农业决策中的应用

农业生产管理受地域、环境、季节等影响较大,用产生式规则完整描述实际系统,可能会因组合规则过多而无法实现。神经网络的一个显著的优点就是其具有较强的自学习、自适应、自组织能力,通过对有代表性的样本的学习可以掌握学习对象的内在规律,从而可以在一定程度上克服上述信息量大的问题。神经网络在农业生产管理方面可用于农作物生长过程中对农作物生长需求进行预测,从而通过对养分、水分、温度、以及PH值的优化控制达到最优的生长状况。采用神经网络预测算法的主要思想可描述为:(1)收集一定规模的样本集,采用BP算法进行训练,使网络收敛到预定的精度;(2)将网络权值矩阵保存到一存储介质中,例如文本文件或数据库中;(3)对于待预测数据的输入部分,从存储介质中读出网络连接权值矩阵,然后通过BP神经网络的前向传播算法计算网络输出,输出结果既是预测出来的数值向量。如霍再林等针对油葵不同阶段的相对土壤含盐浓度对其产量的影响有一定的规律的现象,以油葵的6个成长阶段的土壤溶液含盐的相对浓度为输入样本,相对产量为输出样本,通过比较发现,训练后的神经网络能较好预测油葵产量,采用此方法可补充传统模型的不足,为今后进一步的研究开辟了新路。

在农业决策方面,主要将农业专家面对各种问题时所采取的方法的经验,作为神经网络的学习样本,从而采用神经网络建立的专家系统将从一定程度上弥补了传统方法的不足,将农业决策智能化。如何勇、宋海燕针对传统专家系统自学习能力差的缺点,利用神经网络可自我训练的优点,将神经网络引入专家系统中。将小麦缺素时的田间宏观表现,叶部、茎部、果实症状及引起缺素的原因这五个方面的可信度值作为神经网络的输入量,将农业专家诊断的结论作为输出量,将这些数据作为神经网络的训练数据。实际应用表明此系统自动诊断的结果与专家现场诊断的结果基本一致,从而采用该系统能够取代专家,实现作物的自我诊断,为农业管理方面提供了极大的帮助。如马成林等针对于传统施肥决策方法中非线性关系描述不足的问题,基于数据包分析和BP神经网络,建立了施肥决策模型,应用表明,在有限的范围内,模型预测结果较为合理,可以反映玉米的需肥特性。刘铖等人提出采用神经网络应用在农业生产决策中,以莜麦播种方式决策为例,通过对产生式规则的分析导出神经网络输入、输出单元数,并通过多次试验确定隐层单元数,用MATLAB方针结果表明,采用神经网络作为农业生产决策的方法,取得了较好的效果。谭宗琨提出将基于互联网环境下的神经网络应用在玉米智能农业专家系统中,根据农作物发育进程分成若干个发育期,分别对各个发育期建立管理模型,依照作物各发育期进程时间间隔,由计算机系统自动选取相应的模型进行决策。应用分析的结果表明采用神经网络的玉米智能专家系统已初步接近农业生产的实际。

2.在农产品外观分析和品质评判

农产品的外观,如形状、大小、色泽等在生产过程中是不断变化的,并且受人为和自然等复杂因素的影响较大。农产品的外观直接影响到农产品的销售,研究出农作物外观受人为和自然的影响因素,通过神经网络进行生产预测,可解决农产品由于不良外观而造成的损失。如Murase 等针对西红柿表皮破裂的现象,西红柿表皮应力的增长与西红柿果肉靠近表皮部分水分的增加有关,当表皮应力超过最大表皮强度时,将导致表皮破裂。用人工神经网络系统,预测在环境温度下的表皮应力,可通过控制环境变量来减少西红柿表皮破裂所造成的损失。

在农业科研和生产中,农产品的品质评判大多是依赖于对农产品外观的辨识。例如对果形尺寸和颜色等外观判别果实的成熟度,作物与杂草的辨别,种子的外观质量检测。由于农业环境的复杂性和生物的多样性,农产品的外观不具有较确定的规律性和可描述性,单一采用图像处理技术辨识农产品的外观时不宜过多采取失真处理和变换,否则则增加图像处理的复杂性,特征判别也相对困难。人工神经网络由于其具有自学习、自组织的能力,比较适宜解决农业领域中许多难以用常规数学方法表达的复杂问题,与图像处理技术相结合后,可根据图像特征进行选择性判别。采用此方法可以部分替代人工识别的工作,提高了生产效率,也有利于实现农业现代化。如Liao等将玉米籽粒图像用34个特征参数作为神经网络的输入变量,将输出的种粒形态分为5类,经过学习的神经网络对完整籽粒分类的准确率达到93%,破籽粒分类的准确率达91%。

3.蔬菜、果实、谷物等农产品的分级和鉴定

在农业生产中,蔬菜、果实、谷物等农产品的分级和鉴定是通过对农产品外观的辨识进行的。传统的农产品外观的辨识方法费时费力、预测可靠度很低,而且多采用人工操作,评价受到操作者主观因素的影响,评判的精度难以保证。利用人工神经网络技术结合图像处理技术可部分代替以往这些主要依靠人工识别的工作,从而大大提高生产效率,实现农业生产与管理的自动化和智能化。

利用BP神经网络技术对农产品果形尺寸和颜色等外观评判,目前国内外已有不少成果用于实际生产中。何东健等以计算机视觉技术进行果实颜色自动分级为目的,研究了用人工神经网络进行颜色分级的方法。分别用120个着色不同的红星和红富士苹果作为训练样本集对网络进行离线训练。两个品种的苹果先由人工依据标准按着色度分成4级,对每一个品种分别求出7个模式特征值作为BP网络的输入,用训练好的神经网络进行分级。结果表明红富士和红星果实的平均分级一致率分别为94.2%和94.4%。刘禾等用对称特征、长宽特征、宽度特征、比值特征等一系列特征值来描述果形。采用BP网络与人工智能相结合,建立果形判别人工神经网络专家系统。试验水果品种为富士和国光。试验表明系统对富士学习率为80%,对非学习样本的富士苹果的果形判别推确率为75%,系统对国光学习率为89%,对非学习样本的国光苹果果形判别系统的难确率为82%。

三、未来的发展方向

人工神经网络的信息处理技术现已在农业工程领域内得到了迅速的应用,采用人工神经网络算法的农业系统能够从一定程度上改善控制效果,但此技术在农业范围内还不够成熟,有待于进一步的研究。今后科研的方向大体上可以从以下几方面着手:

1.人工神经网络算法的改进

人工神经网络算法由于本身具有一定的缺点,从而采用人工神经网络的算法的信息处理技术在应用过程中具有一定的局限性。在今后的研究中,可以从人工神经网络方向着手,改进人工神经网络算法,从而实现其在农业领域内更好的应用。近年来随着模糊算法、蚁群算法等算法的相继出现,将神经网络与其他算法结合在一起已经成为了研究的热门话题,也是未来算法研究的主要方向之一。

2.应用领域的扩展

人工神经网络算法在农业工程方面现已得到了迅速的发展,扩展其在农业工程领域的应用范围是未来的一个主要研究方向。人工神经网络由于其具有自学习能力,可对农业系统的非线形特性进行较好的描述,采用人工神经网络可解决传统方法的不足,从而实现农业现代化。如何将神经网络较好地引入到农业系统,解决农业工程中的部分问题,已是今后农业科研中的一个方向。

四、结束语

神经网络作为一种人工智能范畴的计算方法,具有良好的自学习与数学计算的能力,可通过计算机程序进行模拟运算,现已广泛用于模式识别、管理决策等方面。随着计算机硬件和软件的不断发展与农业工程方面的研究的不断深入,神经网络将在农业管理、农业决策、农作物外观分类、品质评判等方面充分发挥其自学习能力强,计算能力强的优势,通过对样本数据的学习,神经网络可较好地解决农作物生长过程中的作物分类、预测等非线形的问题。在农业工程领域内,神经网络拥有广阔的科研前景。

参考文献:

[1]余英林李海洲:神经网络与信号分析[M]. 广州: 华南理工大学出版社,1996:45

[2]霍再林史海滨孔东等: 基于人工神经网络的作物水―盐响应初步研究[J].内蒙古农业大学学报,2003,24(3):66~70

[3]何勇宋海燕:基于神经网络的作物营养诊断专家系统[J]. 农业工程学报,2005,21(1):110~113

[4]马成林吴才聪张书慧等:基与数据包络分析和人工神经网络的变量施肥决策方法研究[J].农业工程学报,2006,20(2):152~155

[5]刘铖杨盘洪: 莜麦播种方式决策的BP神经网络模型[J]. 太原理工大学学报,2006,37(5):119~121

[6]谭宗琨: BP人工神经网络在玉米智能农业专家系统中的应用[J].农业网络信息,2004(10):9~1

[7]Liao K,Li Z,Reid J F,et al.Knoledge-based color discrimination of corn kernels[J].ASAE paper[C].92~3579