APP下载

一种基于蚁狮优化的极限学习机

2019-08-14尹洪红杨晓文刘佳鸣

计算机应用与软件 2019年8期
关键词:学习机适应度种群

尹洪红 杨晓文 刘佳鸣 韩 燮

(中北大学大数据学院 山西 太原 030051)

0 引 言

ELM是2004年黄广斌等人[1]提出的,是一种单隐藏层前馈神经网络(Single-hidden-Layer Feedforward neural Networks, SLFNs)机器学习算法。其打破了神经网络学习速度缓慢的限制,训练速度快,泛化性能好,成功地应用于分类分割[2-3]、农业生产[4]、行业预测[5-6]等各个领域,成为了炙手可热的研究课题。但是由于ELM随机生成输入权值和隐含层偏置矩阵,训练得到的ELM模型不是最优的,影响到ELM的泛化性能与稳定性。唯有增设更多的隐含层节点才能保证分类精度,而增加隐含层节点的数目加剧时间的消耗。国内外学者针对这一情况进行研究,提出了许多改进算法[7-13]。近些年来,研究人员将智能优化算法[14]与ELM结合,对其进行改进。智能优化算法利用的种群中的多个个体进行并行寻优的能力,可以提高参数的寻优效率,其对初始值不敏感等优势,成为了优化的ELM参数的理想方法。现已存在的智能优化算法对ELM进行优化改进的方法主要包括:遗传算法(Genetic Algorithm, GA)[6]、粒子群优化算法(Particle Swarm Optimization, PSO)[8-10]、人工蜂群优化算法(Artificial Bee Colony Optimization, ABCO)[11]、差分进化算法(Differential Evolution, DE)[12-13]等。同样作为智能优化算法的蚁狮优化算法(Ant Lion Optimization, ALO),尽管2015年才被提出[15],国内外对其研究和应用相对较少,但在文献[15]中通过对单峰基准函数、多峰基准函数以及复合函数的大量实验,证明了ALO相较于其他算法具有更好的寻优性能。基于此,本文采用蚁狮优化算法对ELM中的输入权值与隐含层偏置两个参数进行优化改进,实验通过对UCI 数据集中的5类数据进行实例化分析验证,实验结果证明蚁狮优化算法优化ELM的分类模型具有更高的分类准确度。

1 相关技术

ALO是2015年新提出的一种智能优化算法[15],其模拟的是自然界中蚁狮捕食蚂蚁的行为活动。蚂蚁会受到蚁狮陷阱的影响,围绕蚁狮进行随机游走进而探索搜索空间,为确保种群的多样性与算法的寻优性能,蚂蚁还向蚁狮与精英蚁狮学习。蚁狮优化算法中有蚂蚁、蚁狮和精英蚁狮,初始化蚂蚁与蚁狮的位置与适应度值,位置是指定解决方案的相关参数,适应度值为每个解决方案的相关解。蚂蚁游走受边界限制与蚁狮陷阱的影响,当蚂蚁探索到相比于它围绕的蚁狮位置更优解时,蚁狮就会捕食蚂蚁,取代蚂蚁的位置,实现对解的更新操作,每一次迭代得到蚁狮中的最优解即为精英蚁狮,最终迭代完成得到全局最优解精英蚁狮。蚁狮优化算法中涉及的重要公式描述如下:

蚂蚁搜寻食物时进行随机游走的公式为:

X(t)=[0,cs(2r(t1)-1),cs(2r(t2)-1),…,cs(2r(tn)-1)]

(1)

式中:cs是计算累积和,n是最大迭代次数,r(t)是随机函数,表达式如下:

式中:t表示随机游走的步骤,rand是[0,1]区间内均匀分布生成的随机数。

蚂蚁的搜索空间是有边界的,为了保证蚂蚁在搜索空间内随机游走,蚂蚁的第i维变量在第t次迭代时的位置计算公式如下所示:

蚂蚁随机游走同时受到蚁狮陷阱的影响,其在选定的蚁狮周围的超球内运动,公式如下所示:

