果蝇算法优化广义回归神经网络的方法和装置与流程

文档序号:15689212发布日期:2018-10-16 21:42阅读:287来源:国知局

本申请实施例涉及数据处理技术领域,尤其涉及一种果蝇算法优化广义回归神经网络的方法和装置。



背景技术:

数据挖掘是数据库知识发现中的一个步骤,一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。其可以通过对历史数据和当前数据的分析,帮助决策人员提取隐藏在数据中的潜在关系与模式等,进而协助其预测未来可能出现的状况和即将产生的结果。数据挖掘在金融业、零售业、医疗、电信和电力等领域已经得到广泛的应用,成为一种利用信息资源的有效方法和途径,具有广阔的开发前景和应用市场。

以短期电力负荷预测为例,其主要是指预报未来几小时、1天至几天的电力负荷。但是由于电力系统突变性强,且电能不便于存储,从而要求系统发电力必须紧跟系统负荷的变化,保持动态平衡。因此,短期电力负荷预测在调度安全中扮演着较重的角色,预测精度的高低直接影响到电力系统运行的安全性、经济性和供电质量。如何提高其预测精度,已成为电力系统的研究热点之一。

其中,广义回归神经网络(grnn)由d.f.specht博士于1991年提出,其是径向基神经网络的一种变形形式。grnn建立在非参数回归的基础上,以样本数据为后验条件,执行parzen非参数估计,依据最大概率原则计算网络输出。与径向基网络相比,grnn训练更为方便,只有一个传播参数σ需要确定。传播参数σ的取值对grnn性能有着显著的影响,σ过大时,grnn的预测值近似于样本的平均值,误差大;σ过小时,会导致过拟合的问题。因此,确定一个适中的传播参数σ值是非常重要的。目前,通过果蝇算法来确定最佳传播参数σ。当果蝇搜索步长值过大时,果蝇算法的全局寻优能力强,但是局部寻优能力弱,因此会导致精度不高;当果蝇搜索步长值过小时,果蝇算法的局部寻优能力增强,但是全局寻优能力弱,算法容易陷入局部最优。但是现有技术中果蝇算法中的果蝇搜索步长值为一固定值,从而造成果蝇算法的寻优能力较弱。



技术实现要素:

本申请实施例提供一种果蝇算法优化广义回归神经网络的方法和装置,用于优化果蝇的全局寻优能力和局部寻优能力。

第一方面,本申请实施例提供一种果蝇算法优化广义回归神经网络的方法,包括:获取样本数据。根据所述样本数据,构造广义回归神经网络模型。基于所述广义回归神经网络模型,采用果蝇算法确定所述广义回归神经网络模型的最佳传播参数值。所述果蝇算法具有递减的果蝇搜索步长值,而且最佳传播参数值为广义回归神经网络模型的误差最小所对应的传播参数值。再将最佳传播参数值作为广义回归神经网络模型的传播参数值,获得优化后的广义回归神经网络模型。

可选地,所述果蝇搜索步长值随果蝇算法的迭代次数的增加而减小。

可选地,所述果蝇搜索步长值与果蝇算法的迭代次数满足sigmoid函数。或者,所述果蝇搜索步长值与果蝇算法的迭代次数满足线性公式。

可选地,根据所述样本数据,构造广义回归神经网络模型,包括:对所述样本数据进行归一化处理,获得归一化处理后的样本数据;以及根据所述归一化处理后的样本数据,构造广义回归神经网络模型。

可选地,所述获取样本数据,包括:获取实际检测数据;确定所述实际检测数据中的异常数据,以及确定所述实际检测数据中的聚类中心数据;所述异常数据与所述实际检测数据的平均数据的差距值大于预设值;用所述实际检测数据中的聚类中心数据替换所述异常数据,获得所述样本数据。

可选地,所述确定所述实际检测数据中的异常数据,包括:根据概率密度函数,确定所述实际检测数据中的异常数据。

可选地,所述概率密度函数满足3σ准则。

