前言:中文期刊网精心挑选了神经网络实验总结范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
神经网络实验总结范文1
关键词:仿生算法;神经网络;遗传算法
中图分类号:TP183文献标识码:Adoi: 10.3969/j.issn.1003-6970.2011.03.017
An Improved Algorithm of Bionic Research and Analysis
Yue Tong-sen, Wang Da-hai
(XinXiang Vocational and Technical Collage, Xinxiang 453000,Henan,China)
【Abstract】In this paper the bionic algorithm of neural network and genetic algorithm were analyzed and summarized, aimed at slow speed of neural network training, recognition efficiency low, and genetic algorithm the optimum choice premature convergence problem, combined with neural network method and genetic algorithms of their respective characteristics, puts forward the improved algorithm.Without the destruction of single neurons based on input weights, adopt data pretreatment methods to reduce the number of input layers, so as to improve the ability of evolutionary learning.
【Key words】Bionic algorithm; Neural network; Genetic algorithm
0引言
人工神经网络[1]和遗传算法[2]是仿生算法[3]的典型方法,它们的优化问题一直是众多研究者所倍为关注的研究热点之一。在人工神经网络和遗传算法结构的研究中发现,人工神经网络具有很好的模式分类的特性,遗传算法有很好的动态变更权值的特性,基于此,本文提出了一种改进的基于人工神经网络和遗传算法的算法。本章的改进算法,就是对人工神经网络和遗传算法进行了变换,增强了对输入权值的变化速度,并提出用减少输入层个数的方法是加快神经网络学习的有效方法,取得了良好的实验效果。
1神经网络和遗传算法的特究点
1.1神经网络和遗传算法的不同点
1.神经网络是多层感知机,而遗传算法是单层感知机。神经网络是由输入层,隐含层和输出层够成,但遗传算法的基因组是一个数组,不管基因的长度有多长,其结构仍然是一个单层感知机。
2. 神经网络的隐含神经元个数是不确定的,而输出层和输入层的个数是可以确定的。我们希望输入层的个数用新的方法得到降低,这样神经网络的训练速度就可以提高。同时对于隐含层的层数,一般情况设为1。每层的神经元个数也并不是越多越好,是要根据问题的情况而变动的。但神经网络的隐含层是不确定的,而且隐含层的个数也是不确定的。对于遗传算法,它的二进制的长度是可以确定的,但是交叉和变异的比例是变动的。对于单点交叉比例,我们可以设定为黄金分割点。虽然设定为黄金分割点作为单点交叉比例没有用数学方法严格的证明,但是,大量的实验表明,选择黄金分割点往往可以得到较好的结果。对于变异比例,没有交好的方法确定,只能设计交互式的实验来调试决定。
3.权值的更新方式不一样。神经网络的权值的更新方式是时时的,而遗传算法权值的更新方式是批量的。
4.两者应用的范围不一样。神经网络主要应用于模式匹配,错误诊断,监视病人的状态,特征提取,数据过滤。而遗传算法主要应用在计算机辅助设计,日程安排,经济学的投资研究等。
1.2神经网络和遗传算法的相同点
1.有教师的学习。神经网络的输出是有目标的,当然是确定的。同时对于遗传算法的目标也是确定的。所以两者都是有目标的,也就是有教师的学习。
2.随机近似优化过程。神经网络中,如果把网络的权值初始化为接近于0的值,那么在早期的梯度下降步骤中,网络将表现为一个非常平滑的函数,近似为输入的线性函数,这是因为sigmoid函数本身在权值靠近0时接近线性。同样,遗传算法的初始个体都是随机产生的,它的交叉和变异都是一个不断近似的过程。
3.并行化。神经网络的每个神经元是独立的,如果把每个神经元分配一个处理器,那么就可以采用并行的方式。同样,遗传算法很自然地适合并行实现,有粗粒度并行方法和细粒度并行方法。有粗粒度并行方法就是把群体细分成相对独立的个体群,称为类属,然后为每个类属分配一个不同的计算节点,在每个节点进行标准的GA搜索。细粒度并行方法就是给每个个体分配一个处理器,然后相邻的个体间发生重组。
2算法的研究及改进
结合人工神经网络和遗传算法的研究的本质,通过两种算法结合的研究及改进,提高算法的收敛速度,从大量的数据中模拟生物的特性来完成特定的任务和解决问题的方法和方向。由于遗传算法是单层感知机,而神经网络是多层感知机,所以可以从多层感知机的多层性,我们想象为遗传算法是单层感知机作为神经网络是多层感知机的输入层。这样,我们就可以采用遗传算法的动态变更权值的特性来对神经网络输入层有效性的遗传和变异。这种算法适合与没有输入,只有输出的应用,就像无人驾驶技术中控制行驶的速度和方向的控制一样。基本的框架如图1:
图1结合人工神经网络和遗传算法的框图
Fig.1 Combined with artificial neural network and genetic algorithm diagram
最上面的是智能体,神经网络的输出来控制智能体,控制中心将神经网络的权值用遗传算法的初始体来提供。
2.1遗传算法的基因作为神经网络的权值变量
遗传算法的基因的初始化必须要满足神经网络的输入要求,一般遗传算法的基因都是0,1编码。但是为了达到神经网络的输入要求,是要在(-1,+1)之间随机产生。
2.2遗传传算法中杂交点选择
遗传算法中,一般都是采用随机平均变异[4][5]的方式,但是如果输入是由遗传算法的基因提供的话,为了保证在变异的时候,采用标记变异的方法。我们可以首先根据图2的神经网络来考虑:
图2遗传算法作为人工神经网络和的权值图
Fig.2 Genetic algorithm as artificial neural network and the weights of figure
很显然,(0.3,-0.8,-0.2)是神经元1的权值 ;(0.6,0.1,-0.1)是神经元2的的权值;(0.4,0.5) 神经元3的权值。为了在遗传算法中的杂交过程中,不破坏每个神经元的权值个数,特意标记(3,6)所在的箭头。
2.3引入神经网络输入层的数据预处理
神经网络的计算问题是神经网络应用中最为关键的问题。如何提高网络的训练速度是算法研究的重点。我们在思考问题的时候,总是希望问题越简单越容易解决。同样,我们也可以通过对数据的预处理,来降低问题的难度。
为了减少输入层的个数,我们可以先对数据进行预处理。预处理的方法为如下流程:
(1).计算机器人前进方向Position(x,y)和目标的所在的位置Location(x,y)。
(2).归一化Position(x,y) 和Location(x,y)。
(3).用点乘的计算公式计算两者点乘。
(4).用符号重载的方式计算是顺时针还是相反。
(5).计算角度=第3步的结果*第4步的结果。
3实验结果及分析
3.1实验框架
将本算法应用于扫雪机器人的智能控制中,设计的主要模块:
3.1.1神经网络部分的设计
神经网络的输入由四个变量组成:扫雪机器人方向向量(由两个变量组成,即在X和Y的分量),发现目标,即雪的向量(由两个变量组成,即在X和Y的分量)。神经网络的隐含层由一层组成,而且由10个神经元。神经网络的输出由两个变量组成,V1和V2,分别作用在机器人的左轮和右轮上。神经网络的响应函数采用SIGMOD。
3.1.2遗传算法部分的设计
遗传算法的初始化是为神经网络提供权值,所以是由[-1,1]随机数产生。遗传算法的变异是采用随机变量的变异,选择采用轮转法。
3.1.3扫雪机器人
扫雪机器人用神经网络来控制,当找到目标后,它的适值就加一。这样就随着发现目标越多,它的适值就越大。学习能力是通过不断的学习后,它的适值就会加强。如果直接采用机器人前进方向和目标的所在的位置,那么神经网络的输入为四个变量。
3.2结果与分析
如果直接采用机器人前进方向和目标的所在的位置,那么神经网络的输入为四个变量。通过对扫雪机器人的学习过程,没有进行预处理的数据,即四个变量输入神经网络后的参数设定:神经网络的输入为4,神经元为6个,输出个数为2个,如图3所示:
图3网络的参数设定图
Fig.3 Network parameters set figure
我们设定初始的适值为0,如果发现一个目标后,它所对应的适值就加上1,这样经过50次的进化后,没有进行数据预处理的最大值是25,平均值是10.1333。如表1所示:
将50次的统计结果用柱状图进行对比,如图4所示。
图4进化50代后的加入数据预处理和没有加入预处理的对比图
Fig.4 After 50 generation data preprocessing and did not join joined the pretreatment of contrast diagram
为了减少输入层的个数,我们可以先对数据进行预处理下面,用统计的方法对数据进行的结果分析,如表2所示。
将进化100代后,对比两者的对比柱状图如图5所示。
图5进化50代后的加入数据预处理和没有加入预处理的对比图
Fig.5 After 50 generation data preprocessing and did not join joined the pretreatment of contrast diagram
实验结果表明,为了减少输入层的个数,先对数据进行预处理。通过对扫雪机器人的过程的数据分析进行分析,数据预处理后的智能进化学习能力相对于原始数据的智能进化学习能力有明显的提高。
4结束语
本文提出了基于神经网络和遗传算法结合的改进算法,对于遗传算法的变异操作进行改进,不会破坏单个神经元的输入权值的基础上,采用数据预处理的方法来减少输入层的个数,从而提高进化学习的能力。从实验数据中可以看到,本章提出的改进算法加快了学习速度,达到了提高智能学习的预期
目的。
参考文献
[1] 乔俊飞,韩桂红.神经网络结构动态优化设计的分析与展望[J].控制理论与应用,2010,3(13):350-357.
[2] 葛继科,邱玉辉,吴春明,等.遗传算法研究综述[J].计算机应用研究,2008,10(9):2911-2916.
[3] 丁建立,陈增强,袁著祉.智能仿生算法及其网络优化中的应用研究进展[J].计算机工程与应用,2003,12(3):10-15
[4] 巩敦卫,等.交互式遗传算法原来及其应用[M].北京:国防工业出版社,2007.
神经网络实验总结范文2
关键词:负荷预测 RBF 神经网络 电力系统
0 引言
负荷预测是实现电力系统优化运行的基础,对于电力系统的安全性、可靠性和经济性都有着显著影响。负荷预测是指从已知的经济、社会发展和电力系统需求出发,考虑政治、经济、气候等相关因素,通过对历史数据的分析和研究,探索事物之间的内在联系和发展规律,以未来经济和社会发展情况的预测结果为依据,对未来的电力需求做出估计和预测[1]。相关研究工作已在国内广泛开展,其研究成果已经广泛应用到电力系统实际运行维护当中,并取得了良好的经济效益。
负荷预测的方法主要分为两大类,分别是基于参数模型预测法和基于非参数模型预测方法。基于参数模型的预测方法主要有单耗法、负荷密度法、电力弹性系数法、回归模型预测法、趋势外推预测法、时间序列预测法等;基于非参数模型预测方法主要有专家系统法、模糊预测法、灰色预测法、人工神经网络预测法、小波分析预测法等[2]。
RBF神经网络具有良好的函数逼近功能,在函数回归上表现出较好的性能,已被广泛应用到人工智能领域。在负荷预测方面,RBF也得到了广泛的应用。本文的主要工作是整理了主要的基于RBF的电力负荷研究内容,对存在的问题进行了分析,并对未来的发展进行了展望。
本文接下来的内容安排如下,第二章介绍了RBF神经网络的基本原理,第三章对基于RBF的电力负荷研究进行了综述,最后给出了总结。
1 RBF神经网络基本原理
RBF网络的结构与多层前向网络类似,如图1所示,它由三层组成:第一层为输入层,第二层为隐含层,第三层为输出层[3]。
假设RBF神经网络的输入向量为n维,学习样本为 (X,Y),其中,X=(X1,X2,…XN),为输入向量,Xi=(Xi1,Xi2,…,XiN)T,1≤i≤Nj;Y=(y1,y2,…,yN),为期望输出;N为训练样本个数。当神经网络输入为Xi时,隐含层第j节点的输出如式(1)所示[4]。
对于全体输入学习样本,RBF神经网络的输出如式(2)所示。
2 基于RBF负荷预测相关研究
文献[4]通过建立径向基(RBF)神经网络和自适应神经网络模糊系统(ANFIs)相结合的短期负荷预测模型来应对实时电价对短期负荷的影响。由于固定电价时代的预测方法在电价敏感环境下效果不理想,文章根据近期实时电价的变化应用ANns系统对RBF神经网络的负荷预测结果进行修正,提高预测效果。
文献[5]研究了基于RBF神经网络的多变量系统建模。文章将正规化正交最小二乘算法引入多输入多输出系统,进行相关研究,建立了基于RBF神经网络的多变量系统的模型。对电厂单元机组负荷系统进行建模仿真研究的结果表明,用该方法建立的多变量热工系统的非线性模型是有效的,具有较高的辨识精度和较好的泛化能力。
文献[6]提出了一种基于交替梯度算法的RBF神经网络,并将之应用到负荷预测领域,取得较好的效果。通过使用交替梯度算法来优化RBF输出层权值和中心与偏差值来得到改进的RBF算法。与传统梯度下降算法相比,改进的RBF算法具有更高的预测精度和更快的收敛速度。模型综合考虑了气象数据、日类型等影响负荷变化的多种因素,实验结果表明改进的RBF网络算法具有更优的性能。
文献[7]将RBF神经网络和专家系统相结合,在深入研究天气和特殊事件对电力负荷的影响的基础上,提出了新的负荷预测模型。利用RBF神经网络的非线性逼近能力预测出日负荷曲线,然后利用专家系统根据天气因素或特殊事件对负荷曲线进行修正,使其在天气突变等情况下也能达到较高的预测精度。表1为文献[7]的实验结果对比表。
文献[8]将模糊聚类分析中的隶属度应用到负荷预测应,通过隶属度原理得到一批与预测日在样本信息上类似的历史日。采用模糊聚类分析获得的样本作为RBF神经网络的训练样本,并应用改进的RBF神经网络进行训练,在不需大量训练样本的前提下实现对短期负荷的预测。
影响电网负荷预测的因素很多,而地区电网负荷易受气象因素影响,文献[9]针对电网负荷预测以上特点,把气象因素作为影响负荷的主要因素,采用模糊规则控制的径向基神经网络(RBF)算法,对某地区电网的日负荷数据进行预测,实验证明采用这种预测方法可以提高负荷预测的速度和精度。表2给出了文献[9]的实验结果表。
3 结束语
本文针对基于RBF神经网络负荷预测进行了综述,但由于文章篇幅的原因,不能将所有的方法列举出来,只列举了具有代表性的方法,希望能起到抛砖引玉的作用。
参考文献:
[1]肖国泉,王春,张福伟.电力负荷预[M].北京:中国电力出版社,2001.
[2]李昀.电力系统中长期负荷预测方法研究与应用[D].2011.
[3]张师玲.基于RBF神经网络与模糊控制的电力系统短期负荷预测[D].江苏大学,2010.
[4]雷绍兰,孙才新,周等.基于径向基神经网络和自适应神经模糊系统的电力短期负荷预测方法[J].中国电机工程学报,2005.
[5]刘志远,吕剑虹,陈来九等.基于RBF神经网络的单元机组负荷系统建模研究[J].控制与决策,2003.
[6]郭伟伟,刘家学,马云龙等.基于改进RBF网络算法的电力系统短期负荷预测[J].电力系统保护与控制,2008.
[7]张涛,赵登福,周琳等.基于RBF神经网络和专家系统的短期负荷预测方法[J].西安交通大学学报,2001.
神经网络实验总结范文3
关键词:
中图分类号: TP18 文献标识码:A 文章编号:2095-2163(2011)01-0028-05
0引言
短道速滑技战术仿真系统为短道速滑运动员提供一个可在计算机上进行比赛对抗的平台,以达到对不同战术的可行性研究以及与国外高水平运动员模拟比赛的目的。
在该仿真系统中,智能体的任务就是模拟短道速滑运动员在比赛中产生类人决策,并与人为控制的运动员进行对抗,达到使用户体验到与高水平运动员竞技的目标。所以,智能体决策的优劣直接影响到该系统的仿真性,特别是短道速滑运动是一种节奏快、速度高、对决策要求准确的体育项目,更加要求智能体在决策过程中不仅要尽可能地不犯规、不出错,而且要能够体现出决策的个体差异性,即不同的智能体在应对同一种情况时产生的决策是不同的。所以,智能体决策过程首先要保证运动员能够完成比赛;其次,能够实现不同的运动员在比赛过程中有各自的滑行特性和决策习惯。
对于智能体决策过程的研究思想和方法大致分为四类,如表1所示。其中,符号主义通过一定的逻辑规则,对特定的符号信息进行处理;联结主义试图构造类似于人脑活动机理的网络来模拟智能;演化主义以生物界优胜劣汰的进化过程为参照,通过对编码的类似自然选择的计算来达到智能模拟;行为主义的目标则是能够建造可自主发挥作用、有生命周期的计算实体[1]。
对于短道速滑仿真系统中的智能体决策,如果采取有限状态机或者决策树等方法计算智能体的决策,由于受到逻辑规则的限制,虽然能够通过制定准确的逻辑规则实现智能体完成比赛的目的,但逻辑规则变更难度大,从而使得:其一,无法达到不同运动员在决策上的差异性的要求;其二,无法改进已有的决策过程或生成新的决策方案。而人工神经网络则不仅可以通过对样本的训练使得智能体能够按照样本的滑行方式完成比赛,还能够通过不同的运动员拥有不同的神经网络权值实现决策的差异性;同时,本系统的训练样本可以通过实际比赛时记录人的操作实现,不仅可以将人的表现建立到智能体中,还能不断改进已有的决策方案或生成新的决策方案。多agent系统中的反应式agent允许agent通过处理当前的瞬时信息获得决策方案,非常符合短道速滑这种速度高、变化快的体育运动中智能体的设计[2-3]。
因此,本文中智能体的决策过程将行为主义和联结主义两种智能模拟方法相结合,参考多agent系统中的反应式agent设计智能体的决策模型,使用具有学习能力的神经网络实现智能体的决策过程。从而让不同的运动员通过拥有自己的神经网络而体现出差异性,并且在系统的使用中,神经网络还可以通过用户的使用情况而不断优化。
1人工神经网络概述
人工神经网络通过模仿生物神经网络系统的行为特征,实现了从样例中学习出一种能够从输入向输出映射的函数。神经网络的本质是通过给定的权值改变规则和训练样本,不断修正系统中神经元之间的连接强度,直到达到所需精度。
反向传播(BP)算法是训练神经网络权值最常用的方法。该算法利用输出层误差来估计前导层的误差,并修改前导层的权值,然后再用前导层的误差估计更前一层的误差并修改权值,如此下去,就形成了信号从输入层向输出层传播,而误差则沿反方向逐级向输入层传播的过程[4]。但BP算法存在收敛速度慢,易陷入局部极小的缺点。由于训练样本易得,本文采用BP算法来训练神经网络的权值,并引入每一轮训练之前将样本顺序打乱、根据误差改变量的大小调节学习速率、增加动量项等方式以避免BP算法陷于局部极小解[5]。
2智能体决策过程的设计
智能体的决策过程就是智能体在一定的输入下,计算出在当前输入下的一个输出,即为决策。
2.1决策过程模型
本文的智能体采用反应式agent设计[6],如图1所示。首先,智能体感知周围环境,获得自身状态和周围环境的情况,然后,根据自己已有的知识存储通过一定的计算方法对获得的信息进行分析推理,最后将计算结果作为决策输出。
作为智能体决策过程的输入,自身状态与周围环境的输入不仅要体现出智能体当前的特性、具有较高的区分度,还要尽可能地简化,使智能体可能处于的状态不至于因为太多而使系统的性能下降。对于短道速滑比赛中的智能体,输入内容主要包括自身状态和前方运动员情况两类信息。其中,自身状态包括当前位置、速度大小、身体朝向、名次、完成圈数、剩余体能;前方运动员情况应包括前方运动员与自己的速度关系、距离关系和位置关系。
作为智能体决策过程的输出,在本文中为智能体在比赛过程中可能采用的动作,包括直道动作、弯道动作、加减速情况以及向前滑行的方向。
对于反应式agent系统模型中的知识存储与分析推理,可理解为输入向输出的映射过程,其中,输入为感知周围环境所获得的状态集合,输出为计算得到的动作集合,如图2所示,智能体感知到当前状态为Si,通过分析推理,得到在状态下Si应该选择动作Aj才是最优的决策。
神经网络的一个强大能力就是封装一个将输入映射到输出的非线性函数,这恰恰符合决策模型中对于知识存储和分析推理的要求。因而,本文决策模型中的感知环境就是神经网络的输入,知识存储就是神经网络的权值,推理过程就是前向的神经网络计算,决策输出就是神经网络的计算结果。
2.2神经网络的设计
根据决策模型的设计,将神经网络设计为有监督学习的神经网络。设计思路是:首先,用户模拟某一特定运动员进行滑行,系统记录下滑行过程中用户所控制的运动员的状态和此状态下所采取的决策,此数据即为神经网络的学习样本;然后,系统通过神经网络的训练程序以学习样本为输入得到神经网络的权值;最后,将此训练好的神经网络作为该运动员的专属神经网络,从而达到模拟此特定运动员的滑行特性和决策习惯的目标,如图3所示[7]。
2.2.1神经网络的组成单元
在决策过程模型的设计中,神经网络的输入包含多个非线性变化的输入,因此,在文中选择能够接收非线性函数输入且应用广泛的sigmoid单元,如图4所示。系统对输入进行了归一化操作,以适应sigmoid单元的输入要求。
2.2.2神经网络的输入
根据智能体的决策过程设计中所述模型,神经网络的输入要包含以下信息:智能体的位置、速度、身体朝向、名次、完成圈数、剩余体能、前方运动员与自己的速度关系、距离大小和位置关系。
(1)智能体的位置和身体朝向
对于智能体的位置描述为三元组?邀x, y, z?妖,即智能体在3D空间中的坐标。由于短道速滑所处的冰面为y平面,智能体的位置变化仅仅体现在x坐标和z坐标上,所以把x和z作为神经网络的输入以表示智能体的位置信息。
身体朝向为单位向量?邀x,y,z?妖。同位置信息一样,向量中的y值始终为0,所以,将x和z作为神经网络的输入。
(2)速度大小、剩余体能和名次、完成圈数
速度与剩余体能为智能体的身体状态属性,在比赛过程中随相应的函数呈非线性变化。名次和完成圈数是智能体在比赛中的比赛属性,取值为整数,且以阶跃函数的形式变化。四个属性都以自身的数值作为神经网络的输入。
(3)前方运动员的情况
对于智能体前方运动员的情况,主要考虑以下三个因素:与前一名运动员的速度差、相对距离大小以及距离的方向,其中表示距离方向需要x和z两个参数。
所以,神经网络的输入向量包括12个元素,分别为:位置的x坐标和z坐标、速度大小、身体朝向向量中的x和z、剩余体能、完成圈数、与前一名运动员的速度差、与前一名运动员的距离大小、与前一名运动员的距离向量中的x和z,如图5中输入层所示。
2.2.3神经网络的隐藏层
由于具有单隐藏层的前馈网络可以映射所有的连续函数,而当需要学习不连续函数时,具有两层隐藏层的神经网络则更合适。本系统的神经网络输入不仅包含连续的输入(如位置、速度等),还包含不连续的输入(如名次、完成圈数等),所以,将神经网络的隐藏层设计成两层。
根据第一层隐藏层的节点个数为输入层节点个数的两倍,第二层的节点个数小于第一层的节点个数且不能整除第一层节点数的设计习惯,将第一层隐藏层的节点个数设为24个,将第二层隐藏层的节点个数设为11个,如图5所示。
2.2.4神经网络的输出
智能体的输出即为智能体所能采取的动作集合中的一项。在短道速滑仿真系统中,智能体所能采取的动作主要包括直道与弯道动作、保持速度、加速、减速、沿原方向前进、左转、右转。
根据智能体所能采取的动作集合,将神经网络的输出向量定义为:是否采取转弯动作、是否加速、是否减速、是否左转、是否右转,如图5中输出层所示。
2.3反向传播(BP)算法的应用
BP算法的样本来自于比赛过程中实时获得的人控运动员的状态和对应的输入,然后对输入样本进行迭代计算,便可以得到用于智能体计算决策的神经网络权值。将此权值应用于智能体计算决策的过程中,将当前的瞬时状态作为输入,同时采用BP算法中前向计算的方法计算神经网络的输出,便可以得到当前状态的决策。
3实验及结果分析
根据对短道速滑中智能体决策过程的设计,在所设计的短道速滑技战术仿真系统上进行了实验。首先,通过平台采集训练样本,通过BP算法训练神经网络的权值。然后,将训练后得到的神经网络权值应用于智能体的决策过程中,实现通过神经网络控制的智能体。实验结果主要考察三个方面,一是基本智能性,二是高级智能性,三是决策差异性。
3.1神经网络训练样本的采集
为了样本采集更接近于实际情况,首先开发了一个决策树算法,用来实现基本的智能体控制。在样本采集过程(比赛对抗)中,与人为控制的运动员进行比赛。同时,系统以帧为单位,采集人为控制的运动员每帧所处的状态以及对应的输入作为样本中的一项。
在本次实验中,以500米比赛为例,制作了激进和保守两种不同滑行策略的智能体,每个智能体运动员的样本采集均通过作者手动控制的形式与决策树算法驱动的智能体进行比赛来实现。采集激进滑行策略的运动员样本时,作者控制的运动员总是想争夺第一的位置,只要前方有人,就想方设法超越。采集保守滑行策略的运动员样本时,作者控制的运动员一直处于跟随滑行的状态,仅仅在比赛还有最后一圈时,才采取加速超越的策略,分布情况如表2所示。
3.2基本智能性
基本智能性主要考察智能体的路线选择能力,包括向目标点滑行,直道弯道动作的切换时机、躲避前方运动员。在实验中,将评价路线选择好坏的标准定为整个滑行过程中的出界次数和碰撞次数。
考察基本智能性的方式是人控运动员、决策树算法控制的智能体、神经网络中激进策略控制的智能体和保守策略控制的智能体同时进行500米比赛,最终通过比赛后的犯规统计,判断不同算法在基本智能性上的优劣,如表3所示。其中,实验结果来自于50场500米比赛的赛后犯规情况(出界次数和碰撞次数)统计的总和。
由表3可知,在基本智能性上,由于决策树的决策过程取决于其逻辑规则的定制,而在短道速滑比赛中,逻辑规则的定义相对较简单且完备,从实验结果上可以看出,决策树在基本智能性上的表现甚至好于人工控制的运动员,其中的4次出界,也是由于比赛中其他运动员对其的碰撞导致的。人工神经网络的实验结果相比于决策树略差,特别是在出界方面。一个主要原因是神经网络控制的运动员在进弯道之前刚刚完成超越或还在超越中,导致转弯时情况复杂,转弯算法难以控制,出现出界情况。但总的来说,保守策略的神经网络的犯规统计与人为控制比较接近,符合智能体尽量不犯规的目标,激进策略的智能体由于经常采取超越动作,滑行路线不够稳定,导致出界次数较多,需要改进。
3.3高级智能性
高级智能性是指智能体在能保证不犯规(不出界、 不撞人)的情况下,可以根据自身的体能状况,合理地选择滑行策略,从而达到体能利用最优,比赛成绩最好的目标。所以,高级智能性的评价标准包括比赛结束时的剩余体能情况和比赛成绩。测试高级智能型的实验和测试基本智能性的实验为一组实验,且四个运动员在比赛中的身体素质属性一致,实验结果如表4所示。
从表4中可以看出,决策树控制的智能体剩余体能较多、成绩较差,这主要是因为在决策树的规则中,设定的智能体的巡航速度恰好为滑完全程剩余体能为10%的速度,即使由于超越和领滑时会多消耗体能而使最终的剩余体能略低于10%。这也恰恰体现了决策树算法在控制智能体上由于本身逻辑规则的限制而不灵活的缺点。相反,从实验结果中可以看出,神经网络在灵活性上要远远好于决策树算法,比赛结束时的剩余体能较少、成绩也较好。这主要取决于在获得神经网络的训练样本时,就按照规定的滑行策略,以将体能恰好用完为滑行目标来进行比赛,导致训练好的神经网络在控制智能体时,会综合考虑位置、体能、完成圈数和前方运动员的情况做出一个与训练样本中类似的决策。
3.4决策差异性
决策差异性就是不同的智能体运动员在比赛中会采用各自的滑行特性和决策习惯,在对于基本智能性和高级智能性的实验中,已经能看出一些智能体运动员的决策差异性。在本节中,采用在比赛中每一圈结束时各个运动员的名次来考察在应用神经网络作为决策过程的智能体在决策上的差异如图6和图7所示。其中,图6中为一场人工控制运动员采用稍微保守的滑行策略滑行的典型比赛,图7为一场人工控制的运动员采用稍微激进的滑行策略滑行的典型比赛。从图中可以看出,采用激进战术的运动员的名次变化较为明显,这是因为该运动员一直试图超越前方运动员;采用保守滑行策略的运动员在前期的名次变化不明显,在比赛后期较为明显,这是因为比赛前期,该运动员以跟滑为主,后期才开始发力超越。其次,可以从图中总结出,如果人工控制运动员采用保守战术,则在体能较好的情况下,采用激进战术的智能体较为占优势,因为该智能体可以在取得领先位置后,凭借体能优势保持住自己的领先优势。另一方面,如果人工控制运动员采用激进战术,则采用保守策略的智能体更可能赢得比赛,这是因为在前期的比赛中,激进智能体和人工控制运动员为争夺领先而耗费了大量体力,使得在比赛后期,保守运动员可以凭借体能优势超越前方运动员率先到达终点。
4结束语
实验结果表明,在基本智能性上,人工神经网络表现稍差,出界次数较多,主要原因是造成出界的状态在训练样本中较少出现,以至于学习过程中无法提供给智能体足够的先验知识。这个缺点可以通过在场地弯道的边界处设计一面不可见的墙阻挡运动员出界,并同时带来减速效果来弥补。其次,在高级智能性和决策差异性上,人工神经网络控制的智能体符合预期,不仅达到了在体能限制的情况下争取最好成绩的目标,还使不同的智能体具有各自的滑行特性和决策习惯。本文所述方法已经运用于短道速滑技战术仿真系统的智能体决策过程中。
参考文献:
[1] 梁义芝,刘云飞. 智能模拟及其实现[C]//2000中国控制与决策 学术年会论文集,2000:334-337.
[2] LESSER V R. Reflections on the Nature of Multi-Agent Co- ordination and Its Implications for an Agent Architecture[J]. A- utonomous Agents and Multi - Agent Systems, 1998,1.
[3] 饶东宁,蒋志华,姜云飞. 多agent规划综述[J]. 计算机应用研 究,2011,28(3):801-804.
[4] 戚德虎,康继昌. BP神经网络的设计[J]. 计算机工程与设计, 1998,19(2):48-50.
[5] 张芳芳,贺娟,李明军. 基于导数优化的BP学习算法的研究综 述[J]. 计算机应用研究,2009,26(3):809-813.
神经网络实验总结范文4
关键词:BP神经网络 MATLAB仿真
中图分类号:TP39文献标识码:A 文章编号:1007-3973(2010)06-061-02
1 BP神经网络概述
BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP一般为多层神经网络,其模型拓扑结构一般包括输入层(input)、隐层(hide layer)和输出层(output layer)。如图1所示:
2BP网络的学习算法
(1)最速下降BP算法(steepest descent backpropagation,SDBP)
如图2所示的BP神经网络,设k为迭代次数,则每一次权值和阈值的修正案下式进行:
式中:w(t)为第k次迭代各层之间的连接权向量或阈值向量。x(k)= 为第k次迭代的神经网络输出误差对个权值或阈值的梯度向量。负号代表梯度的反方向,即梯度的最速下降方向。 为学习速率,在训练时事一常数。在MATLAB神经网络工具箱中,其默认值为0.01,可以通过改变训练参数进行设置。为第k次迭代的网络输出的总误差性能函数,在MATLAB神经网络工具箱中,BP网络误差性能函数的默认值为均误差MSE(mean square error):
根据(2.2)式,可以求出第k次迭代的总误差曲面的梯度x(k)= ,分别代入式(2.1)中,就可以逐次修正其权值和阈值,并使总的误差向减小的方向变化,最终求出所要求的误差性能。
(2)冲量BP算法(momentum backpropagation,MOBP)
因为反向传播算法的应用广泛,所以已经开发出了很多反向传播算法的变体。其中最常见得事在梯度下降算法的基础上修改公式(2.1)的权值更新法则,即引入冲量因子,并且0≤
标准BP算法实质上是一种简单的最速下降静态寻优方法,在修正W(K)时,只按照第K步的负梯度方向进行修正,而没有考虑到以前积累的经验,即以前时刻的梯度方向,从而常常使学习过程发生振荡,收敛缓慢。动量法权值调整算法的具体做法是:将上一次权值调整量的一部分迭加到按本次误差计算所得的权值调整量上,作为本次的实际权值调整量,即公式(2.3)所示:是冲量系数,通常0≤
(3)学习率可变的BP算法(variable learnling rate backpropagation,VLBP)
标准BP算法收敛速度缓慢的一个重要原因是学习率选择不当,学习率选得太小,收敛慢;反之,则有可能修正的过头,导致振荡甚至发散。因此可以采用图3所示的自适应方法调整学习率。
自适应调整学习率的梯度下降算法,在训练的过程中,力求使算法稳定,而同时又使学习的不长尽量地大,学习率则是根据局部误差曲面作出相应的调整。学习率则是通过乘上一个相应的增量因子来调整学习率的大小。即公式(2.5)所示:
其中:为使步长增加的增量因子,为使步长减小的增量因子; 为学习率。
3 建立BP神经网络预测模型
BP预测模型的设计主要有输入层、隐含层、输出层及各层的个数和层与层之间的传输函数。
(1)网络层数
BP有一个输入层和一个输出层,但可以包含多个隐含层。但理论的上已证明,在不限制隐含层节点的情况下,只有一个隐含层的BP就可以实现任意非线性映射。
(2)输入层和输出层的节点数
输入层是BP的第一层,它的节点数由输入的信号的维数决定,这里输入层的个数为3;输出层的节点数取决于BP的具体应用有关,这里输出节点为1。
(3)隐含层的节点数
隐含层节点数的选择往往是根据前人设计所得的经验和自己的进行的实验来确定的。根据前人经验,可以参考以下公式设计:
其中:n为隐含层节点数;m为输入节点数;t为输出节点数;a为1~10之间的常数。根据本文要预测的数据及输入和输出节点的个数,则取隐含层个数为10。
(4)传输函数
BP神经网络中的传输函数通常采用S(sigmoid)型函数:
如果BP神经网络的最后一层是Sigmoid函数,那么整个网络的输出就会限制在0~1之间的连续;而如果选的是Pureline函数,那么整个网络输出可以取任意值。因此函数选取分别为sigmoid和pureline函数。
4 BP神经网络预测的MATLAB仿真实验
(1)样本数据的预处理
本文的样本数据来源于中国历年国内生产总值统计表,为了让样本数据在同一数量级上,首先对BP输入和输出数据进行预处理:将原样本数据乘上,同时将样本数据分为训练样本集和测试样本集,1991~1999年我国的三大产业的各总值的处理结果作为训练样本集,即1991~1998年训练样本作为训练输入;1999年训练样本数据作为输出训练输出;1992~2000年我国的三大产业的各总值的处理结果作为测试样本集,即1992~1999年的测试样本作为测试输入,2000年测试样本数据作为测试输出。
(2)确定传输函数
根据本文的数据,如第3节所述,本文选取S函数(tansig)和线性函数(purelin)。
(3)设定BP的最大学习迭代次数为5000次。
(4)设定BP的学习精度为0.001;BP的学习率为0.1。
(5)创建BP结构如图4所示;训练BP的结果图5所示:
正如图5所示的数据与本文所示设计的网络模型相符,且如图5所示当BP神经网络学习迭代到99次时,就打到了学习精度0.000997788,其学习速度比较快。
(6)测试BP神经网络
通过MATLAB对测试样本数据进行仿真,与实际的2000年我国三大产业的各生产总值比较(见表1),说明BP神经网络预测模型是可行的。、
5总结
总之,在人工神经网络的实际应用中,BP神经网络广泛应用于函数逼近、模式识别/分类、数据压缩等。通过本文可以体现出MATLAB语言在编程的高效、简洁和灵活。虽然BP在预测方面有很多的优点,但其还有一定的局限性,还需要进一步的改进。
参考文献:
[1]周开利,康耀红.神经网络模型及其MATLAB仿真程序设计[M].北京:清华大学出版社,2005.7.
[2]张德丰等.MATLAB神经网络应用设计[M].北京:机械工业出版社,2009.1.
[3][美]米歇尔(Mitchell,T.M.)著;曾华军等译[M].北京:机械工业出版社,2003.1.
神经网络实验总结范文5
1.1采用计算机模拟技术建立模拟模型
对BP神经网络模拟模型建立的基础,人们是这样认为的,因为影响工程造价的因素,大多数人们都是没办法确定的,所以我们不需要把这个值具体是多少确定下来,而是从另一个方面考虑,根据这个项目的基本情况,估计实际的造价落在某个范围的机会会大一些,这个思想就是计算机模拟技术建立模拟模型的理论基础。
1.2人工智能模型
工程造价估算专家系统,是通过人工智能,加上知识库技术而建立起来的,可是这种人工智能模型主要靠专家的知识,来对工程造价进行估计计算的,但是估算的结果是被估算人员的主观意识所影响的,不同专家的性格,知识面的宽窄,经验丰富与否、都是不确定因素,几乎可以会所不一样的估算专家所得出的结果都不会一样。这种方法很容易带有个人偏见和片面性。受专家的主观偏见性较强。
2BP神经网络模型构造与算法
2.1人工神经网络的基本原理
1985,D•E•Rumelhart等人组成的PDP小组提出的一种神经网络模型,这就是我们今天所说的BP神经网络,BP神经网络结构是利用误差反向传播来消除误差的,它有三个层次,有一个输入层,第二个是隐层,最后一个当然就是输出层。在训练估算中,我们可以通过计算输出值和我们预期的期望值,他们之间所产生的误差,逆向思维,去求解输出层单元的一般化误差,然后再把误差进行反向传播,把隐含层单元的一般化误差求解出来,并最终调整输出层和隐含层,包括输入层之间的连接权,还有连接权与隐含层和输出层的阈值,最终目的就是让系统误差达到我们可以接受为止。当先前的系统误差达到我们所需求的时候,权值和阈值就变成了固定不变的了,这样我们再通过反向逆推,就可以测出我们这个项目的未知信息。这就是人工神经网络的基本原理。
2.2BP神经网络模型建立的步骤
(1)我们首先确定模型输入层,隐含层还有输出层的神经元个数。并且以此为依据,确定BP神经网络模型的结构参数;(2)神经网络只能处理-l~l之间的数据,所以在输入网络时,我们不仅需要对原始数据进行规范化处理,还要对隐含单元和各个单元输入信息进行求和;通过反向逆推之后得到本单元的输入信息。所以对原始数据,隐含单元输入模块规范化细致化是非常重要的;(3)隐含单元的输出值可以根据神经网络操作模型得出,只要我们把net信号经过一次激发函数的处理,可以得到这个隐含单元的输出值;(4)对于输出单元节点,我们只要对前一层的隐含层单元输入信息,并且加权求和后,就能得到该单元的输入信息。操作起来非常方便快捷;(5)对权矩阵的调整,因为人工神经网络可以近似实现任意空间的数学映射。所以我们假设,如果神经网络输入单元数为M,输出单元为N,则在m维欧式空间尺中会有一个有界子集A,存在着一个到n维欧式空间,那么R中一个有界子集F(A)的映射。
3基于BP神经网络的工程造价估算模型
3.1定量化描述工程特征的因素
什么是工程特征,在BP神经网络中所说工程特征,就是指不但能表示工程特点,而且还能反映工程的主要成本构成的重要因素。,我们可以通过参照历史工程资料的统计和分析,进行工程特征的选取工作。选取完成之后,再根据专家的经验来确定,这样就可以万无一失了。首先我们可以通过典型住宅工程的造价组成进行分析,然后对建筑结构参数的变化和别的工程做一下对比,通过以上两点得出的结果,分析这些因素对造价的影响,依照以上的理论方法,我们进行了实践性的研究,最终把础类型,结构形式,建筑层数,门窗类型,外墙装饰还有墙体材料以及平面组合等,这7种因素作为工程的主要特征。不同的建筑工程有着不同的类型,比如说结构,可以是砖混结构和框架结构等;砖条基和钢筋砼条基础等都可以作为基础特征,对于这样的特征选取的多样性我们称之为特征类目,通过工程特征不同类目的列举,再跟据定额水平,工程特征对造价影响的相关性,这些对平方米造价的改变,对工程定量化的描述可以主观的给出对应的量化数据。
3.2建立估价模型
工程造价估算的指标体系到该项目的单位造价的非线性映射,就可以统称为是建设项目工程造价的估算问题。BP网络可以根据人们的需求以任意的精度去逼近任意映射关系,究其原因就是上文说的BP网络采用的是三层BP神经网络结构,不同于其他的电脑估算网络。不仅是因为该模型的输入单元为7个,还有他们的项目样本特征也不尽相同。神经网络可以根据已经经过我们优选的模型特征,做为参考估算要素,然后再通过项目工程造价估算中,我们所提供的一定数量的已知样本,采取对样本的神经网络训练,最后根据以往的大的数据库,提取类似的项目估算值,然后才能对其它特征的项目进行估算。这样我们只需要输入指标体系的各指标值,BP神经网络就可以在该项目的单位造价的非线性映射中给出该项目的单位造价。
3.3检测结果的分析
上面我们通过大量的实际实验得知了这两个固定不变的数字,然后我们可以用程序值被收敛后的网络,对现在要进行求解的数据进行检测,在测试后,如果发现总体误差比率较小,那么就满足我们初步设计的概算需求了,同时对工程可行性研究的投资估算需求也已经基本符合了,这些结果能有好的保证,全是依赖我们所选择的模型的宽度够用,模型在所有的因素中具有广泛的代表性。所以估价模型的计算才较为成功。几个工程估算的好坏也不能代表所有的项目都是完美的,也有个别工程造价估算误差大,因为电脑毕竟是人在给其输入程序,电脑的经验,还有就是对一些特征的学习不够用,本身的知识储备还是有局限性的。因为对样本数量的学习始终是有限,不可能面面俱到,而且挑选的样本也不可能针对这个工程而言都是符合这个项目的特性。虽然说BP神经网络模型有这样无法控制的缺点,但是和其他的造价估算模型相比,BP神经网络模型的优点还是可圈可点的,其优点和其他的造价模型相比较优点还是非常明显的。在以后的估算中,随着样本的不断充实,数据的不断积累,经验的不但丰富,其估算的误差也将不断缩小,这些方面的补充,在以后的估算中,必定会取得非常完美的成绩。
4总结
神经网络实验总结范文6
关键词:BP;神经网络;PID控制器
1 分层调整学习速率的改进BP算法
BP算法本质上是梯度下降法。若要改进BP算法,首先要熟悉了解梯度下降法的原理。
设函数f(x)具有一阶连续导数,假设在x=x*处取得函数极小值,用xk代表在第k次接近极小值点,则在第k+1次接近极小值点为xk+1=xk+λpk,对函数f(x)在xk+1处进行泰勒级数展开:
f(xk+1)=f(xk+λpk)=f(xk)+λ?荦f(xk)Tpk+o(λ)(1-1)
上式中?荦f(xk)为函数f(x)在xk处的梯度,当λ取得非常小的值时,o(λ)为λ的高阶无穷小。如果有
?荦f(xk)Tpk<0 (1-2)
能推出
f(xk+λpk)<f(xk) (1-3)
这就表明在第k+1次迭代时的函数值小于第k次迭代的函数值。为了使?荦f(xk)Tpk取得最小值,对其求模变化:
?荦f(xk)Tpk=||?荦f(xk)||・||pk||・cosθ (1-4)
上式中,θ为向量?荦f(xk)与pk的夹角。
假设||pk||为固定值,当θ=0时,即向量?荦f(xk)与pk同向,则cosθ=1,?荦f(xk)Tpk取得最大值;反之,当θ=180时,即向量?荦f(xk)与pk反向,则cosθ=-1,?荦f(xk)Tpk<0,所以向量pk的正方向就是梯度的负方向。沿其负梯度方向进行搜索能够使f(x)函数值减小的速率加快,能够快速地找到极小点。
根据式(1-1)可知,λ作为梯度?荦f(xk)与向量pk的系数,称为步长,同时影响着网络在负梯度方向上的搜索能力。选取最佳步长的计算公式如下:
λk=(1-5)
把求得最佳步长代入式(1-3)得
f(xk-λkpk)<f(xk) (1-6)
我们在最佳步长的计算中能够发现,公式(1-5)的计算增加了网络计算量,可以通过使用学习速率η替代步长来降低计算量。在文章中我们提出了一种分层调整学习速率的方法,它能够同时调整输入层与隐含层及隐含层与输出层之间的网络连接权值的学习速率。
设定网络的学习速率η为一个较小的值,当满足f(xk-λkpk)<f(xk)条件时,则学习速率的改变趋势为:
η?坩2η (1-7)
当满足f(xk-λkpk)>f(xk)条件时,则学习速率的改变趋势为:
η?坩0.5η (1-8)
2 以改进的BP神经网络参数为基础的自整定PID控制器
相比较其他而言,BP神经网络主要优胜点在于能够将网络连接权值不断代入计算来修正误差,使之可以不断接近适应度函数。学习算法的实现难度比较小,所以在构建PID控制器时,用BP网络结构来构建是比较常见的。以BP算法为基础的神经网络能够通过自学及自适应能力找到一组最优PID参数,使系统的性能达到最优。
①常规的PID控制器:闭环控制被控对象,在线整定KP、KI、KD参数;
②BP神经网络:BP神经网络通过自学习和自适应能力不断更新整定网络的连接权值,通过不断整定使输出值极限接近目标值。当输出值为KP、KI、KD时,系统的性能为最佳。
假定BP神经网络优化PID控制器是一个由三层网络构成的,且其输入层节点有M个,隐含层节点Q个、输出层节点3个。
输出节电输出对应KP、KI、KD可调参数值,隐含层的激发函数可以取Sigmoid函数,可正可负。然而输出层的激发函数为非负。
BP神经网络输入层节点的输出为
公式中,g′(x)=g(x)・(1-g(x)),f′(x)=(1-f2(x))/2。
以改进的BP神经网络为基础的PID控制器算法:
一是对BP神经网络的结构进行明确,在明确了网络结构的同时也就明确了输出层及隐含层的节点个数。并对各层的(0)初始化,k=1;
二是为计算e(k)=r(k)-y(k),可以通过样本采集得到的r(k)及y(k)代入计算;
三是在将r(i),y(i),u(i-1),e(i)(i=k,k-1,...,k-p)输入到神经网络之前进行统一化处理;
四是通过式(2-2)和(2-3)将各层神经元的输入输出计算出来,输出层输出的数据就是PID控制器的KP(k)、K1(k)、KD(k);
五是PID的控制输出u(k)可以由式u(t)=KP[e(t)]得到;
六是当所有网络权值刷新一次之后,若误差e(k+1)满足e(k+1)<
e(k),那么按照式(1-7)对其学习速率增大,当误差不再变化时,此时记录连接权值。若误差e(k+1)满足e(k+1)>e(k),那么按照式(1-8)对其学习速率减小,当误差减小时,记录连接权值
七是将k赋值为k+1,返回第二步。
3 改进的BP神经网络PID仿真
将被控对象假定为:
网络结构采用4-5-3结构,输入信号为γ(k)=1.0,此信号是阶跃信号。网络结构中的4代表输入层有四个输入,为给定输入r(k)、
e(k)=r(k)-y(k)、y(k)和1。网络结构中的3代表输出层有三个参数,为KP、KI、KD。η=0.01,加权系数初值在[-1,1]区间内随机赋值。经过仿真得到的曲线图如图1和图2所示。
图1 单位阶跃响应曲线图
图2 误差变化曲线
被控对象是二阶的,所以阶跃响应曲线以正弦的方式衰减,并在系统稳定水平线上下振荡。从图1和图2可以看出,刚启动时系统振荡幅度较大,误差也比较大,系统在0.2s左右时振荡幅度变小,误差也迅速变小,在0.3s之后系统达到稳定运行,误差几近于0。由图可知在单位阶跃响应中改进的BP神经网络相较BP神经网络而言,超调量小,收敛速度快。
4 总结
提出了一种分层调整学习速率的BP神经网络改进方法,并把改进的方法与传统的PID结合。并基于MATLAB平台建立了模型进行仿真验证,仿真结果验证了改进的BP神经网络PID具有更快的响应速度、更高的精度,且稳定性更强。
参考文献:
[1]李楠.基于神经网络直流无刷电机控制策略的研究[D].兰州理工大学,2005.
[2]黄家圣.人工神经网络在无刷直流电动机中的应用研究[D].上海海事大学,2005.
[3]王国玲,李振宇,范自道.无刷直流电机自适应模糊PID控制系统[J].机电工程技术,2013(2):30~33.