蚂蚁从步入蚁狮陷阱起,其随机游走的超球面的半径就会减少。因此,随着迭代次数增加自适应的减小c与d的值,公式如下所示,这样就能有效地提高收敛速度,寻求得到最优解。

式中:I是比率,具体参见文献[15]。

蚂蚁被蚁狮吃掉,即此时蚂蚁比蚁狮具有更好的目标位置,蚁狮需要更新到捕获蚂蚁的位置,以此获得更大机会来捕食新的蚂蚁,公式如下所示:

每一次迭代得到最佳蚁狮将被保存,并视其为精英蚁狮。在ALO算法迭代期间精英蚁狮能影响所有蚂蚁的活动。为降低算法陷入局部极值的概率,ALO算法通过轮盘赌选择和随机游走确定蚂蚁的位置,公式如下所示:

2 基于蚁狮优化的极限学习机

2.1 基本的极限学习机理论

极限学习机作为一种单隐层前馈神经网络,它的的结构包括输入层、一层隐含层和输出层,对于ELM模型描述如下:

任选M个样本构成数据集表达式如下:

{(xj,tj),j=1,2,…,M}

(10)

式中:xj=(xj1,xj2,…,xjn)T∈Rn,tj=(tj1,tj2,…,tjm)T∈Rm,则L个隐层节点的单隐层前馈神经网络的ELM可以表示为:

式中:wi=(wi1,wi2,…,win)T表示第i个隐层节点的输入权值,bi表示隐含层偏置;gi(wi·xj+bi)表示样本xj的第i个隐层节点的输出,其中g(·)代表激活函数, 本文中使用S型激活函数;βi表示第i个隐层节点的输出权值。

单隐层前馈神经网络的实际输出结果与期望输出结果tj可以无限接近, 表达式为:

(12)

式(12)可以转换成矩阵形式如下:

Hβ=T

(13)

式中:H代表隐层输出矩阵,具体表达式为:

输出权值矩阵β与期望输出矩阵T具体表达式为:

式中:m表示输出层维度大小,由具体的问题确定。

2.2 蚁狮优化极限学习机

为改进极限学习机,蚁狮优化算法需要对式(11)中的输入权值wi=(wi1,wi2,…,win)T以及隐含层偏置bi进行优化。ALO-ELM算法以数据集的分类准确度最大化作为优化的原则,相关的组合优化函数可以表示为:

蚁狮优化算法对极限学习机参数组合F(w,b)进行优化的实验步骤描述如下:

步骤一对UCI数据进行归一化处理,消除量纲差异。

步骤二将数据按比例分为训练数据集与测试数据集。

步骤三设置ALO-ELM模型参数,包括最大迭代次数Imax和种群规模N大小和隐含层节点数目L。

步骤四初始化种群,ALO-ELM模型中待优化的参数组合F(w,b)(输入权值矩阵与隐含层偏置)由每只蚂蚁与蚁狮表示,依据式(17)中的限制条件随机初始化蚂蚁与蚁狮种群。

步骤五分别计算ALO-ELM模型中每只蚂蚁与蚁狮的适应度值,这里适应度值表示UCI某一数据集分类准确度;然后将蚂蚁与蚁狮合并,并且按适应度值从大到小排序;最后将排在前的N个个体赋值给蚁狮种群,N个个体的蚁狮种群并行搜索。

步骤六对蚁狮种群按适应度值从大到小重新排序,并更新蚁狮精英。更新过程中执行式(8),即如果存在蚁狮种群的最优个体的适应度值优于蚁狮精英的适应度值,则用该蚁狮替换精英蚁狮,反之,则精英蚁狮保持不变。

步骤七判断ALO算法是否达到最大迭代次数Imax。如果是,就输出蚁狮精英对应的最优适应度值和ELM的待优化参数组合F(w,b),否则迭代次数加1,跳回步骤五继续循环迭代,直到达到最大迭代次数。

3 实验结果与分析

本文算法使用的数据来自UCI标准数据库[16]。实验是在处理器为Intel(R) Xeon(R) CUP E5-1603 v3 @ 2.8 GHz,内存为16 GB的DELL工作站上完成。

