第45卷第1期2013年3月郑州大学学报(理学版)J.ZhengzhouUniv.(Nat.Sci.Ed.)
Vol.45No.1Mar.2013
一种基于粒子群优化的极限学习机
王
杰,毕浩洋
河南郑州450001)
(郑州大学电气工程学院
ELM具有速摘要:极限学习机(ELM)是一种新型的前馈神经网络,相比于传统的单隐含层前馈神经网络(SLFN),ELM通常需要较多隐含层节点才能达到理想精度.粒子群极度快、误差小的优点.由于随机给定输入权值和偏差,PSO)选择最优的输入权值矩阵和隐含层偏差,限学习机算法为使用粒子群算法(particleswarmoptimization,从而计相比于ELM算法和传统神经网络算法,粒子群极限学习机算法算出输出权值矩阵.一维Sinc函数拟合实验表明,依靠较少的隐含层节点能够获得较高精度.关键词:粒子群;极限学习机;隐含层节点中图分类号:TP183
文献标志码:A
文章编号:1671-6841(2013)01-0100-05
DOI:10.3969/j.issn/1671-6841.2013.01.024
0引言
传统的基于梯度下降算法神经网络(如BP神经网络)已经被广泛应用于多层前馈神经网络的训练
[1]中,但是该网络学习速度慢、容易陷入局部最优解以及在不同的应用场合参数调整复杂.Huang等人在2004年提出了一种新型的前馈神经网络[2],即极限学习机(ELM).在ELM中,输入权值
ELM输出权值矩阵利用广义逆(MP)计算得到.相比传统前馈神经网络,和隐含层偏差被随机初始化给定,
[3-4]
,学习速度更快、精度更高、参数调整简单,已经得到了不少学者的关注研究但是在实际应用过程中,为
ELM通常需要大量的隐含层节点.了达到理想的误差精度,
[5-6]
粒子群算法由Kennedy和Eberhart在1995年提出,该算法模拟鸟集群飞行觅食的行为,鸟之间通过
是一种基于群体智能的优化方法.鸟类捕食最优策略就是搜索目前离食物集体的协作使群体达到最优目的,
最近的鸟的周围区域.在粒子群优化算法中,每个待优化的问题的解都是搜索空间中的一个粒子.每个粒子每个粒子同时对应一个速度,速度决定粒子的移动方向和距离,粒子群就在对应一个适应度(fitnessvalue),
解空间中搜索最优粒子.粒子群优化算法因为其算法规则简单、收敛速度快、可调参数少、寻优能力强,已经
[7-9]
.在神经网络优化方面得到了广泛的应用
本文提出了粒子群极限学习机算法,利用粒子群优化算法优化选择极限学习机的输入层权值和隐含层
偏差,从而计算出输出权值矩阵.通过与其他算法比较,验证了粒子群极限学习机在隐含层节点数目以及网络泛化性上的优势.
1极限学习机(ELM)
TnTm
yi),xi1,xi2,…,xin]yi=[yil,yi2,…,yim]对于N个任意的各不相同的样本(xi,其中xi=[∈R,∈R,
则一个具有L个隐层节点,激励函数为g(x)的前馈神经网络的输出可以表示为
L
fL(x)=
βiG(ai·xi∑i=1
m
+bi),xi∈Rn,ai∈Rn,βi∈R,(1)
收稿日期:20120927
基金项目:国家自然科学基金资助项目,编号60905039/F030507.
mail:wj@zzu.edu.cn;通讯作者:毕浩洋作者简介:王杰(1959-),男,博士生导师,教授,主要从事模式识别与智能控制研究,E-(1988-),mail:bi_haoyang@163.com.男,硕士研究生,主要从事模式识别与智能控制研究,E-
第1期
王杰,等:一种基于粒子群优化的极限学习机
101
T
ai=[ai1,ai2,…,ain],bi是第i个隐藏层节点的偏差其中,是输入层到第i个隐含层节点的输入权值,T
(bias);βi=[…,βi1,βi2,βim]是连接第i个隐藏层结点的输出权值;ai·xi表示向量ai和xi的内积.其中
“Sigmoid”,“Sine”“RBF”激励函数g(x)可以选择为或等.
bi,如果这个具有L个隐含层结点的前馈神经网络能以零误差逼近这N个样本,则存在ai,βi使
L
fL(x)=
(2)式可以简化为
βiG(ai·xi∑i=1
+bi)=yi,i=1,2,…,L,
(2)
Hβ=Y,(3)
H被称作网络的隐含层输出矩阵,在极限学习机算法中,输出权值和偏差可以随机给定,隐层矩阵H就变成一个确定的矩阵,这样前馈神经网络的训练就可以转化成一个求解输出权值矩阵的最小二乘解的问题,只需要求出输入权值的最小二乘解就能完成网络的训练,输出权值矩阵β可由(4)式得到
~+
β=HY,
penrose广义逆.其中H表示隐含层输出矩阵H的Moore-+
(4)
2粒子群优化算法(PSO)
PSO中,.所有的粒子都有一个由适应度函每个优化问题的解都是搜索空间中的一只鸟,称之为“粒子”
每个粒子被赋予记忆功能,能记住所搜寻到的最佳位置,并且每个粒子还有一个速度决定数决定的适应值,
它们飞翔的方向和距离,然后粒子们就追随当前的最优粒子在解空间中搜索.搜索的过程为在每一次迭代“极值”中,粒子通过跟踪两个来更新自己.一个就是粒子本身所找到的最优解,这个解叫做个体极值pBest,另一个极值是整个种群目前找到的最优解,这个极值是全局极值gBest.
X2,…,Xn),在D维空间中,由n个粒子组成的种群X=(X1,其中第i个粒子的位置为Xi=(xi1,xi2,…,xiD)T.将Xi带入适应度函数f(Xi)中计算出适应度值粒子位置Fitnessi.第i个粒子的速度为Vi=(vi1,vi2,…,viD)T,Pi2,…,PiD)T,种群的全局极值为Pg=其中粒子i的个体极值为Pi=(Pi1,(Pg1,Pg2,…,PgD)T.
在迭代寻优过程中,粒子通过个体极值和全局极值更新自身的速度和位置,即
+1kkkkVk=ωVkidid+c1r1(Pid-Xid)+c2r2(Pgd-Xid),
Xid=Xid+Vid,
(5)(6)
d=1,2,…,D,i=1,2,…,n.其中D为待优化问题的维数,n式中,ω为惯性权重,调节对解空间的搜索范围,k为当前迭代次数,Vid为粒子速度,c1,c2(非负常数)为加速度因子,r1,r2为为种群大小,通常取c1=c2=2,1),两个随机数,取值范围为(0,以增加搜索随机性.为了防止粒子盲目搜索,一般将位置和速度在[-Xmax,Xmax]、[-Vmax,Vmax].
3粒子群极限学习机(PSOELM)
由于ELM随机给定输入权值矩阵和隐含层偏差,由式(1)~(4)可知输出权值矩阵是由输入权值矩阵可能会存在一些输入权值矩阵和隐含层偏差为0,即部分隐含层节点是无效的.和隐含层偏差计算得到的,
ELM需要大量的隐含层节点才能达到理想的精度.并且ELM对未在训练集中出现因此在某些实际应用中,
的样本反应能力较差,即泛化能力不足.针对以上问题本文提出了一种粒子群极限学习机算法,利用粒子群优化和极限学习机网络相结合的学习算法,即利用粒子群优化算法优化选择极限学习机的输入层权值和隐含层偏差,从而得到一个最优的网络.训练步骤如下所示:
1)产生种群.粒子数popsize一般设置为20~40个,对于某些复杂问题可以设置100~200个,种群中的
k为隐含层节点数目,n个体即粒子是由输入权值矩阵和隐含层偏差构成,粒子长度为D=k·(n+1),其中,
102
郑州大学学报(理学版)第45卷
mmmmmmmmmm
…,…,…,…,…,bm,为输入层神经元数目,即输入向量的维数.θ=[ω11,ω12,ω12,ω21,ω22,ω2k,ωn1,ωn2,ωnK,1mm
bm,…,bm],bmXmax]其中,θ为种群中的第m(1≤m≤popsize)个粒子;ωij、为[-Xmax,中的随机数.一般Xmax=1.2kj
2)对于种群中的每个个体(输入层权值矩阵和隐含层偏差),利用ELM算法(其中网络的隐含层激活函
利用训练样本计算出初始化种数选取应用最普遍的sigmoid函数)即式(1)~(4)可以计算出输出权值矩阵,
1
群的每个个体的均方根误差(RMSE),将RMSE作为粒子群优化算法的适应度.计算种群中的第1个粒子θ
1
的适应度值Fitness_1,令最优适应度值Fitness_best=Fitness_1;并将θ作为pBest;然后执行以下伪代码.
Step1
{
For(1<i≤popsize)
i
计算θ的适应度值Fitness_i;IfFitness_i>Fitness_best
则pBest(i)=θ
Fitness_best=Fitness_iElse}
令Fitness_best对应的粒子θ为全局极值gBest.Step2For(1≤i≤itera)itera为最大迭代次数
{
由(5)~(6)更新粒子速度和位置;If满足约束条件或者i>iteraBreakElse}
3)执行以上伪代码可以得到最优适应度所对应的粒子即输入权值矩阵和隐含层偏差,利用ELM算法可以求得输出权值矩阵.
跳转到step1pBest(i)=θi-1
i
4仿真实验
为了测试PSOELM的效果,本文做了一维Sinc函数拟合实验,通过与基于LM算法的BP神经网络(LMBP)、ELM、支持向量机(SVM)3种网络进行比较来测试PSOELM的效果.
Sinc函数表达式为
sinx
,x≠0xf(x)=.0,x=0
f(xi)},10]0.2]选取5000个数据集{xi,其中xi服从[-10,的均匀分布;产生一组[-0.2,的均匀分布
f(xi)+ζi}.同时选取5000个测试样本集为{xi,f(xi)},10]的噪音ζi,则训练样本集为{xi,其中xi为[-10,的等间隔采样.
2,…,7,将PSOELM的隐含层节点设置为10个,进化代数分别选择i=1,考虑到测试结果的波动,每次
试验做了20组求取平均值(下同),测试PSOELM的RMSE,测试结果如表1所示;设置PSOELM的最大迭代次数为5,将ELM与PSOELM的隐含层节点数目逐渐增加,测试它们的RMSE.测试效果如表2所示.
从表1中可知,当隐含层节点固定时,随着迭代次数的增加,训练时间也逐渐增加,训练误差和测试误差PSOELM则减小.当迭代次数达到一定值时,测试误差减小变缓.由表2可以看出,随着隐含层节点的增加,与ELM的RMSE都逐渐减小,当隐含层节点为20个时PSOELM效果达到最佳,而ELM当隐含层节点数目ELM算但是仍然没有PSOELM效果好.当隐含层节点数目增加到1000个时,增加到100个时才逐渐稳定,法得到的RMSE为0.0081,误差变化不大,考虑到PSOELM的学习时间较长,没有对其做测试.综合表1、表2,Sinc函数的拟合曲线如图1所示.设隐含层设置PSOELM的最大迭代次数为5,隐含层节点数目为20,
{第1期
王杰,等:一种基于粒子群优化的极限学习机
表1
迭代次数对PSOELM的影响
103
Tab.1
最大迭代次数
1234567
TheimpactoftheiterationnumbertoPSOELM
训练误差0.11920.11650.110.11510.11490.11420.1130
测试误差0.03310.02240.01820.01730.01470.01420.0140
训练时间/s2.51563.31254.50005.59386.82818.04699.1875表2
Tab.2
隐含层节点对ELM与PSOELM影响
训练误差
ELM0.27910.11990.11980.11390.11380.11380.11380.1138
PSOELM0.11490.11580.11370.11370.11360.11360.1136~
ELM0.25320.03910.03880.00880.00840.00820.00820.0081
测试误差
PSOELM0.01470.01960.000.00620.00620.00620.0062~
TheimpactofhiddenlayernodestoELMandPSOELM
隐含层节点数目5101520501001501000
训练时间/s
ELMPSOELM00.03130.04250.06690.21880.56250.968839.6094
6.82816.656310.265614.703145.0469140.9063256.1719
~
ELM、SVM和LMBP在本实验中的性能对比,在表3中,本文给出了PSOELM、其中PSOELM隐含层节点
ELM隐含层节点选择为100个,.SVM采设置为20个,最大迭代次数设置为5,隐含层激活函数为‘sigmoid’
[10]
SVM的参数采用交叉验证来完成,LMBP采用matlab自带的神经网络工具箱函数来进用libsvm工具包,
4种算法的性能对比如表3所示.行训练,
PSOELM与SVM的误差最低,从表3中可以看出,针对一维Sinc函数拟合实验,泛化性能最好.PSOELM
只需要20个隐含层节点就能达到比需要100个隐含层节点的ELM更好的效果.
表3
Tab.3算法PSOELMELMSVMLMBP
4种算法性能比较
Fouralgorithmsperformancecomparison训练时间/s14.70310.56259.796936
训练误差0.11370.11380.11300.0001
测试误差0.00620.00820.000.0091
图1
Fig.1
PSOELM拟合Sinc函数
TheapproximationcurvesoftheSincfunction
104
郑州大学学报(理学版)第45卷
5结论
本文提出了一种基于粒子群优化的极限学习机算法,采用ELM的学习算法,利用最小二乘法快速求解输出权值矩阵而不是利用迭代调整的算法;同时采用PSO算法优化输入权值矩阵和隐含层偏差;该算法综合了ELM和PSO的优点:参数调整简单、全局最优性、泛化能力强.并给出了该算法的详细步骤.仿真实验结果表明,该算法只需要较少的隐含层节点就能取得较好的效果.
参考文献:
[1]刘天舒.BP神经网络的改进研究及应用[D].东北农业大学,2011.
[2]HuangGuangbin,ZhuQinyu,SiewCheekheong.Extremelearningmachine:theoryandapplications[J].Neurocomputing,
2006,70(1/2/3):4-501.
[3]DengW,ChenL.Colorimagewatermarkingusingregularizedextremelearningmachine[J].NeuralNetworkWorld,2010,20
(3):317-330.
[4]ZongWeiwei,HuangGuangbin.Facerecognitionbasedonextremelearningmachine[J].Neurocomputing,2011,74(16):2541
-2551.
[5]KennedyJ,EberhartR.Particleswarmoptimization[C]//ProceedingsofIEEEInternationalConferenceonNeuralNetworks.
1995:1942-1948.Piscataway,
[6]EberhartR,KennedyJ.Anewoptimizerusingparticleswarmtheory[C]//ProcoftheSixthInternationalSymposiumonMicro
MachineandHumanScience.Nagoya,1995:39-43.
[7]冯冬青,J].郑州大学学报:理学版,2011,43(3):113-117.杨书显.氧乐果合成过程的PSO回归BP网络建模方法[[8]严晓明,J].广西师范大学学报:自然科学版,2011,29(2):115-118.郑之.基于混合仿生算法的SVM参数优化[[9]徐海龙,J].控制与决策,2010,25(3):368-377.王晓丹,廖勇,等.一种基于PSO的RBF-SVM模型优化新方法[[10]ChihChungChang,ChihJenLin.LIBSVM:alibraryforsupportvectormachines[EB/OL].[2012-11-16]http://www.
csie.ntu.edu.tw/~cjlin/libsvm.
ANewExtremeLearningMachineOptimizedbyPSO
WANGJie,BIHao-yang
(SchoolofElectricalEngineering,ZhengzhouUniversity,Zhengzhou450001,China)
Abstract:Extremelearningmachine(ELM)wasanewtypeoffeedforwardneuralnetwork.Comparedwithtraditionalsinglehiddenlayerfeedforwardneuralnetworks,ELMpossessedhighertrainingspeedandsmallererror.Duetorandominputweightsandhiddenbiases,ELMmightneednumeroushiddenneu-ronstoachieveareasonableaccuracy.AnewELMlearningalgorithm,whichwasoptimizedbytheparti-cleswarmoptimization(PSO),wasproposed.PSOalgorithmwasusedtoselecttheinputweightsandbi-asofhiddenlayer,thentheoutputweightscouldbecalculated.Totestthevalidityofproposedmethod,twosimulationexperimentsweredrawnontheapproximationcurvesoftheSincfunction.Experimentalre-sultsshowedthattheproposedalgorithmachievedbetterperformancewithlesshiddenneuronsthanothersimilarmethods.
Keywords:particleswarmoptimization;extremelearningmachine;hiddenneurons