当前位置: 首页 > 专利查询>温州大学专利>正文

一种基于改进飞蛾优化算法的预测模型方法技术

技术编号:20364617 阅读:39 留言:0更新日期:2019-02-16 17:18
本发明专利技术提供一种基于改进飞蛾优化算法的预测模型方法,包括载入数据集并对样本数据进行标准化处理;采用高斯变异策略和混沌搅动处理来改进飞蛾火焰优化算法并利用改进的飞蛾优化算法构建支持向量机模型和/或构建极限学习机模型。实施本发明专利技术,不仅能增加种群多样性,增强算法的搜索能力,还能防止算法陷入局部最优,快速找到全局最优解。

【技术实现步骤摘要】
一种基于改进飞蛾优化算法的预测模型方法
本专利技术涉及计算机
,尤其涉及一种基于改进飞蛾优化算法的预测模型方法。
技术介绍
群体智能优化算法是一种对自然界不同生物群体的社会行为以及觅食行为进行模拟和建模的随机搜索算法。它与传统随机算法不同,随着搜索过程的进行,该算法会在搜索空间内进行全方位搜索而且当搜索过程达到一定阶段后,算法会在最优解周围进行更深层次的搜索以得到更多高质量的解。以上智能算法较为著名的比如:粒子群算法,灰狼优化算法,蚁群算法等。飞蛾火焰优化算法是2015年由Mirjalili等人提出的一种新型智能优化算法。该算法模拟了飞蛾围绕光源通过横向定位机制进行飞行的行为来搜索最优解。在飞蛾火焰优化算法中,飞蛾为候选解,飞蛾集合用M矩阵表示,而另一个核心组件是火焰,F表示火焰集合。在该算法中火焰和飞蛾都是解,其不同之处在于迭代过程中对待和更新方式不同。飞蛾是搜索空间中实际移动的主体,而火焰是飞蛾到目前为止所得到的最优位置。当光源(月亮)很远时,飞蛾以直线行进,而当光源(人造光)更近时,飞蛾进行螺旋运动。该算法因具有群体智能算法搜索速度较快、调节参数少、易跳出局部极小值等优点,在许多优化问题中得到广泛应用。然而,该算法在处理复杂优化问题(如存在大量局部最优解的问题)时,极易陷入局部最优,很难找到全局最优解。针对这个问题,我们将高斯变异机制和混沌扰动机制引入飞蛾火焰优化算法。一方面,由于高斯分布的尾部较窄,加入高斯变异使得其更有可能在父代附近产生新的后代,因此,选择小步长的高斯变异机制可以使得飞蛾可以更好的对搜索空间的每个角落进行搜索,从而增加种群多样性,增强算法的搜索能力;另一方面引入混沌扰动机制,通过该机制对目前为止获得的当前最优解的位置进行混沌扰动机制,防止算法陷入局部最优。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种基于改进飞蛾优化算法的预测模型方法,不仅能增加种群多样性,增强算法的搜索能力,还能防止算法陷入局部最优,快速找到全局最优解。为了解决上述技术问题,本专利技术实施例提供了一种基于改进飞蛾火焰优化算法来构建预测模型的方法,所述方法包括以下步骤:步骤S1:参数初始化;其中,初始化的参数包括:最大迭代次数T、飞蛾种群数量L、惩罚系数C的搜索空间[Cmin,Cmax]和核宽γ的搜索空间[γmin,γmax];T和L均为正整数;步骤S2:初始化L个飞蛾的位置,并采用如下公式(1)-(2),将所有飞蛾的位置归入到指定的搜索范围内,得到更新后的L个飞蛾位置Xm=(xm,1,xm,2)(m=1,2…,L);其中,所述指定的搜索范围是指惩罚系数C的搜索范围[Cmin,Cmax]和核宽γ的搜索范围[γmin,γmax],rand为[0,1]之间的随机数;Cmax为飞蛾的惩罚系数最大值,Cmin为飞蛾的惩罚系数最大值,γmax为飞蛾的核宽最大值,γmin为飞蛾的核宽最大值;xm,1=(Cmax-Cmin)*rand+Cminm=1,2…n(1);xm,2=(γmax-γmin)*rand+γminm=1,2…n(2);步骤S3:通过飞蛾个体位置Xm的惩罚系数C和核宽γ,计算每一个飞蛾个体m对应的飞蛾的适应度fm;步骤S4:将全部飞蛾个体的适应度由大到小进行排序,将所有飞蛾位置按照对应适应度大小进行排序,并参照排序后得到的所有飞蛾个体的适应度和所对应排序后的飞蛾位置来更新火焰位置fs与适应度ff;其中,若当前迭代次数为1,则将火焰位置fs的初始值作为所有火焰的适应度ff值,并将所对应排序后的飞蛾位置作为全部火焰的位置;否则,将当前迭代次数内获得飞蛾适应度和上一迭代次数内所获得的飞蛾适应度组合并按降序排序,并取前L个值作为火焰适应度值,以及取前L个与火焰适应度对应的飞蛾位置作为火焰位置,且设置火焰适应度值最大的记为Fbest。步骤S5:根据更新后的火焰位置对所有飞蛾位置Xl进行更新,得到更新后的所有飞蛾位置X′l;步骤S6:采用高斯变异策略对每一个飞蛾更新后的位置进行变异处理,得到每一个经变异处理的飞蛾个体位置XmG,并根据每一个飞蛾更新后的位置和每一个经变异处理所得的飞蛾个体位置XmG,计算出每一个飞蛾个体更新后的位置对应的适应度值及其经变异处理的位置XmG对应的适应度值,且进一步筛选出每一个飞蛾个体中所计算出的两个适应度值中的最大作为其更新后的位置对应的适应度值;步骤S7:将步骤S6中所得的每一个飞蛾个体的适应度值按降序进行排序,保留排序后适应度值最高的飞蛾个体位置X′best,且将保留的飞蛾个体位置X′best的适应度值和最大火焰适应度值Fbest进行比较,并取二者中的最大值来更新最大火焰适应度值Fbest和最大火焰对应位置,进一步采用混沌映射函数对将保留的飞蛾个体位置X′best进行混沌扰动处理,输出最优飞蛾适应度值Fbest所对应的位置Xbest=(xbest,1,xbest,2);步骤S8:判断是否达到最大迭代次数T;若是时,将步骤S7所得的飞蛾位置Xbest=(xbest,1,xbest,2)中xbest,1和xbest,2分别作为最终的惩罚系数C和核宽γ输出;否则,返回步骤S3,进入下一次迭代操作;步骤S9:将步骤S8获得的最优惩罚系数C和核宽γ,用于构建最优分类函数公式(3)以优化支持向量机模型和/或用于构建最优分类函数公式(4)以优化极限学习机模型;式(3)和(4)中,K(xi,yj)=exp(-γ||xi-xj||),ai为拉格朗日系数,b为阈值,xi为待测试样本(i=1…n),n为样本个体数,yj表示与训练样本相对应的标签,yi(j=1…n)取值为1和-1,其中1表示当前样本个体为正类样本,-1表示当前样本个体为负类样本;ΩELM为符合Mercer定理构造的核函数,T表示目标向量,T=[t1,t2,…,tn]。其中,所述步骤S3具体包括:步骤S3.1:遍历每个飞蛾个体Xm=(xm,1,xm,2),以xm,1为第m个飞蛾个体在当前位置时的惩罚系数值C,以xm,2为第m个飞蛾个体在当前位置时的核宽γ,模拟预测模型的参数;步骤S3.2:对样本数据进行标准化处理,将标准化处理后的样本数据划分为K折,并将每一折样本数据输入至所述分类模型中,计算每一折样本数据对应的机器学习模型诸如核极限学习机模型或支持向量机等模型的准确度acck来计算出K个模型准确度的平均值,并作为飞蛾m对应的飞蛾的适应度fm;其中,k为K折交叉的其中之一折即第k折;模型准确度acck表示的是以飞蛾个体位置Xm中的xm,1和xm,2为惩罚系数C和核宽γ所模拟的预测模型在第k折交叉验证上所得到分类准确度;平均值ACC表示以飞蛾个体位置Xm中的xm,1和xm,2为惩罚系数C和核宽γ所模拟的分类模型的准确度,也即飞蛾m对应的飞蛾适应度fm,该平均值ACC通过公式计算获得;步骤S3.3:对所有m个个体都执行上述步骤S3.1及步骤S3.2,获得每一个飞蛾个体m对应的飞蛾的适应度fm。其中,所述步骤S5具体包括:步骤S5.1:根据公式(5)计算第m个飞蛾到第j个火焰的距离;Dmj=|Fj-Xm|(5);式(5)中,Xm为第m个飞蛾的位置,Fj为第j个火焰,Dm,j为第m个飞蛾到第j个火焰的距离;步骤S5.2:根据公式本文档来自技高网
...