为了验证蚁狮优化算法优化的极限学习机分类的有效性和可行性,以UCI标准数据库中的5类数据集Diabetes、Iris、Wine、Seeds和Ecoli为实验数据进行分类验证实验。这5类UCI实验数据集详细信息描述如表1所示。

表1 实验数据集详细描述

可以看出,在实验过程中,将每类数据集分为两个非重叠的数据集:训练数据集和测试数据集,确定数据集的方法是均匀随机选取样本总数的80%作为训练数据集,其余的20%作为测试数据集。

本文将原始的极限学习机(ELM)、粒子群优化的极限学习机(PSO-ELM)、自适应差分进化优化的极限学习机(SaDE-ELM)与本文所提蚁狮优化的极限学习机(ALO-ELM)在5类分类数据集上进行对比实验,以此验证ALO-ELM的优越性。

为了便于不同算法之间的比较,将所有智能优化算法中涉及的种群大小N设置为80、最大迭代次数Imax设置为50。实验一开始为了确定每种算法针对不同数据集的隐含层节点数目,先将每类数据集分为两个非重叠的数据集:训练数据集和验证数据集。实验中通过使用验证数据集确定所有这些算法的合适数量的隐含层节点。当逐渐增加算法中隐含层节点的数目时,选择具有最高分类率的隐含层节点数。对于这4种算法,针对UCI的5类数据集分别进行20次实验,并记录20次实验的分类测试准确率的均值(mean)、标准差(std)、训练时间均值(time)和隐含层节点个数(L),最终结果如表2-表6所示。

表2 Diabetes分类结果对比

表3 Iris分类结果对比

表4 Wine分类结果对比

表5 Seeds分类结果对比

表6 Ecoli分类结果对比

为了便于观察,依据表2-表6中mean值绘制平均分类准确率柱状对比图,如图1所示。

图1 平均分类准确率柱状对比图

图1中每一数据类别上的四个矩形从左到右分别表示ELM、PSO-ELM、SaDE-ELM、ALO-ELM 20次实验的平均分类准确率。从图中可以看出,无论PSO-ELM、SaDE-ELM还是ALO-ELM,采用智能优化算法均提高了原始ELM的分类精度,足见智能优化算法的优势。同时相比于其他算法,ALO-ELM算法在这5类数据集上均获得了更高的分类准确率,显示出了更好的寻优能力。表2中显示ALO-ELM算法的训练时间相较于SaDE-ELM用时较小,与PSO-ELM相似。但ALO-ELM算法20次实验的标准偏差不是最优的,可能是蚁狮种群中出现适应度值较差的个体,蚂蚁围绕该蚁狮随机游走陷入局部极值,影响到算法每一次寻优结果。综合而言,蚁狮算法优化的极限学习机是有效可行的。

4 结 语

本文针对极限学习机随机生成输入权值与隐含层偏置矩阵存在的问题,首次将蚁狮优化算法应用到极限学习机参数优化上。通过蚁狮优化算法中种群的多个个体进行并行寻优的能力,蚂蚁向蚁狮与精英蚁狮学习确保种群的多样性,并使用轮盘赌选择降低算法陷入局部极值的概率,改进优化极限学习机的输入权值与隐含层偏置矩阵,得到一个分类精度更高模型。在UCI数据集进行分类实验,取得更好的分类结果。本文还存在一些后续工作有待研究,蚁狮种群中可能出现适应度值较差的个体,蚂蚁围绕该蚁狮随机游走会陷入局部极值,影响到算法每一次寻优结果,有待进一步改进蚁狮优化算法,提高算法的稳定性。

猜你喜欢

学习机适应度种群
改进的自适应复制、交叉和突变遗传算法
山西省发现刺五加种群分布
“机”关
基于随机权重粒子群优化极限学习机的土壤湿度预测
“最大持续产量”原理分析
由种群增长率反向分析种群数量的变化
基于改进极限学习机的光谱定量建模方法
启发式搜索算法进行乐曲编辑的基本原理分析
基于人群搜索算法的上市公司的Z—Score模型财务预警研究
种群增长率与增长速率的区别