可选地,确定实际检测数据中的聚类中心数据,具体为:采用模糊c-均值聚类算法,确定所述实际检测数据中的聚类中心数据。

第二方面,本申请实施例提供一种果蝇算法优化广义回归神经网络的装置,包括:获取模块,用于获取样本数据。构造模块,用于根据获取模块获取的所述样本数据,构造广义回归神经网络模型。确定模块,用于基于所述构造模块构造的广义回归神经网络模型,采用果蝇算法确定所述广义回归神经网络模型的最佳传播参数值;所述果蝇算法具有递减的果蝇搜索步长值。最佳传播参数值为广义回归神经网络模型的误差最小所对应的传播参数值。优化模块,用于将最佳传播参数值作为广义回归神经网络模型的传播参数值,获得优化后的广义回归神经网络模型。

可选地,所述果蝇搜索步长值随所述果蝇算法的迭代次数的增加而减小。

可选地,所述果蝇搜索步长值与果蝇算法的迭代次数满足sigmoid函数;或者,

所述果蝇搜索步长值与果蝇算法的迭代次数满足线性公式。

可选地,所述构造模块,具体用于:对所述样本数据进行归一化处理,获得归一化处理后的样本数据;以及根据所述归一化处理后的样本数据,构造广义回归神经网络模型。

可选地,所述获取模块,具体用于:获取实际检测数据;确定所述实际检测数据中的异常数据,确定实际检测数据中的聚类中心数据;异常数据与实际检测数据的平均数据的差距值大于预设值;以及用实际检测数据中的聚类中心数据替换异常数据,获得样本数据。

可选地,所述获取模块,具体用于:根据概率密度函数,确定所述实际检测数据中的异常数据。

可选地,所述概率密度函数满足3σ准则。

可选地,所述获取模块,具体用于:采用模糊c-均值聚类算法,确定所述实际检测数据中的聚类中心数据。

第三方面,本申请实施例提供一种果蝇算法优化广义回归神经网络的装置,包括:存储器和处理器;存储器用于存储程序,处理器调用存储器存储的程序,以执行以上第一方面的方法。

第四方面,本申请实施例提供一种程序,该程序在被处理器执行时用于执行以上第一方面的方法。

第五方面,本申请实施例提供一种程序产品,例如计算机可读存储介质,包括第四方面的程序。

综上所述,由于用于优化广义回归神经网络模型的果蝇算法的果蝇搜索步长值是递减的,所以相对来说,开始搜索时的果蝇搜索步长值较大,这使得最开始收敛于smell最优的果蝇的位置更新更快,提高了搜索效率。最后搜索时的果蝇搜索步长值较小,提高了搜索精度。

附图说明

图1为本申请实施例一提供的果蝇算法优化广义回归神经网络的方法的流程图。

图2为本申请实施例提供的广义回归神经网络的一种示意图。

图3为本申请实施例提供的逐代递减的果蝇搜索步长值的示意图。

图4为本申请实施例提供的3σ准则的一种示意图。

图5为本申请实施例提供的广义回归神经网络的另一种示意图。

图6为本申请实施例提供的果蝇寻优轨迹坐标的一种示意图。

图7为本申请实施例提供的随着迭代次数的增加均方根差的收敛状况的一种示意图。

图8为本申请实施例提供的电力负荷预测结果与实际结果的对比示意图。

图9为本申请一实施例提供的果蝇算法优化广义回归神经网络的装置的结构示意图。

图10为本申请另一实施例提供的果蝇算法优化广义回归神经网络的装置的结构示意图。

具体实施方式

图1为本申请实施例一提供的果蝇算法优化广义回归神经网络的方法的流程图,如图1所示,本实施例的方法可以包括:

s101、获取样本数据。

本实施例中,获取样本数据与数据处理所属的应用场景有关。以本实施例的方法中的数据处理为短期电力负荷预测为例。短期电力负荷受到诸多因素影响,而由于气候因素决定着空调、取暖以及照明等设备的使用,因此电力负荷对气候因素是尤为敏感的。气候因素中不仅仅包括温度这个最主要的影响因素,还有日照、降水量、湿度、风向等影响因素,因此,在记录观测样本时,需要记录下每天的日最高温、日最低温和天气特征,天气特征,其量化值如表1所示,但本实施例不限于此。此外,还需要观测并记录每天的24个整点的电力负荷值,因此每天采集的样本包含的值为27个。

