论文部分内容阅读
如今,工程师、科学家、企业家们都致力于事先预测出未来的发展及需求,针对各个目标制定相应的计划,并提供解决方案,以期改善某一领域。对未来事件的预测,在各个学科中均通过大量方法和技术得以广泛研究。从整体上来看,针对各种问题及假设,没有哪种单一的算法能一贯地优于其它算法。现今,越来越多的人研究预测算法,并提出了有关预测的各种算法,例如,模糊时间序列预测算法,落点预测算法,基于Kalman的预测算法,RBF神经网络的预测算法,这些算法都具有各自的优点和不足。 本文提出将两种启发式优化算法即粒子群优化算法和蝙蝠算法融入到RBF神经网络中,通过全局搜索和优化RBF神经网络的参数设置,提高RBF神经网络的预测能力。下面将简单阐述RBF神经网络,粒子群优化算法以及蝙蝠算法的由来和相关理论知识。 径向基神经网络简称RBF神经网络是由C.Darken和J.Moody在1989年首次提出的概念。从本质上来说,RBF神经网络的最基本的理论基础是函数逼近理论;从结构上来说,RBF神经网络是一种具有高效能的RBF神经网络。RBF神经网络主要有三层网络组建而成,主要包括输入层、输出层以及隐含层三层。从RBF网络的拓扑结构分析中,我们发现对于RBF神经网络的运行,必须对该神经网络进行训练与学习,其中包括的主要参数分别是径向基函数的宽度、径向基函数的中心以及输出层和隐含层两层节点之间的连接权值。所以,在对某一事件进行预测时,必须基于样本数据构建相空间,选择一定的数量相点对RBF神经网络进行必要的学习训练。在传统的RBF神经网路学习训练过程中,一般采用的都是最近邻聚类学习算法,从本质上来说,传统的RBF神经网路学习算法是属于在线自适应学习算法中的一种,因为最近邻聚类算法是不需要认为主观性的来事先对隐含层节点的数量进行确定,只需要完成聚类的目标,进而实现了网络最优化的选择。最近邻聚类算法的主要思路分为四个部分。 第一,根据相关的理论基础,对于径向基函数的宽度的确定,是根据事先选择一个合适的常数确定,此时的常数是判断输入的确定数据属于聚类半径的依据。 第二,在用作神经网络训练的样本数据中,对于第一对数据,第一个隐含层的中心点就是输入的变量,即中心点与输入变量相等,隐含层和输出层两层的连接权值就是输入变量。 第三,处理完第一对数据后,第二对数据的输入,首先计算输入变量与第一个隐含层中心的距离,此时分为两种情况:如果此距离比第一步骤中选择的常数大,则第二个隐含层的中心就是输入变量,隐含层的连接权值就是输入变量。若此距离小于等于第一步骤中选择的常数,那么第一个隐含层中心就是输入变量的最近邻聚类,此时隐含层的连接权值就是第一个输出向量和第二个输出向量的平均值。 第四,对于第i对数据的计算,依次重复上一步的运算,关键的是确定第i个输入变量和第i个隐含层中心之间的距离,此时的距离是前m个所计算出的距离的最小值,此时分为两种情况,如果距离比常数大,则第i个输入变量的第M+1个隐含层的中心就是第j个输入变量,此时隐含层的连接权值就是输入变量。如果距离小于等于常数,那么第j个隐含层的中心就是第j个输入变量的最近邻聚类,此时隐含层的连接权值就是所有输出向量的平均值。 在RBF神经网络模型的构建中,其中最关键的一个环节就是数据聚类。简单的来说,数据聚类就是遵循着“在同类簇的数据中寻找相似度高的数据,在异类族的数据中寻找相似度低的数据”的原则,在一个时间序列中寻找所有的类簇。从本质上讲,RBF神经网络静态宽度的算法是一种基于共享最近邻的理念的一种聚类算法,它的实现主要是通过时间序列中数据点共享最近邻的数据点的个数,将其个数作为整个时间序列的相似度,从而达到处理变密度簇问题的目的,进而在高位数据甚至是在含有噪音的条件下发现形状不同、大小不同以及密度不同的空间聚类。这类算法的特点是同时结合了ROCK思想和密度方法,保留K最近邻简化相似矩阵和个数。这类算法的优点是在变密度簇中的聚类效果特别明显,并且具有计算量小、训练时间短的特点。因为它不需要事前确定隐单元层的个数,在 RBF神经网络训练的过程中可以实现自动调节的功能,而且,只需要进行一次迭代即可,便可以得到基于一定精度的拟合效果,其训练速度是相当快的。但是根据大量的实验结果来看,这种算法也存在着一定的缺陷,整体拟合的效果并没有达到一个较为理想的状态。传统的RBF神经网络训练学习算法的一个主要缺点就是中心个数要求预先固定,仅仅考虑的是RBF神经网络的输入信息,而忽略的神经网络的输出 信息,但是RBF神经网络训练学习的目的是希望在一定指标的基础上减小期望输出和实际输出之间的误差,因此,应该从考虑样本输出的角度进行原来算法的改进。因为这种算法容易陷入局部最优解的局面,同时拟合效果的好坏是对选择的初始聚类中心依赖性较强,对于异常数据显示的较为敏感,可能造成聚类结构不平衡的效果。同时,一方面,因为在研究中所釆用的数据是时间序列,所以对预测效果具有很大影响的一个因素就是输入样本的次序。另一方面,RBF神经网络宽度的选择是预测效果影响的直接因素,如果宽度选取的过小时,整体上是对后面的数据拟合效果呈现较好的结果;如果宽度选取的过大时,整体上是对前面的数据拟合效果呈现较好的结果。 粒子群优化(Particle Swarm Optimization,简称PSO)是由Kennedy和Eberhart等人于1995年提出的一类模拟群体智能行为的优化算法。PSO算法的仿生基点是模仿鸟这类群体动物通过群聚而有效地觅食和逃避追捕行为。在这类群集的动物中,每个个体的行为除了自身本能行为外,还建立在群体行为的基础之上的。因为其种群存在“群集智能”,即在整个群体中信息是共享的,而且在个体之间存在着信息的交换与协作。PSO以模拟鸟的群集智能为特征,以求解连续变量优化问题为背景。由于其收敛速度快、编程易实现并且参数调整方便,因而一经提出就成为智能优化与进化计算领域的一个新的研究热点。目前已经广泛应用于目标函数优化、动态环境优化、神经网络训练、模糊控制系统等许多领域,并且在工程应用方面有了较大进展。粒子群优化算法的建立,借鉴了Reynolds在1986年提出的人工生命系统biod模型和生物学家Heppner提出的鸟类模型,其基本思想是通过群体中个体之间的写作和信息共享来寻找最优解。与其他群体智能算法不同在于,PSO将每个个体视为n维搜索空间中的一个没有重量和体积的“鸟”也即“粒子”。它们有自己的初始位置,有一个由优化函数确定的函数值,具有自主记忆能力并追寻当前最优的粒子位置,以一定的速度在搜索空间中飞行,该速度以个体和群体的飞行经验进行动态调整。PSO算法中,每个优化问题的解都是搜索空间中的一个粒子,所有的粒子都有一个由被优化的函数决定的适应度值,每个粒子还有一个速度决定它们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。该算法初始化为一群随机粒子(随机解),然后通过迭代找到最优解,在每一次迭代中,粒子通过两个“极值”来更新自己。一个是粒子本身所找到的最优解,这个解叫做个体极值;另一个极值是整个种群目前找到的最优解,这 这个极值是全局极值gBest。在找到两个最优值后,粒子根据相应的公式来更新自己的速度和位置。 粒子群算法的主要特点主要体现在以下几个方面: (1)信息共享制度 粒子群算法是在全局范围内来共享搜索的信息,在个体看来,粒子根据自身的历史飞行经验来不断调整自己的新搜索方向。从种群来看,整个种群中所有粒子都朝着全局最优值移动,所有粒子共享种群的搜索经验。 (2)全局收敛性能 在粒子群算法中,由随机因子的不确定性和惯性权重扩大搜索的空间并以此来避免种群陷入局部最优。 (3)算法特点及应用 粒子群算法只需移动粒子,而且根据其位置与速度的更新公式从本质上看,更适合于实数的优化。 蝙蝠算法是英国学者 Yang教授受蝙蝠回声定位能力的启发,假设在理想状态下,利用蝙蝠在觅食时所发出的脉冲的频率、响度、脉冲发射率的变化而模拟设计出来一种群智能算法。基本蝙幅算法通过频率的调整来定位目标。一般频率在某一范围内变化。蝙蝠按脉冲发射率和响度发出声波脉冲,蝙幅在定位的过程中,当发现目标时会增加脉冲的发射率,减小响度,从而逼近目标,以致捕食到猎物。蝙蝠算法是一种受蝙蝠的回声定位行为启发的随机搜索算法,在蝙蝠的速度和位置的更新过程中,频率本质上控制着这些蝙蝠群的移动步伐和范围。蝙蝠在寻优过程中,通过调节脉冲发射率和响度促使蝙幅朝着最优解方向移动。蝙蝠在刚开始搜索时具有较小的脉冲发射率,蝙幅有较大的概率在当前最优周围进行局部搜索,同时较大的响度使得局部搜索的范围比较大,有较大的概率探索到更好的解,随着迭代的增加,脉冲发射率增加,响度减小,局部搜索概率减小,局部挖掘的范围也很小,蝙幅不断扫描定位目标,最终搜索到最优解。从整个算法框架来讲,蝙蝠算法实质上是通过频率来控制蝙幅个体位置的更新,相当于一个步长因子,这里的频率是随机变化的,这个过程可以称为“位置更新”。第二个过程是主要是通过脉冲发射率和响度来进行局部搜索,这个过程可以称为“局部搜索”。算法最后,局部搜索有效后需要进一步加强,减小搜索范围,同时为了保证一定的种群多样性,需要减小局部搜索的概率。这个过程可以称为“步伐控制”。蝙蝠算法在位置更 新过程中,频率的更新属于随机选择,随机性较强;同时种群之间进行了种群最优个体和蝙蝠个体之间的交流,具有一定的搜索指导性。在局部搜索过程中,蝙幅个体在种群最优个体周围进行探索,使得算法具有较快的收敛速度。步伐控制过程中,脉冲发射率的增加和响度的减小是在局部搜索有效后进行的,减小的响度表示蝙幅个体在靠近猎物。 最后,本文将这一算法应用于现实数据来进行测试及预测,实验结果表明粒子群算法及蝙蝠算法能有效提高RBF神经网络的学习能力,且有较好的准确及误差收剑速度、较低的均方误差。同时,通过与传统神经网络进行对比,表明了本文方法的优越性。