【技术保护点】
1.一种基于改进飞蛾优化算法的预测模型方法,其特征在于,所述方法包括以下步骤:步骤S1:参数初始化;其中,初始化的参数包括:最大迭代次数T、飞蛾种群数量L、惩罚系数C的搜索空间[Cmin,Cmax]和核宽γ的搜索空间[γmin,γmax];T和L均为正整数;步骤S2:初始化L个飞蛾的位置,并采用如下公式(1)‑(2),将所有飞蛾的位置归入到指定的搜索范围内,得到更新后的L个飞蛾位置Xm=(xm,1,xm,2)(m=1,2…,L);其中,所述指定的搜索范围是指惩罚系数C的搜索范围[Cmin,Cmax]和核宽γ的搜索范围[γmin,γmax],rand为[0,1]之间的随机数;Cmax为飞蛾的惩罚系数最大值,Cmin为飞蛾的惩罚系数最大值,γmax为飞蛾的核宽最大值,γmin为飞蛾的核宽最大值;xm,1=(Cmax‑Cmin)*rand+Cmim m=1,2…n  (1);xm,2=(γmax‑γmin)*rand+γmin m=1,2…n   (2);步骤S3:通过飞蛾个体位置Xm的惩罚系数C和核宽γ,计算每一个飞蛾个体m对应的飞蛾的适应度fm;步骤S4:将全部飞蛾个体的适应度由大到小进行排序,将所有飞蛾位置按照对应适应度大小进行排序,并参照排序后得到的所有飞蛾个体的适应度和所对应排序后的飞蛾位置来更新火焰位置fs与适应度ff;其中,若当前迭代次数为1,则将火焰位置fs的初始值作为所有火焰的适应度ff值,并将所对应排序后的飞蛾位置作为全部火焰的位置;否则,将当前迭代次数内获得飞蛾适应度和上一迭代次数内所获得的飞蛾适应度组合并按降序排序,并取前L个值作为火焰适应度值,以及取前L个与火焰适应度对应的飞蛾位置作为火焰位置,且设置火焰适应度值最大的记为Fbest;步骤S5:根据更新后的火焰位置对所有飞蛾位置Xl进行更新,得到更新后的所有飞蛾位置X′l;步骤S6:采用高斯变异策略对每一个飞蛾更新后的位置进行变异处理,得到每一个经变异处理的飞蛾个体位置XmG,并根据每一个飞蛾更新后的位置和每一个经变异处理所得的飞蛾个体位置XmG,计算出每一个飞蛾个体更新后的位置对应的适应度值及其经变异处理的位置XmG对应的适应度值,且进一步筛选出每一个飞蛾个体中所计算出的两个适应度值中的最大作为其更新后的位置对应的适应度值;步骤S7:将步骤S6中所得的每一个飞蛾个体的适应度值按降序进行排序,保留排序后适应度值最高的飞蛾个体位置X′best,且将保留的飞蛾个体位置X′best的适应度值和最大火焰适应度值Fbest进行比较,并取二者中的最大值来更新最大火焰适应度值Fbest和最大火焰对应位置,进一步采用混沌映射函数对将保留的飞蛾个体位置X′best进行混沌扰动处理,输出最优飞蛾适应度值Fbest所对应的位置Xbest=(xbest,1,xbest,2);步骤S8:判断是否达到最大迭代次数T;若是时,将步骤S7所得的飞蛾位置Xbest=(xbest,1,xbest,2)中xbest,1和xbest,2分别作为最终的惩罚系数C和核宽γ输出;否则,返回步骤S3,进入下一次迭代操作;步骤S9:将步骤S8获得的最优惩罚系数C和核宽γ,用于构建最优分类函数公式(3)以优化支持向量机模型和/或用于构建最优分类函数公式(4)以优化极限学习机模型;...