表1天气特征量化值

s102、根据所述样本数据,构造广义回归神经网络模型。

本实施例中,在获取到样本数据之后,根据样本数据,构造广义回归神经网络模型。该广义回归神经网络可以用于数据处理。

其中,广义回归神经网络包括:输入层、模式层、求和层和输出层,如图2所示。

(1)输入层中神经元的数目与样本数据输入向量的维数相同,各神经元是简单的线性单元,直接将输入变量传递给模式层。其中,输入层神经元的数目设置为n。以上述短期电力负荷电力预测为例,由于每天采集的样本包含的值为27个,因此,n设置为27。

(2)模式层神经元数目等于样本数据的数目,各神经元对应一个样本数据集。模式层神经元数目为n,模式层神经元传递函数为:

其中,x为输入变量,xi为第i个神经元对应的样本数据,pi为输入变量x与第i个神经元对应的样本数据距离的指数形式,t表示转秩运算,exp表示以e为底的幂函数,σ'为高斯函数的宽度系数,在此称为传播参数值。

(3)求和层共由两类神经元来进行求和计算组成。

一类是神经元对所有模式层神经元的输出进行算数求和,模式层与各神经元的连接权值为1,传递函数为:

另一类是神经元对所有模式层的神经元进行加权求和,模式层与各神经元之间的连接权值为:

其中,wi为第i个神经元对应的输出样本数据。

(4)输出层的神经元数等于样本数据中输出向量的维数,是将上述求和层得到的结果相除得到的。即:

需要说明的是,如何构造广义回归神经网络模型的具体实现过程可以参见现有技术中的相关描述,此处不再赘述。

本实施例中的广义回归神经网络模型中的σ'是非常重要的参数,因此,要优化构建的广义回归神经网络模型,则需要优化σ'。

s103、基于所述广义回归神经网络模型,采用果蝇算法确定所述广义回归神经网络模型的最佳传播参数值;所述果蝇算法具有递减的果蝇搜索步长值;所述最佳传播参数值为所述广义回归神经网络模型的误差最小所对应的传播参数值。

本实施例中,采用果蝇算法对广义回归神经网络模型进行优化,以确定广义回归神经网络模型的最佳传播参数值。

其中,果蝇算法是根据果蝇利用自身嗅觉与视觉上的优势寻找食物的原理进行设计。先是利用嗅觉搜集漂浮在空中的各种气味,然后飞到食物附近利用敏锐的视觉发现食物和同伴聚集的位置,并往该方向飞去。果蝇搜索食物的过程就是从食物味道浓度小的地方不断向味道浓度大的地方靠近,直到找到食物。

其中,由于果蝇算法的果蝇搜索步长值对果蝇算法的性能有着重要影响,为了平衡果蝇算法的全局寻优能力和局部寻优能力,本实施例中的果蝇搜索步长采用逐渐递减的果蝇搜索步长值,而不是采用现有技术中的定值的果蝇搜索步长值。

(1)对果蝇算法中的各参数初始化,设置果蝇种群个数、最大迭代数和果蝇初始位置(x0,y0)、初代果蝇搜索步长值l0。

(2)在通过果蝇算法搜索最佳传播参数值的过程中,第j次迭代搜索时的果蝇搜索步长值为lj,并且,lj+1<lj<lj-1。也就是,果蝇搜索步长值随果蝇算法的迭代次数的增加而减小。第j次迭代搜索时,果蝇的位置为(xj,yj)。

其中,xj=x0+ljyj=y0+lj

(3)根据果蝇的位置计算果蝇与原点之间的距离disti。

(4)根据disti计算判定值si。

