基于改进粒子群算法优化策略的核极限学习机方法研究

2022-11-03 07:18龚平顺
河南科技 2022年19期
关键词:测试函数学习机权值

高 天 龚平顺

(安徽理工大学电气与信息工程学院,安徽 淮南 232000)

0 引言

随着科技的进步,神经网络已逐渐成为当前一大热点,如人工神经网络[1]、概率神经网络[2]、决策树[3]等。由于神经网络模型架构存在缺陷,导致单一神经网络存在着上限,而将多种神经网络进行融合,成为一种新的解决方案。林培杰等[4]通过支持向量机来实现分类,并选取粒子群算法改进相关参数;王元章等[5]对L-M和BP神经网络算法进行融合,并完善BP算法的参数;秦琼等[6]、林涛等[7]、章勇高等[8]将极限学习机应用于新能源的功率预测中;任晓琳等[9]将蝙蝠算法与核极限学习机进行结合,从而优化KELM参数,增强模型的稳定性,提高诊断精度。本研究通过分析核极限学习机的基本原理,改进粒子群算法的学习策略来修正KELM参数,从而构建最佳模型。

1 核极限学习机

1.1 极限学习机

极限学习机(ELM)是一种可实现快速学习进化的独特算法[10]。由于模型结构的特点,其学习速度极快。

网络实际输出值的计算公式见式(1)。

式中:ωi为ELM输入节点和隐含层节点的权值;bi为ELM隐含层的偏置系数;βi为ELM隐含层和输出层的输出权值;gi为激活函数。

ELM模型的矩阵形式见式(2)。

式中:β为输出权值矩阵;H为隐含层的输出矩阵;T为期望输出矩阵。

在确定H矩阵和T矩阵后,可求出输出权值矩阵β,见式(3)。

式中:H+为矩阵H的广义逆矩阵。

ELM网络的隐含层节点数通常小于数据的样本数,容易产生复共线性问题,导致求解出的权值矩阵β不一致,从而严重影响模型的稳定性[11]。

1.2 核极限学习机

Huang等[12]采用核函数的理论,通过核矩阵Ω来代替随机矩阵HHT,从而改善极限学习机不稳定,并引出核极限学习机(KELM)。

核矩阵的计算公式见式(4)。

式中:h(x)为KELM隐含层输出函数;K(xi,xj)为核函数。

KELM模型的输出变为式(5)。

式中:I为对角矩阵;C为惩罚因子。

KELM通过引入核函数理论,得到β矩阵的确定值,从而提高极限学习机的可靠性。在KELM模型中,核参数σ和惩罚因子C是影响算法精度的关键因素,本研究采用改进粒子群算法进行优化处理。

2 改进粒子群算法

在粒子群算法(PSO)中,粒子位置和速度是算法的核心要素,速度为粒子下一步迭代时移动的方向和距离,位置为所求解问题的一个解。粒子速度和位置的更新公式见式(6)。

式中:i为种群的粒子;d为粒子的维度;k为算法的迭代次数;ω为惯性权重值;c1、c2为粒子学习因子;r1、r2为[0,1]内的随机数。

通过分析PSO算法的原理和存在的问题,发现国内外学者对权值、学习因子和学习策略等进行改进。本研究选取标准的PSO算法和5种经典的改进PSO算法进行对比研究。

2.1 线性权值下降粒子群算法

在粒子速度更新原理不变的基础上,采用线性权值下降粒子群算法(LDIW-PSO)来改进惯性权重参数,从而实现权值的线性下降,权值ω的计算公式见式(7)[13]。

式中:ωmax为最大惯性权值;ωmin为最小惯性权值;k为迭代次数;kmax为最大迭代次数。

LDIW-PSO可对权值实现实时调整,从而保证粒子在全局和局部中都有更加出色的搜索能力。

2.2 自适应权重调整粒子群算法

自适应权重调整粒子群算法(APSO)是用惯性权重值改进的粒子群算法。为满足不同进化阶段的搜索需求,APSO对权重值进行调整,见式(8)。

式中:Fit为种群中粒子的适应度值。

改进后的粒子群算法可通过粒子适应度值和最小适应度值来调整ω值,使粒子群算法能更快更合理地找出最优解。

2.3 骨干粒子群优化算法

骨干粒子群优化算法(BBPSO)修改了粒子的学习策略。粒子位置更新方程见式(9)。