【技术特征摘要】
1.一种基于改进飞蛾优化算法的预测模型方法,其特征在于,所述方法包括以下步骤:步骤S1:参数初始化;其中,初始化的参数包括:最大迭代次数T、飞蛾种群数量L、惩罚系数C的搜索空间[Cmin,Cmax]和核宽γ的搜索空间[γmin,γmax];T和L均为正整数;步骤S2:初始化L个飞蛾的位置,并采用如下公式(1)-(2),将所有飞蛾的位置归入到指定的搜索范围内,得到更新后的L个飞蛾位置Xm=(xm,1,xm,2)(m=1,2…,L);其中,所述指定的搜索范围是指惩罚系数C的搜索范围[Cmin,Cmax]和核宽γ的搜索范围[γmin,γmax],rand为[0,1]之间的随机数;Cmax为飞蛾的惩罚系数最大值,Cmin为飞蛾的惩罚系数最大值,γmax为飞蛾的核宽最大值,γmin为飞蛾的核宽最大值;xm,1=(Cmax-Cmin)*rand+Cmimm=1,2…n(1);xm,2=(γmax-γmin)*rand+γminm=1,2…n(2);步骤S3:通过飞蛾个体位置Xm的惩罚系数C和核宽γ,计算每一个飞蛾个体m对应的飞蛾的适应度fm;步骤S4:将全部飞蛾个体的适应度由大到小进行排序,将所有飞蛾位置按照对应适应度大小进行排序,并参照排序后得到的所有飞蛾个体的适应度和所对应排序后的飞蛾位置来更新火焰位置fs与适应度ff;其中,若当前迭代次数为1,则将火焰位置fs的初始值作为所有火焰的适应度ff值,并将所对应排序后的飞蛾位置作为全部火焰的位置;否则,将当前迭代次数内获得飞蛾适应度和上一迭代次数内所获得的飞蛾适应度组合并按降序排序,并取前L个值作为火焰适应度值,以及取前L个与火焰适应度对应的飞蛾位置作为火焰位置,且设置火焰适应度值最大的记为Fbest;步骤S5:根据更新后的火焰位置对所有飞蛾位置Xl进行更新,得到更新后的所有飞蛾位置X′l;步骤S6:采用高斯变异策略对每一个飞蛾更新后的位置进行变异处理,得到每一个经变异处理的飞蛾个体位置XmG,并根据每一个飞蛾更新后的位置和每一个经变异处理所得的飞蛾个体位置XmG,计算出每一个飞蛾个体更新后的位置对应的适应度值及其经变异处理的位置XmG对应的适应度值,且进一步筛选出每一个飞蛾个体中所计算出的两个适应度值中的最大作为其更新后的位置对应的适应度值;步骤S7:将步骤S6中所得的每一个飞蛾个体的适应度值按降序进行排序,保留排序后适应度值最高的飞蛾个体位置X′best,且将保留的飞蛾个体位置X′best的适应度值和最大火焰适应度值Fbest进行比较,并取二者中的最大值来更新最大火焰适应度值Fbest和最大火焰对应位置,进一步采用混沌映射函数对将保留的飞蛾个体位置X′best进行混沌扰动处理,输出最优飞蛾适应度值Fbest所对应的位置Xbest=(xbest,1,xbest,2);步骤S8:判断是否达到最大迭代次数T;若是时,将步骤S7所得的飞蛾位置Xbest=(xbest,1,xbest,2)中xbest,1和xbest,2分别作为最终的惩罚系数C和核宽γ输出;否则,返回步骤S3,进入下一次迭代操作;步骤S9:将步骤S8获得的最优惩罚系数C和核宽γ,用于构建最优分类函数公式(3)以优化支持向量机模型和/或用于构建最优分类函数公式(4)以优化极限学习机模型;式(3)和(4)中,K(xi,yj)=exp(-γ||xi-xj||),ai为拉格朗日系数,b为阈值,xi为待测试样本(i=1…n),n为样本个体数,yj表示与训练样本相对应的标签,yj(j=1…n)取值为1和-1,其中1表示当前样本个体为正类样本,-1表示当前样本个体为负类样本;ΩELM为符合Mercer定理构造的核函数,T表示目标向量,T=[t1,t2,…,tn]。2.如权利要求1所述的基于改进飞蛾优化算法的预测模型方法,其特征在于,所述步骤S3具体包括:步骤S3.1:遍历每个飞蛾个体X...

【专利技术属性】
技术研发人员:徐粤婷陈慧灵罗杰张谦焦珊陈昊赵学华
申请(专利权)人:温州大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1