(5)将si作为广义回归神经网络模型的传播参数值σ',代入至广义回归神经网络模型中,然后根据该广义回归神经网络模型中获得输出值yji,再计算该输出值yji(例如预测的短期电荷负荷值)与实际值(实际产生的期电荷负荷值)之间的均方根差rmse,并将该均方根差作为味道浓度判定函数smell。

其中,yji为广义回归神经网络模型的σ'等于si时的输出值,ti为实际值。

(6)在果蝇群体中的找出smell最优的果蝇,即rmse的极小值。

(7)保存并记录smell最优对应的果蝇的位置(xb,yb)。与此同时,其它果蝇个体向该位置靠近。即

xj+1=xbyj+1=yb

(8)进行迭代搜索最佳传播参数值的过程中,判断smell(j+1)值是否小于上一次迭代过程中的smell(j),若否则执行上述(2),若是则执行下述(9)。

(9)判定当前迭代次数j是否等于最大迭代次数,若等于最大迭代次数,则将保存的smell最优的smell值,并将该smell值作为最佳传播参数值σ'。若否,则执行上述(2)。

本实施例通过上述(1)-(9)可以确定最佳传播参数值。

s104、将所述最佳传播参数值作为所述广义回归神经网络模型的传播参数值,获得优化后的广义回归神经网络模型。

本实施例中,将上述确定的最佳传播参数值作为该广义回归神经网络模型中的传播参数值,以获得优化后的广义回归神经网络模型。由于该最佳传输参数值是通过均方根差rmse为极小值来确定的,该rmse的值可以反映广义回归神经网络模型的输出值的精度高低,rmse的值越小,表示精度越高。因此,优化后的广义回归神经网络模型用于数据处理,提高了精度。

本实施例中,由于用于优化广义回归神经网络模型的果蝇算法的果蝇搜索步长值是递减的,所以相对来说,开始搜索时的果蝇搜索步长值较大,这使得最开始收敛于smell最优的果蝇的位置更快,提高了搜索效率。最后搜索时的果蝇搜索步长值较小,提高了搜索精度。

可选地,所述果蝇搜索步长值与所述果蝇算法的迭代次数满足线性公式。例如:lj+1与lj之差为固定值。

可选地,所述果蝇搜索步长值与所述果蝇算法的迭代次数满足sigmoid函数,例如:

通过sigmoid函数可以使得果蝇搜索步长值先随果蝇算法的迭代次数的增加减小得很快,再随着果蝇算法的迭代次数的地增加减小得缓慢,例如如图3所示,最初,果蝇搜索步长值最大,果蝇可以快速接近全局最优,进一步提高了算法的全局寻优能力;随着果蝇算法的迭代次数的增加,搜索步长值不断减小,其局部寻优能力增强,进一步提高了算法的搜索精度。

可选地,上述s102的一种可行的实现方式,可以包括:

s1021、对所述样本数据进行归一化处理,获得归一化处理后的样本数据。

s1022、根据所述归一化处理后的样本数据,构造广义回归神经网络模型。

本实施例中,对样本数据进行归一化处理,获得归一化处理后的样本数据。其中,归一化处理的一种实现过程为:每个样本数据与最小样本数据之差,除以,最大样本数据与最小样本数据之差,因此,相除获取的值作为归一化处理后的样本数据。其中,最小样本数据经过归一化处理之后,获得的归一化处理后的样本数据为0。而最大样本数据经过归一化处理之后,获得的归一化处理后的样本数据为1。因此,每个归一化处理后的样本数据的值介于0到1之间。然后再根据介于0到1之间归一化处理后的样本数据,构造广义回归神经网络模型。需要说明的是,本实施例不限于上述实施方式。本实施例通过对样本数据进行归一化处理,提高了构造广义回归神经网络模型的效率,使得数据处理更加方便。

可选地,上述s101的一种可行的实现方式,可以包括:

s1011、获取实际检测数据。

s1012、确定所述实际检测数据中的异常数据,以及确定所述实际检测数据中的聚类中心数据;所述异常数据与所述实际检测数据的平均数据的差距值大于预设值。

s1013、用所述聚类中心数据替换所述异常数据,获得所述样本数据。