式中:xij(t+1)为粒子在t+1时刻位于i位置的j维分量;uij(t)和σij(t)分别为粒子个体最优值与群体最优值的均值和标准差;N(uij,σij)为高斯分布;Pbesti为粒子i个体的最优值;Gbest为群体最优值。其中,Pbesti和Gbest的更新公式见式(10)。

式中:f(x)为种群的适应度函数。

BBPSO通过高斯采样来处理均值和标准差,剔除不相关粒子,防止局部最优值对粒子更新产生不好的影响,从而提高粒子的寻优能力。

2.4 交叉亚种群混合粒子群算法

交叉亚种群混合粒子群算法(Breed-PSO)是一种交叉与亚种群相结合的混合粒子群优化算法。在每个维度中,子位置是通过交叉计算父代位置得到的,见式(11)。

式中:Pi为0到1之间的随机数;parent(x)为父代粒子的位置量;child(x)为子代粒子的位置量。

归一化父代粒子的速度矢量可得到子代粒子的速度矢量,见式(12)。

式中:parent(v)为父代粒子的速度量;child(v)为子代粒子的速度量。

交叉运算和子种群运算可增强种群粒子的寻优能力,避免陷入局部最优值,有利于实现最优值的求解。

2.5 综合学习粒子群算法

综合学习粒子群算法(CLPSO)是一种改进PSO的进化策略,这种新策略可防止过早收敛。粒子速度的更新公式见式(13)。

式中:c为粒子个体学习因子;pbest为粒子个体最佳值。CLPSO通过新的学习策略来防止粒子陷入局部值,提升算法搜索全局最优值的能力。

2.6 基于测试函数验证算法

本研究选取2个基准测试函数进行比较验证,测试函数分布图见图1。基于上述基准测试函数,为了便于比较不同算法的优异性,统一设置PSO算法和5种优化PSO算法的粒子种群数量为80、粒子维度为30,初步设定算法的惯性权重和学习因子的参数值,验证6种粒子群算法在2种基准测试函数下的迭代寻优结果(见图2)。

图1 测试函数分布图

图2 函数寻优结果

由图2可知,在函数求解过程中,CLPSO算法的结果较好,LDIW-PSO算法的收敛速度最快。为了实现随着迭代次数的增加而实时调整权重值,本研究采用线性递减惯性权重来优化CLPSO算法,见式(14)。

式中:ωmax和ωmin分别为最大和最小惯性权值;k为当前的迭代次数;kmax为种群中粒子能达到的迭代次数上限值。

通过对LDIW-PSO、CLPSO算法进行结合(以下简称“LCLPSO算法”),实现粒子群算法的完善与优化,在提高收敛速度的同时,可大幅增强粒子的寻优能力,选择一个多峰函数Alpine来验证LCLPSO算法的寻优能力(见图3)。

图3 LCLPSO与CLPSO对比图

由图3可知,在引入线性递减惯性权重后,CLPSO算法在迭代次数超过4 000次时,适应度值逐渐趋于停滞状态,难以继续寻优;而LCLPSO算法的寻优过程近似于线性递减,迭代次数达到4 000后,LCLPSO算法依然保持着较强的搜索能力,持续寻优,迭代次数达到10 000次时,得到最低的适应度值。

3 优化核极限学习机

由于KELM引入了核函数,对参数非常敏感,本研究通过L-CLPSO算法来优化KELM的核参数和惩罚因子,流程图如图4所示。

图4 L-CLPSO优化KELM的流程图

将KELM的故障检测准确率设置为PSO算法中的适用度函数,通过不断地迭代计算来求出全局最佳参数,得到最优的KELM模型,实现LCLPSO对KELM的优化处理,结果图5所示。

图5 LCLPSO优化KELM结果

4 结语

笔者通过研究KELM的基本原理,并分析6种不同类型的粒子群算法的优劣,采用CLPSO与LDIW-PSO算法相结合的方式,并用Aphere多峰函数来验证算法的结果,证明LCLPSO算法具有可取之处,最后用于改进KELM参数,实现参数的优化。

猜你喜欢
测试函数学习机权值
一种融合时间权值和用户行为序列的电影推荐模型
警惕平板学习机骗局
解信赖域子问题的多折线算法
一种基于精英选择和反向学习的分布估计算法
基于自适应选择的多策略粒子群算法
“机”关
具有收缩因子的自适应鸽群算法用于函数优化问题
财务风险跟踪评价方法初探
从学习机到上网本