本实施例中,获取实际检测数据,以短期电力负荷预测为例,获取的实际检测数据例如为:每天中24个整点记录的电力负荷值、每天记录的最高温度、最低温度、天气特征的量化值。然后确定这些实际检测数据中的异常数据,其中,异常数据与实际检测数据的平均数据的差距值大于预设值,例如:某一天处于夏天,记录的最高温度是0摄氏度,这个属于异常数据。本实施例还可以确定s1011中实际检测数据中的聚类中心数据,再将聚类中心数据替换上述的异常数据,从而获得样本数据。本实施例通过采用聚类中心数据替换异常数据,可以提高广义回归神经网络模型用于数据处理的精确度。

可选地,上述s1012的一种可行的实现方式包括:根据概率密度函数,确定所述实际检测数据中的异常数据。其中,概率密码函数可以满足依拉达准则(例如3σ准则);或者,狄克逊准则;或者,肖维勒准则;或者,格拉布斯准则。

可选地,本实施例以所述概率密度函数满足3σ准则为例。

3σ准则如图4所示,取值几乎应全部集中在(μ-3σ,μ+3σ)区间内,其中,μ是指样本数据的均值,此处的σ是指样本数据的标准差,其中,如何获得均值和标准差,可以参见现有技术中的相关记载,此处不再赘述。然后本实施例将样本数据中与μ之差的绝对值大于3σ的数据作为异常数据。采用3σ准则,可以提高确定异常数据的准确率。

可选地,本实施例中确定所述实际检测数据中的聚类中心数据的一种实现方式可以为:采用模糊c-均值聚类算法(fcma),确定所述实际检测数据中的聚类中心数据。

其中,模糊c-均值聚类算法的具体实现过程可以参见现有技术中的相关记载,此处不再赘述。

下面以一个短期电力负荷预测为例对本申请进行详细说明。

其中,经过对实际检测数据进行异常数据替换,以及归一化处理后的样本数据如下表2所示。其中,一部分样本数据省略示出。

表2

此外,短期电力负荷具有明显的日周期性,因此将预测日前两日的电力负荷数据作为重要参考特征。而且天气特征和温度因素也是重要参考特征。因此,在构造广义神经回归网络的输入向量和输出向量时,本方案将电力负荷预测日前两日的气象特征数据和整点电力负荷数据作为输入向量,预测日当日的某个整点时刻作为一个目标值,13个输入向量如表3所示,输出向量即为预测日第t小时整点负荷值。

表3

因此,本实施例可以构造如图5所示的广义回归神经网络的网络结构,输入层的神经元有13个,输出层为预测日第t小时整点负荷,故输出层的神经元为一个。

在果蝇算法的参数设定上,随机初始化果蝇群体位置区间为[0,1],迭代的果蝇搜寻食物的随机飞行方向,距离区间为[-10,10],种群规模为10,而迭代次数为100,基于sigmoid函数的递减的果蝇搜索步长值lj计算公式如下:

本申请实施例中,递减的果蝇搜索步长值的果蝇针对广义回归神经网络的σ'值的寻优轨迹坐标如图6所示,且在迭代100次后调整过的均方根差rmse收敛状况如图7所示。rmse在第83代开始收敛,最小均方根误差值rmse=0.0018,而最佳的σ'值为1.5413。此时果蝇的群体位置为(-0.4719,0.4683)。

然后,利用本申请获得的优化后的广义回归神经网络模型,对6月24日24小时负荷进行预测。广义回归神经网络的收敛速度非常快,仿真的预测结果如图8所示。

再将bp神经网络模型应用于同一例子中,输入层的节点数为13,输出层的节点数为1,经反复训练得到隐含层节点数为10,训练函数采用牛顿-梯度下降法(l-m)算法,其的预测结果也如图8所示。

由图8所示的两种预测结果以及实际结果可见,bp神经网络虽然也可以用于进行短期电力负荷的预测,但其精度差,同时,在仿真的过程中还发现bp神经网络的稳定性很差,效果远不如本申请获得的优化后的广义回归神经网络模型。

图9为本申请一实施例提供的果蝇算法优化广义回归神经网络的装置的结构示意图,如图9所示,本实施例的装置可以包括:获取模块11、构造模块12、确定模块13和优化模块14。

获取模块11,用于获取样本数据。

构造模块12,用于根据所述获取模块11获取的样本数据,构造广义回归神经网络模型。

确定模块13,用于基于所述构造模块12构造的广义回归神经网络模型,采用果蝇算法确定所述广义回归神经网络模型的最佳传播参数值;所述果蝇算法具有递减的果蝇搜索步长值;所述最佳传播参数值为所述广义回归神经网络模型的误差最小所对应的传播参数值。

优化模块14,用于将所述确定模块13确定的最佳传播参数值作为所述广义回归神经网络模型的传播参数值,获得优化后的广义回归神经网络模型。

可选地,所述果蝇搜索步长值随所述果蝇算法的迭代次数的增加而减小。

可选地,所述果蝇搜索步长值与所述果蝇算法的迭代次数满足sigmoid函数。或者,所述果蝇搜索步长值与所述果蝇算法的迭代次数满足线性公式。

可选地,所述构造模块12,具体用于:对所述样本数据进行归一化处理,获得归一化处理后的样本数据;以及根据所述归一化处理后的样本数据,构造广义回归神经网络模型。

可选地,所述获取模块11,具体用于:获取实际检测数据;确定所述实际检测数据中的异常数据,确定所述实际检测数据中的聚类中心数据;所述异常数据与所述实际检测数据的平均数据的差距值大于预设值;以及用所述实际检测数据中的聚类中心数据替换所述异常数据,获得所述样本数据。

可选地,所述获取模块11,具体用于:根据概率密度函数,确定所述实际检测数据中的异常数据。

可选地,所述概率密度函数满足3σ准则。

可选地,所述获取模块11,具体用于:采用模糊c-均值聚类算法,确定所述实际检测数据中的聚类中心数据。

本实施例的装置,可以用于执行本申请上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图10为本申请另一实施例提供的果蝇算法优化广义回归神经网络的装置的结构示意图,如图10所示,本实施例的装置可以包括:存储器21和处理器22;所述存储器21用于存储执行果蝇算法优化广义回归神经网络的方法的程序代码。

所述处理器22,用于调用存储器21中存储的程序代码执行:

获取样本数据。

根据所述样本数据,构造广义回归神经网络模型。

基于所述广义回归神经网络模型,采用果蝇算法确定所述广义回归神经网络模型的最佳传播参数值;所述果蝇算法具有递减的果蝇搜索步长值;所述最佳传播参数值为所述广义回归神经网络模型的误差最小所对应的传播参数值。

将所述最佳传播参数值作为所述广义回归神经网络模型的传播参数值,获得优化后的广义回归神经网络模型。

可选地,所述果蝇搜索步长值随所述果蝇算法的迭代次数的增加而减小。

可选地,所述果蝇搜索步长值与所述果蝇算法的迭代次数满足sigmoid函数。或者,所述果蝇搜索步长值与所述果蝇算法的迭代次数满足线性公式。

可选地,所述处理器22,具体用于:对所述样本数据进行归一化处理,获得归一化处理后的样本数据;以及根据所述归一化处理后的样本数据,构造广义回归神经网络模型。

可选地,所述处理器22,具体用于:获取实际检测数据;确定所述实际检测数据中的异常数据,以及确定所述实际检测数据中的聚类中心数据;所述异常数据与所述实际检测数据的平均数据的差距值大于预设值;以及用所述聚类中心数据替换所述异常数据,获得所述样本数据。

可选地,所述处理器22,具体用于:根据概率密度函数,确定所述实际检测数据中的异常数据。

可选地,所述概率密度函数满足3σ准则。

可选地,所述处理器22,具体用于:采用模糊c-均值聚类算法,获取所述实际检测数据中的聚类中心数据。

本实施例的装置,可以用于执行本申请上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:只读内存(英文:read-onlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1